Domov / Sociálne médiá / Prístup k tabuľkovej časti 1s 8. Ako získať údaje z tabuľkovej časti dokumentov? Ako získať a obísť vybrané riadky tabuľkovej časti

Prístup k tabuľkovej časti 1s 8. Ako získať údaje z tabuľkovej časti dokumentov? Ako získať a obísť vybrané riadky tabuľkovej časti

Tabuľkové časti existujú pre mnoho objektov v 1C:

  • Referenčná literatúra
  • Dokumentácia
  • Správy a spracovanie
  • Účtovné osnovy
  • Plány typov charakteristík
  • Plány typu výpočtu
  • Obchodné procesy a úlohy

Tabuľkové časti umožňujú uložiť neobmedzené množstvo štruktúrovaných informácií patriacich k jednému objektu.

Pozrime sa na niektoré metódy práce s tabuľkovými časťami.

Ako obísť tabuľkovú časť

Na prechádzanie tabuľkovou časťou môžete použiť slučku Pre každý

Pre každý riadok zo slučky TabularPart

Report(String.TablePartAttribute) ;

EndCycle ;

Pri každej iterácii do premennej Linka prenesie sa ďalší riadok tabuľkovej časti. Hodnoty atribútov reťazca možno získať výrazom String.AttributeName.

Ako získať a obísť vybrané riadky tabuľkovej časti

Element formulára slúži na zobrazenie informácií z tabuľkovej časti objektu. pole tabuľky. Ak chcete povoliť možnosť výberu viacerých riadkov v poli tabuľky, musíte nastaviť hodnotu Viacnásobné na jeho majetku Režim výberu.

Ak chcete získať zoznam vybraných riadkov, použite nasledujúci kód:

Slučka sa používa na iteráciu cez vybrané riadky Pre každý:

SelectedLines = FormElements. TableFieldName. Vybrané linky;

Pre každý riadok z vybraných riadkov slučka

//obsah slučky

EndCycle ;

Ako programovo vybrať riadky tabuľkovej časti (pole tabuľky) a odstrániť výber

Ak chcete programovo zrušiť výber riadkov v poli tabuľky:

ElementsForm. TableFieldName. SelectedStrings. Jasný() ;

Ak chcete programovo vybrať všetky riadky v poli tabuľky:

Pre každý CurrentRow From TabularPart Loop
ElementsForm. TableFieldName. Vybrané linky. Add(CurrentRow) ;
EndCycle ;

Ako vyčistiť tabuľku

TabularPart. Jasný() ;

Ako získať aktuálny riadok tabuľkovej sekcie

Aktuálny riadok je obdobie, v ktorom má používateľ tento moment kurzor sa nachádza. Ak ho chcete získať, musíte sa obrátiť na ovládací prvok vo formulári, ktorý je spojený s tabuľkovou časťou.

Pre bežné formuláre by kód vyzeral takto:

ElementsForm. TableFieldName. CurrentData;

Pre spravované formuláre:

Prvky. TableFieldName. CurrentData;

Ako pridať nový riadok do tabuľky

Pridanie nového riadku na koniec tabuľkovej časti:

NewRow = TablePart. Add() ;

Pridanie nového riadku kdekoľvek v tabuľkovej časti (nasledujúce riadky budú posunuté):

NewRow = TablePart. Vložiť (index)
//Index - číslo pridaného riadku. Číslovanie riadkov začína od nuly.

Nový riadok. Atribút1 = "Hodnota" ;

Ako programovo vyplniť podrobnosti o riadku tabuľky

Ak potrebujete programovo vyplniť podrobnosti o riadku tabuľkovej sekcie, ktorú používateľ pridá, musíte použiť obsluhu udalosti tabuľkovej sekcie AtStartEditing.

Procedúra vytvorená obsluhou má tri parametre:

  • Element- obsahuje ovládanie TableField.
  • Nový riadok- boolovský. Obsahuje hodnotu Pravda ak sa pridá Nový riadok tabuľková časť a lož, ak používateľ začal upravovať už existujúci riadok.
  • kopírovanie- boolovský. Obsahuje hodnotu Pravda ak používateľ kopíruje reťazec, a Klamať v iných prípadoch.

Zvážte príklad. Povedzme, že potrebujeme vyplniť podrobnosti tabuľkovej časti ÚčetÚčet, v prípade, že sa pridá nový riadok. Pri úprave existujúceho riadka nemusíte meniť účet hlavnej knihy.

Postup TabularPartAt EditingStart(Element, NewRow, Copy)

//Ak používateľ upravuje existujúci riadok, nerobte nič
Ak NIE JE NewString Then
Návrat;
Koniec Ak ;

//Ak je reťazec nový, nastavte účet
TextString = Prvok. CurrentData; //Prijatý aktuálny riadok tabuľkovej sekcie
TekString. AccountAccount = Účtovná osnova. Samonosné. Požadovaný účet;
EndProcedure

Aby sa zohľadnili peniaze a tovar, v podnikaní sa široko používajú rôzne tabuľky. Takmer každý dokument je tabuľka.

V jednej tabuľke je uvedený tovar na odoslanie zo skladu. V ďalšej tabuľke - povinnosť platiť za tento tovar.

Preto v 1C práca s tabuľkami zaujíma popredné miesto.

Tabuľky v 1C sa tiež nazývajú "časti stola". Majú ich referenčné knihy, dokumenty a iné.

Dotaz vráti tabuľku ako výsledok svojho vykonania, ku ktorej je možné pristupovať dvoma rôznymi spôsobmi.

Prvý - rýchlejší - výber, získavanie riadkov z neho je možné len v poradí. Druhým je vyloženie výsledku dotazu do tabuľky hodnôt a následný náhodný prístup k nemu.

//Možnosť 1 - sekvenčný prístup k výsledkom dotazu

// získam tabuľku
Selection = Query.Execute().Select();
// obísť všetky riadky výsledku dotazu v poradí
Kým Selection.Next() Slučka
Report(Selection.Name);
EndCycle;

//Možnosť 2 - nahrávanie do tabuľky hodnôt
Query = New Query("SELECT Name FROM Directory.Nomenclature");
// získam tabuľku
Tabuľka = Query.Execute().Upload().
// potom môžeme obísť aj všetky riadky
Pre každý riadok zo slučky tabuľky
Report(String.Name);
EndCycle;
//alebo ľubovoľný prístup k reťazcom
String = Table.Find("Lopata", "Nazov");

Dôležitou vlastnosťou je, že v tabuľke, ktorá sa získa z výsledku dotazu, budú všetky stĺpce silne napísané. To znamená, že vyžiadaním poľa Názov z vyhľadávania nomenklatúry získate stĺpec typu String s povolenou dĺžkou najviac N znakov.

Tabuľka vo formulári (hrubý klient)

Používateľ pracuje s tabuľkou, keď je umiestnená na formulári.

Základné princípy práce s formulármi sme rozoberali na hodine a na hodine

Položme teda tabuľku na formulár. Ak to chcete urobiť, môžete tabuľku presunúť z ovládacieho panela. Podobne môžete z ponuky vybrať ovládací prvok Formulár/Vložiť.

Dáta môžu byť uložené v konfigurácii - potom musíte vybrať existujúci (predtým pridaný) tabuľková časť konfiguračný objekt, ktorého formulár upravujete.

Kliknite na tlačidlo "..." vo vlastnosti Data. Aby ste videli zoznam tabuľkových častí, musíte rozbaliť vetvu Object.

Pri výbere tabuľkovej časti sám 1C pridá stĺpce do tabuľky vo formulári. Reťazce zadané používateľom do takejto tabuľky sa automaticky uložia spolu s adresárom/dokumentom.

V rovnakej vlastnosti Data môžete zadať ľubovoľný názov a vybrať typ ValueTable.

To znamená, že bola vybratá ľubovoľná tabuľka hodnôt. Nebude automaticky pridávať stĺpce, nebude sa automaticky ukladať, ale môžete si s ním robiť, čo chcete.

Kliknutím pravým tlačidlom myši na tabuľku môžete pridať stĺpec. Vo vlastnostiach stĺpca môžete zadať jeho názov (pre referenciu v kóde 1C), záhlavie stĺpca vo formulári, spojenie s atribútom tabuľkovej časti (druhá - ak nie je vybratá ľubovoľná tabuľka, ale tabuľková časť).

Vo vlastnostiach tabuľky vo formulári môžete určiť, či môže používateľ pridávať/odstraňovať riadky. Pokročilejším formulárom je začiarkavacie políčko ViewOnly. Tieto vlastnosti sú užitočné na organizovanie tabuliek určených na zobrazovanie informácií, ale nie na úpravu.

Ak chcete spravovať tabuľku, musíte vo formulári zobraziť panel príkazov. Vyberte položku ponuky Formulár/Vložiť ovládací/Príkazový panel.

Vo vlastnostiach panela príkazov začiarknite políčko Automatické dokončovanie, aby sa tlačidlá na paneli nástrojov zobrazovali automaticky.

Tabuľka vo formulári (tenký/spravovaný klient)

Zapnuté riadená forma tieto akcie vyzerajú trochu inak. Ak potrebujete do formulára umiestniť tabuľkovú sekciu, rozbaľte vetvu Objekt a potiahnite jednu z tabuľkových sekcií doľava. A je to!

Ak potrebujete umiestniť tabuľku hodnôt, pridajte nové rekvizity formulár a v jeho vlastnostiach špecifikovať typ - tabuľku hodnôt.

Pre pridanie stĺpcov použite menu pravého tlačidla myši na tomto atribúte formulára, položka Pridať stĺpec atribútu.

Potom tiež potiahnite tabuľku doľava.

Aby tabuľka mala panel príkazov, vo vlastnostiach tabuľky vyberte hodnoty v časti Použitie - Umiestnenie panela príkazov.

Export tabuľky do Excelu

Akúkoľvek tabuľku 1C umiestnenú vo formulári je možné vytlačiť alebo nahrať do Excelu.

Ak to chcete urobiť, kliknite pravým tlačidlom myši na voľné miesto v tabuľke a vyberte možnosť Zobraziť zoznam.

V spravovanom (tenkom) klientovi je možné podobné akcie vykonávať pomocou položky ponuky Všetky akcie/Zobraziť zoznam.

Domov pre začínajúcich vývojárov Naučte sa programovať

Ako získať údaje z tabuľkovej časti dokumentov?

Predstavte si napríklad situáciu, keď chcete získať všetky skladové položky špecifikované v tabuľkovej časti Tovar Dokumenty Realizácia tovarov a služieb.

Ak to chcete urobiť, môžete použiť dotaz s nasledujúcim textom:

VYBERTE SI INÉ Realizácia tovaru služieb Tovar.Nomenklatúra AS Nomenklatúra Z dokumentu Realizácia tovaru služieb Tovar AS Realizácia tovaru služieb Tovar

Ako zdroj uvádzame tabuľkovú časť dokumentov – tabuľku Dokument.Predaj tovaruSlužby.Tovar. Deklarujte pole ako výstupné pole Nomenklatúra A, ktorá je súčasťou zdrojovej tabuľky. Okrem toho, keďže tá istá komoditná položka, samozrejme, môže byť v dokumentoch prítomná viackrát, uplatňujeme RÔZNY získať iba odlišné riadky vo výstupnej tabuľke dotazu.

Vytvorme si napríklad spracovanie Zoznam produktov kde je vybraný dokument Realizácia tovarov a služieb a kliknutím na príslušné tlačidlo sa v okne správy zobrazí zoznam neopakujúcich sa položiek nomenklatúry obsiahnutých v tabuľkovej časti tohto dokumentu.

Aby sme výber nomenklatúry obmedzili len na nomenklatúru z tabuľkovej časti konkrétneho dokumentu, používame parameter Link v stave v žiadosti ( KDE...):

VYBERTE ODLIŠNÉ Realizácia Tovaru Služby Tovar Nomenklatúra AS Nomenklatúra Z Dokumentu Realizácia Tovaru Služby Tovar AS Realizácia Tovaru Služby Tovar KDE Realizácia Tovaru Služby Tovar Odkaz = & Link