1s Formulár výberu editačných parametrov SKD. Funkcie vytvárania prehľadov (1Cv8). Ako pridať parameter, ktorý nie je možné upravovať používateľom

Funkcie vytvárania zostáv v 1C v8 v režime hrubého klienta

Ako si vybrať možnosť?

  • Umiestnite tlačidlo „Vybrať možnosť“ na panel prehľadu
  • Do formulára umiestnite pole „OnDate“.

Vzorový kód: ProcedureFormActionSelectOption(Button) rozloženie = GetLayout("MainDataLayoutScheme"); spOptions = Nový zoznam hodnôt; Pre každú možnosť z layout.OptionsSettings Loop spOptions.Add(option.Settings, option.View); EndCycle;

výber = cnOptions.SelectItem(); Ak voľba = nedefinované, potom sa vráťte; koniec Ak;

SettingsComposer.LoadSettings(selection.Value);

Generate(); Koniec procedúry

Procedure OnDateOnChange(Element) Generate(); Koniec procedúry

Procedure Generate()FormElements.Result.Clear(); Nastavenia Composer.Settings.DataParameters.SetParameterValue("Period", ToDate); ComposeResult(FormElements.Result); Koniec procedúry

Postup pri Opening() OnDate = CurrentDate(); Generate(); Koniec procedúry

Funkcie vytvárania správ prostredníctvom systému kontroly prístupu

Vytvorenie prehľadu krok za krokom

  1. Vytvorte zostavu v uzle Prehľady
  2. Vytvorte rozloženie v zostave, ktorej typ je Schéma rozloženia údajov
  3. Vo vlastnostiach zostavy nastavte: Základná schéma rozloženia údajov = Vytvorené rozloženie
  4. Vo vlastnostiach zostavy nastavte podsystém, do ktorého patrí (zostava v Enterprise sa zobrazí v hornom navigačnom paneli)
  5. Vytvorte dotaz v rozložení (položka: Pridať množinu údajov - Dopyt)
  6. V záložke Možnosti pre Rozloženie je potrebné odškrtnúť všetky riadky v stĺpci Obmedzenie dostupnosti – t.j. všetky parametre budú k dispozícii na úpravu používateľom
  7. Na karte Nastavenia rozloženia v okne, kde je zobrazený uzol Výkaz, musíte vytvoriť nové zoskupenie bez zadania poľa zoskupenia - vytvorí sa podrobný riadok
  8. Na karte Nastavenia rozloženia vyberte v okne, kde je zobrazená ďalšia skupina záložiek, ďalšie. Záložka Parametre - označte všetky parametre zaškrtnutím a pri každom parametri kliknite na prvok Vlastnosti prvku užívateľské nastavenia, otvorí sa okno nastavenia parametrov, kde je potrebné zaškrtnúť políčko - Zahrnúť parameter do užívateľských nastavení
  9. Na karte Nastavenia rozloženia vyberte v okne, kde je zobrazená ďalšia skupina záložiek, ďalšie. Záložka SelectedFields - tam je potrebné pridať stĺpce, ktoré sa budú zobrazovať v zostave
  10. Spustite Enterprise, otvorte zostavu, nastavte hodnoty parametrov, Generovať (skontrolujte, či je vybratá možnosť Generovanie hlavnej zostavy)

Ako pridať parameter, ktorý nie je možné upravovať používateľom?

Napríklad musíme nastaviť parameter dopytu „Infobase“

  • Vo formulári rozloženia rozloženia na karte Možnosti zrušte začiarknutie políčok „Zahrnúť do dostupných polí“ a „Obmedziť dostupnosť“ pre požadovaný parameter.
  • Vo formulári rozloženia rozloženia na karte Nastavenia na podzáložke Parametre (v spodnej časti) zrušte začiarknutie požadovaného parametra, otvorte vlastnosti (tlačidlo s kľúčom) v tomto formulári:
    • Zrušte začiarknutie príznaku „Zahrnúť do používateľských nastavení“.
    • Nastavte režim úprav na „Nedostupné“


  • V module formulára zostavy v obslužnom programe udalosti "Pri načítavaní možnosti na serveri" (môžete tiež pri otvorení, ale NIE pri vytváraní na serveri, pretože sa vykoná PRED načítaním nastavení zostavy a nastavenia sa prepíšu) programovo nastavte parameter:

&Na serveri Postup pri načítavaní možnosti na serveri (Nastavenia)

//Nastavenie parametra Settings = Report.Settings Composer.Settings; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase); Koniec procedúry

Ako nastaviť možnosti prehľadu?

  • Vo formulári rozloženia rozloženia na karte Nastavenia v poli vľavo môžete vytvoriť potrebné možnosti zostavy

Ako nastaviť zoskupenia?

  • Vo formulári rozloženia rozloženia na karte Nastavenia v poli vpravo hore môžete vytvoriť potrebné zoskupenia

Ako programovo zobraziť zostavu?

V module formulára:

&Na procedúre klienta GenerateReportExecute()

ThisForm.ComposeResult();

Koniec procedúry

Ako otestovať správu?

Musíte urobiť:

  • Najpohodlnejší spôsob vytvorenia situácie v teste klienta je cez situačnú tabuľku
  • získajte formulár správy - formulár = GetForm("Report.Process Movement.Form.ReportForm");
  • načítajte požadovaný variant prehľadu - nastavte parameter rozšírenia formulára prehľadu "Kľúč variantu" (názov nastavenia v rozložení zostavy dát)
  • načítať požadované nastavenia prehľadu - ? vyplnenie parametra rozšírenia formulára prehľadu „UserSettings“ (typ „UserDataCompositionSettings“) nevyšlo, všetko je komplikované, pozri nižšie.
  • otvorený formulár - form.Open()
  • vykonať formáciu - form.ArrangeResult();
  • skontrolujte obsah formulára tabuľkového dokumentu. Výsledok – bolo by pekné mať porovnávacie funkcie s referenčným mxl
  • zavrieť formulár - formulár.Zavrieť(); - alebo ho možno nemusíte otvárať, musíte to skontrolovať

pozri tiež

  • Popis: Ponuka Pomocník/Asistent syntaxe/karta Obsah/Spravované objekty aplikačného rozhrania/Spravované rozšírenia formulára/Rozšírenie spravovaného formulára pre zostavu/Možnosti formulára

Ako načítať požadované nastavenia prehľadu?

Dokumentácia popisuje, že existuje takýto parameter na rozšírenie formulára zostavy „UserSettings“ typu „UserDataCompositionSettings“, ale je tam veľmi zložitá štruktúra objektov, nebolo možné ho použiť.

Skutočne fungujúca schéma:

1. Vytvorte parametre v správe

  • Typ obdobia StandardPeriod
  • Výber typu ValueList (štruktúra by bola lepšia, ale nie je v zozname typov parametrov, rovnako ako ľubovoľný typ)

2. Potrebné parametre odovzdáme procedúre GetForm:

obdobie = NewStandardPeriod; period.Option = StandardPeriodOption.CustomPeriod; obdobie.PočiatočnýDátum = aktuálnyDátum; obdobie.Dátum konca = zajtraDátum;

výber = Nový zoznam hodnôt; selection.Add(Testing.GetObject(stSituation, "BP1"), "BusinessProcess");

stParameters = New Structure("Kľúč variantu, Obdobie, Výber", "Hlavné", obdobie, výber); // OpenFormModal("Report.Process Movement.Form.ReportForm", stParameters); form = GetForm("Report.Process Movement.Form.ReportForm", stParameters);

3. Nastavte parametre v obslužných programoch udalostí formulára

Funkcia &OnServer spGet(spList, zobrazenie) Exportovať pre každý prvok Zo spList Slučka If element.View = view Then Return element.Value; koniec Ak; EndCycle; Return Undefined; EndFunction

&Na serveri Procedúra SetCustomSettingsValue(Settings, Name, Value) For Every Element From Settings.Elements Loop If TypeValue(element) = Type("DataCompositionSettingsParameterValue") Then If String(element.Parameter) = Name Then element.Value = Value; element.Use = True; koniec Ak; koniec Ak; EndCycle; Koniec procedúry

&Na serveri Procedúra SetCustomSelectionValue(Settings, Name, Value) For Every Element From Settings.Elements Loop If TypeValue(element) = Type("DataComposition Selection") Then For Every selection From element.Elements Loop If Row(selection.LeftValue) = Názov Potom výber .RightValue = Hodnota; výber.Použiť = Pravda; koniec Ak; EndCycle; koniec Ak; EndCycle; Koniec procedúry

&Na serveri Postup pri načítavaní možnosti na serveri (Nastavenia)

Name of the CurrentVariant = pohľad na CurrentVariant;

Nastavenia = Report.SettingsComposer.Settings; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase);

Koniec procedúry

&Procedúra na serveri pri načítavaní nastavení UserSettingsOnServer(Settings) = Report.Settings Linker.UserSettings;

<>"00010101" Potom Settings = Report.Settings Composer.UserSettings; SetCustomSettingValue(Nastavenia, "Obdobie", Parameters.Period); koniec Ak;

ssBusinessProcess = spGet(Parameters.Selection, "BusinessProcess"); Ak ssBusinessProcess<>Undefined Then SetCustomSelectionValue(Settings, "BusinessProcess", ssBusinessProcess); koniec Ak;

Koniec procedúry

Poznámky:

  • Existujú Data Parameters, teda to, čo sa nastavuje v parametroch požiadavky ACS
  • Niektoré z nich sú priradené v nastaveniach možností v používateľských nastaveniach (vo vlastnostiach parametra je príznak "Zahrnúť do používateľských nastavení"
  • Aj keď pri načítaní na server načítate potrebné hodnoty do parametrov údajov, otvorí sa formulár, do ktorého sa automaticky načítajú naposledy uložené nastavenia. Tieto nastavenia „prerušujú“ nastavenia údajov pri generovaní zostavy
  • V obslužnom programe WhenLoadingUserSettingsOnServer je odovzdaný objekt Settings kópia skutočné nastavenia, preto pre zmenu nastavení, ktoré sa zobrazujú vo formulári, je potrebné vyplniť objekt Report.Settings Composer.UserSettings

Ako vytvoriť viacero (zoznam) parametrov dotazu v ACS?

Dopyt musí používať výraz "V (&ParameterName)"(pozrite si boolovské výrazy v dopytovacom jazyku 1Cv8)

Pri nastavovaní rozloženia diagramu ACS na karte „Parametre“ musíte pre tento parameter začiarknuť políčko v stĺpci „Zoznam dostupných hodnôt“. V tomto prípade, keď vyberiete parameter, ACS zobrazí formulár na úpravu zoznamu, do ktorého môžete pridať ľubovoľnú hodnotu parametra.

Ako zakázať parametre dotazu v systéme riadenia prístupu?

V dotaze SKD musíte použiť konštrukcie ohraničené zloženými zátvorkami "{}" .

Ak nie je začiarknuté políčko pre príslušný parameter vo formulári správy (panel rýchlych nastavení), potom sa táto konštrukcia odstráni z požiadavky.

Pozrite si ďalšie podrobnosti. Rozšírenie dopytovacieho jazyka pre systém skladania údajov (1Cv8)

Ako vytvoriť prehľad s rozpätím stĺpcov?

Ak to chcete urobiť, pri nastavovaní možnosti zostavy (úprava rozloženia údajov, karta „Nastavenia“, pole vpravo hore), musíte ako prvé zoskupenie pridať „Tabuľka“.

Potom sa v uzle „Tabuľka“ objavia vetvy „Riadky“ a „Stĺpce“, kde sú pridané potrebné zoskupenia.

Ako nakonfigurovať výstupný formát poľa?

V editore rozloženia zostavy údajov sa na karte „Súbory údajov“ v pravej hornej časti nachádza zoznam polí zostavy.

Sú dve možnosti:

  1. Nastavte hodnotu stĺpca „Zobraziť výraz“.
    • tu môžete zadať jazykový výraz, ktorý vytvorí požadovaný reťazec
    • nefunguje s poliami zdrojov
  2. Nastavte hodnotu stĺpca "Design".
    • v dizajne je vlastnosť "Formát" - táto hodnota je podobná parametru jazykovej funkcie "Formát", môžete nastaviť požadovaný vzhľad
    • konverzia typu tu nie je možná

Pre polia zdrojov môžete zadať výrazy výpočtu (karta „Zdroje“) – napr.

Množstvo (čas)/3600,0

previesť z sekúnd na hodiny.

Požadovanú presnosť je možné nastaviť cez pole „Design“ na karte „Data Sets“.

Vlastnosti nastavenia parametrov pre systém zostavovania údajov

Existujú aspoň TRI typy parametrov a vyžadujú si rôzne spracovanie:

Možnosti údajov

Parametre údajov sú definované v požiadavke (zdroji údajov) systému riadenia prístupu.

Parametre údajov sa prenesú do požiadavky zdroja údajov a definujú údaje, ktoré sa majú získať.

Objekt Settings Composer má špeciálnu vlastnosť na prácu s dátovými parametrami Nastavenia Composer.Settings.DataOptions

Môžete to nastaviť pomocou hovoru ako

Nastavenia = Report.SettingsComposer.Settings; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase);

Výber

Výbery sa prekrývajú s prijatými údajmi po výpis zo zdroja údajov.

Objekt Settings Composer má špeciálnu vlastnosť na prácu s výbermi ComposerSettings.Settings.Selection.

Napríklad: Nastavenia = Report.SettingsComposer.Settings; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase);

Pre každý prvok From Parameters.Selection Cycle Selection Element = Settings.Selection.Elements.Add(Type("prvok výberu kompozície údajov")); Selection Element.Comparison Type = DataComposition Comparison Type.Equal; SelectionElement.LeftValue = NewDataCompositionField(element.View); SelectionElement.RightValue = prvok.Hodnota; EndCycle;

Vlastné nastavenia

Predvoľby používateľa definujú údaje, ktoré si používateľ môže prispôsobiť vo formulári.

Používateľské nastavenia je možné zobraziť vo formulári v špeciálnej tabuľke a je možné ich vyvolať kliknutím na tlačidlo „Nastavenia“ a z ponuky „Všetky akcie“.

Vlastné nastavenia pripojený s dátovými parametrami a výbermi nejakým dosť komplexným spôsobom sa dá toto prepojenie nakonfigurovať vizuálne, ale programová práca s nimi je akosi veľmi nepohodlná.

Zatiaľ sme nenašli nič lepšie ako nastavenie hodnôt existujúcej kolekcie podľa indexu, ktorý samozrejme môže zmiznúť pri zmene rozloženia ACS vo vizuálnom editore.

Navyše, ak je niektorý dátový parameter vyhlásený za užívateľsky definovaný, potom programové nastavenie dátového parametra (pozri vyššie) nestačí, obnovená hodnota užívateľského nastavenia má prednosť pred nastavením dátového parametra. Preto pre takéto parametre nemá zmysel nastavovať dátový parameter, je potrebné ihneď nainštalovať vlastné nastavenie.

Vhodným miestom na nastavenie požadovaných hodnôt je obslužná rutina udalosti „When LoadingUserSettingsOnServer“ rozšírenia formulára prehľadu.

&Na serveri Postup pri načítavaní používateľských nastavení na serveri (Nastavenia)

Ak Parameters.Period.End Date<>"00010101" Potom Settings = Report.Settings Composer.UserSettings; Settings.Elements.Value = Options.Period; koniec Ak;

Koniec procedúry

Použitie zdroja údajov ako objektu

Ak chcete použiť množinu údajov typu objekt, musíte odovzdať externý zdroj údajov metóde Initialize objektu Data Composition Processor.

DecryptionData = nedefinované;

LayoutLinker = newDataLayoutLayoutLinker; LayoutLayout = LayoutLinker.Execute(DataCompositionScheme, SettingsLinker.Settings, DecryptionData);

CompositionProcessor = newDataCompositionProcessor; LayoutProcessor.Initialize(LayoutLayout, New Structure("Data", GetDataExternalSource()), DecryptionData);

V prílohe je jednoduchý príklad (aby príklad fungoval, musíte mať adresáre „Protistrany“ a „Zmluvy protistrany“).

V návrhárovi dotazov, keď sa volá z formulára nastavenia zdroja údajov, pre schému zloženia údajov. Existuje záložka „charakteristiky“, ktorej použitie nie je v dokumentácii jasne popísané. V tomto článku sa pokúsim vysvetliť, ako a prečo sa vlastnosti používajú v ACS.

V návrhárovi dotazov, keď sa volá z formulára nastavenia zdroja údajov, pre schému zloženia údajov. Existuje záložka „charakteristiky“, ktorej použitie nie je v dokumentácii jasne popísané. V tomto článku sa pokúsim vysvetliť, ako a prečo sa vlastnosti používajú v ACS. Typické konfigurácie aktívne využívajú mechanizmus vlastností a hodnôt vlastností, ktoré sú dostupné pre takmer akýkoľvek objekt. Primitívne, v referenčných knihách, bol tento mechanizmus implementovaný v konfiguráciách 7.7. Teraz je tento mechanizmus implementovaný pomocou plánu typov charakteristík a informačného registra, ale myšlienka zostáva rovnaká. Keď som sa prvýkrát stretol s potrebou použiť tento mechanizmus v schéme kontroly prístupu, veľmi dlho som bojoval, organizoval som vnorené dopyty, pripájal som ich k hlavnému výberu a lámal som si hlavu nad tým, ako vziať do úvahy možnosť vzniku nové typy vlastností, ktoré v čase vývoja správy neexistovali. Celý mechanizmus vlastností, ktorý je z používateľského hľadiska jednoduchý a logický, nebol vhodný na žiadne bežné spracovanie, kým som neprišiel na kartu „Charakteristiky“. Tabuľka na záložke je veľmi rozmarná, buď zadáte celý riadok správne, alebo odmietnete zadať riadok vôbec, systém vám nedovolí nechať neúplne vyplnený riadok „na neskôr“. Poďme teda k konkrétnostiam. Prvý stĺpec: Typ – tu vyberáme typ objektu, ku ktorému budú pripojené charakteristiky, napríklad „DirectoryLink.Nomenclature“ To znamená, že teraz pre všetky objekty zadaného typu bude možné získať hodnoty vlastností. Ďalej v ďalšom stĺpci Zdroj zobrazení musíme nastaviť parametre zdroja zobrazení vlastností. Možnosti tabuľky a dotazu sú možné; neskôr vám poviem, prečo je možnosť dotazu potrebná, teraz vyberieme položku tabuľky. V stĺpci Typy charakteristík musíme vybrať informačnú tabuľku, v ktorej sú uložené požadované typy charakteristík, v našom príklade to bude „Plán typov charakteristík.Vlastnosti objektov“. Ďalej, hodnoty, ktoré máme k dispozícii na výber v stĺpcoch Pole kľúča, Pole názvu a Pole typu hodnoty, priamo závisia od polí tabuľky, ktoré sme vybrali. V poli Key Field vyberieme Link, v poli Name – View (takto sa používateľovi zobrazí názov atribútu) a v poli Type ValueType. Teraz prejdime k zdroju hodnôt. Naším zdrojom hodnôt bude informačný register „ObjectPropertyValues“, takže vyberáme tabuľku v stĺpci Zdroj hodnôt a „InformationRegister.ObjectPropertyValues“ v stĺpci Charakteristické hodnoty. V stĺpcoch Objekt, Vlastnosť, Hodnota vyberte zodpovedajúce polia registra Objekt, Vlastnosť, Hodnota. Zdalo by sa, že to je všetko. Ideme do nastavení schémy, pridáme zoskupenie podľa produktov a pridáme podriadené zoskupenie, napríklad podľa značiek, máme takúto vlastnosť. Rozšírime zoznam detailov nomenklatúrneho zoskupenia a... nevidíme tam žiadne vlastnosti: Faktom je, že sme v konfigurátore, odkiaľ nie je prístup k údajom. Ako vykonať potrebné nastavenia? Najpohodlnejší spôsob, ako to urobiť, je použiť konzolu na zostavovanie údajov, tú na disku ITS alebo tú, ktorá je súčasťou podsystému „Developer Tools“. Nastavenia prehľadu však môžete jednoducho otvoriť v podnikovom režime. Otvorme teda rovnaké nastavenie, ale v podnikovom režime: Ako vidíte, pridali sme nové „Podrobnosti“ a...

Otázka: SKD, Ako môžem otvoriť požadovaný formulár na výber parametra?


Dobrý deň Existuje správa o systéme kontroly prístupu, obsahuje parameter Značka - typ Adresár.Nomenklatúra. Ako môžem zavolať konkrétny výberový formulár pre tento parameter? Skúsil som v SKD na záložke "Parametre" vybrať požadovaný parameter - dvakrát kliknúť na stĺpec "Možnosti úprav" - zaškrtnúť políčko "Formulár výberu" a zadať hodnotu Directory.Nomenclature.Form.SelectionFormRequired. Pri spustení zostavy sa stále štandardne používa výberový formulár a nie ten, ktorý je špecifikovaný vo „Výberovom formulári“. Konfigurácia UT, obvyklé formy. Povedz mi, prosím, kde, čo sa deje?

odpoveď: Kľúčová fráza Bežné formuláre, prejdite na riadené

Otázka: Vyberte hodnotu vo formulári výberu


Dobrý deň

Pravidelná aplikácia.

Existuje dokument. Má niekoľko podrobností referenčného typu, napríklad „DirectoryLink.Banks“ s hodnotou „Bank1“.

Je potrebné vo formulári pre výber adresára "Banks", programovo VYBRAŤ prvok "Bank1", t.j. zadajte znova túto hodnotu vyberte "Bank1".

Zatiaľ som urobil nasledovné:
Postup Vykonať SelectionInSelectionForm(Link)
DirectorySelectionForm = Directories.Banks.GetSelectionForm(,Link); //Dostanem formulár na výber adresára Banky pomocou odovzdaného parametra Link
//výber nastavte v tomto výberovom formulári, podľa môjho odkazu v detailoch
DirectorySelectionForm.Selection.Link.Use = True;
DirectorySelectionForm.Selection.Link.Value = link;
DirectorySelectionForm.FormElements.DirectoryList.HierarchicalView = False;
DirectorySelectionForm.Open();
//tu je kód, ktorý simuluje kliknutie na tlačidlo Vybrať, ako????
Koniec procedúry

Pomôžte, ak sa s tým niekto stretol alebo má nejaké nápady.

Ďakujem.

odpoveď:

Urobil som to takto:

Procedure ExecuteSelectionInSelectionForm(Link, rec) //parameter “link” je odkaz na hodnotu vo formulári dokumentu; "rek" - aktuálny tvarový prvok, t.j. výberové pole
DirectorySelectionForm = Directories.Banks.GetSelectionForm(,Rec,Link);
DirectorySelectionForm.FormElements.DirectoryList.HierarchicalView = False;
OpenForm(DirectorySelectionForm, rivers,);

Ak Directory Selection Form.Open() Then
DirectorySelectionForm.Activate();
koniec Ak;

DirectorySelectionForm.CurrentElement.CurrentRow = odkaz;
SelectionEl = DirectorySelectionForm.CurrentElement.CurrentRow;

Ak SelectEl = nedefinované alebo nie je vyplnená hodnota (SelectEl), potom
Report("Hodnota "+Odkaz+" sa nenašla vo formulári na výber adresára");
inak
DirectorySelectionForm.NotifyOfSelection(SelectEl);
koniec Ak;

Koniec procedúry

Otázka: Tlačidlo "Vybrať" vo formulári na výber alebo ako kliknúť na tlačidlo "Vybrať".


Dobrý deň

Pravidelná aplikácia.

Čo si myslíte o kliknutí na tlačidlo „Vybrať“ vo formulári na výber dokumentu/adresára?

Klikanie myšou a COM neponúka automatizáciu.

Zoznam prianí: vo formulári výberu simulujte stlačenie tlačidla „Vybrať“.

odpoveď: Zdá sa, že som problém vyriešil...pár testov.

Pridané po 17 minútach
Zatiaľ to funguje takto:

1C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Postup Vykonať SelectionInSelectionForm(Link, rec) //parameter "link" je odkaz na hodnotu vo formulári dokumentu; "rek" - aktuálny tvarový prvok, t.j. výberové pole DirectorySelectionForm = Adresáre. banky. GetFormSelection(, Rec, Link) ; Formulár na výber adresára. Prvky formulára. DirectoryList. HierarchicalView = False ; OpenForm(DirectorySelectionForm, rivers, ) ; Ak formulár na výber adresára. Open() Potom DirectorySelectionForm. Aktivovať() ; Koniec Ak ; Formulár na výber adresára. CurrentItem. CurrentRow = link ; SelectionEl = DirectorySelectionForm. CurrentItem. CurrentRow ; ak SelectEl = nedefinované alebo nie je vyplnená hodnota (SelectEl), potom Report("Value" + Link + "nenašiel sa vo formulári na výber adresára"); inak DirectorySelectionForm. Upozorniť na voľbu(ChoiceEl) ; Koniec Ak ; Koniec procedúry

Otázka: Prečo už nie je vybratá hodnota z výberového formulára?


Na formulári dokumentu je pole typu odkazu DocumentLink.PaymentOrderOutgoing. Po výbere sa otvorí formulár na výber odchádzajúceho platobného príkazu. Keď je hodnota vybratá, nevloží sa do formulára tak, ako bola vybratá. Najprv som si myslel, že spracovanie výberu je štandardné spracovanie a programátor zabudol spracovanie výberu zaregistrovať. Ale všetko je tam typické. Otváranie formulára nie je programové, v oblasti, v ktorej sa rozhodnem nerealizovať žiadne udalosti. čo by to mohlo byť?
--- Zlúčenie správ, 2. januára 2018 ---

Ďalšia aplikácia založená na bežných formulároch. Výberový formulár je spravovateľný a otvára sa z bežného okna. Ak prepnete späť do normálneho formulára výberu, potom je všetko v poriadku.

odpoveď:

Vo všeobecnosti som na to prišiel. Je užitočné vidieť, čo vstupuje do SelectedValue pri spracovaní výberu. Ukázalo sa, že ide o pole. Keď som vošiel do formulára výberu, ukázalo sa, že tam bolo začiarkavacie políčko Viacnásobná voľba. Dal som to dole a všetko fungovalo.

Otázka: Prosím, pomôžte mi nastaviť výber vo formulári na výber adresára


Pri výbere protistrany programovo prenášam prvé znaky mena do výberového formulára. Ako programovo vytvoriť prvý prvok, ktorého prvé znaky sa zhodujú, sú aktivované.

odpoveď:

elektron povedal:

Pri výbere protistrany programovo prenášam prvé znaky mena do výberového formulára. Ako programovo vytvoriť prvý prvok, ktorého prvé znaky sa zhodujú, sú aktivované.

Kliknutím rozbalíte...

Je rozhodnuté. Vytvoril som virtuálnu klávesnicu na formulári výberu adresára „Protistrany“.
Keď stlačíte ľubovoľné tlačidlo, kód sa spustí
SearchResultByDetails = TechRef.FindByName(N, False);
Form Elements.DirectoryList.CurrentLine=SearchResultByAttributes;
kde H je premenná obsahujúca hodnotu kľúča

Otázka: Vyberte formulár s výberom pre zoznam hodnôt


Dobrý deň. Potrebujem vašu pomoc pri riešení jednoduchého problému.

Confa ZUP 2 .5 .113 .1 Existuje externý výkaz, výkaz má atribút „zoznam báz“, typ zoznam hodnôt.
Existuje formulár správy. Vo formulári správy pole "vstupný zoznam základov", ValueType = "Zoznam hodnôt" a Typ ListValue = "DirectoryLink.ObjectPropertiesValue".

Ako otvoriť výberový formulár s výberom vlastníka nehnuteľnosti?

Vopred ďakujem!

odpoveď: Na karte Možnosti sa nachádza stĺpec s názvom Možnosti úprav. Tam sa môžete pokúsiť nakonfigurovať pripojenia parametrov výberu alebo parameter výberu

Otázka: Programovo otvorte formulár na výber dokumentu 1s 8.3


Ako programovo otvoriť formulár na výber dokumentu 1s 8.3 a uložiť zvolenú hodnotu do premennej?

Google dal nejaké barličkové riešenia, rád by som vedel, ako to urobiť správne.

odpoveď:+ () PM má aj magickú metódu - sťahovanie.

Tabuľková časť
Naložiť
Syntax:

Stiahnuť ▼(<Таблица>)
Možnosti:

<Таблица>(povinné) Typ: ValueTable.
Tabuľka hodnôt, z ktorej sa načíta tabuľková časť. Stĺpce tabuľky sú kombinované podľa názvov.
Popis:

Načíta tabuľkovú časť z tabuľky hodnôt. V tomto prípade sa vymažú všetky predchádzajúce riadky tabuľkovej časti. Pri načítaní sa hodnoty v stĺpcoch časti tabuľky naplnia hodnotami zo stĺpcov tabuľky hodnôt so zodpovedajúcimi názvami.

Dostupnosť:

Server, hrubý klient, externé pripojenie.
Poznámka:

Metódu možno použiť len vtedy, ak je časť tabuľky získaná z vlastnosti objektu. Ak je časť tabuľky získaná z vlastnosti referencie (alebo výberu), potom použitie tejto metódy spôsobí chybu behu.
Príklad:

Composition.Load(CompositionTable);

Otázka: Odovzdanie parametrov do výberového formulára.


Prosím pomôžte mi.
Z dokladu „Predaj tovaru a služieb“ sa vyvolá formulár na výber zmluvy (ERP). Konf je upravený, porovnávam ho so štandardným. V ProcessingCreationOnServer výberového formulára sa pozriem do debuggera Parameters.Selection. Len nerozumiem tomu, ako sa tvorí výberový zoznam – neexistuje žiadne explicitné volanie tohto formulára s parametrami, vo vlastnosti „SelectionParametersLink“ je iba jeden prvok výberu a v Parameters.Selection ich je už niekoľko. Možno mi niekto poradí, kde hľadať.

Pozor! Toto je úvodná verzia lekcie, ktorej materiály môžu byť neúplné.

Prihláste sa na stránku ako študent

Ak chcete získať prístup k školským materiálom, prihláste sa ako študent

Systém skladania údajov 1C 8.3 pre začiatočníkov: pripojenie súborov údajov

  • Napíšte správu, ktorá zobrazí zákazníkov a ich obľúbené produkty. Každý klient má obľúbenú farbu a každý produkt má svoju vlastnú farbu - na základe týchto farieb musíte určiť „obľúbený“ produkt. Napríklad, ak je Andreyho obľúbená farba červená, potom jedným z jeho obľúbených jedál budú paradajky (sú červené).
  • V prehľade použite dve sady údajov. Prvou množinou sú údaje z tabuľky adresára "Klienti". Druhým sú údaje z tabuľky adresára „Food“.
  • Implementovať spojenie medzi týmito dvoma súpravami, takže prehľad obsahuje iba obľúbené produkty pre každého klienta.

Vytvorte nový prehľad

V konfigurátore otvorte databázu „Gastronom“ a cez hlavné menu vytvorte nový report:

Typ dokumentu - "Externá správa":

Vo forme nového prehľadu uveďte názov „Lekcia 6“ a kliknite na tlačidlo „Otvoriť diagram zloženia údajov“:

Ponechajte predvolený názov schémy:

Pridáva sa prvý súbor údajov

V diagrame, ktorý sa otvorí, prejdite na kartu „Množiny údajov“ a pomocou zeleného znamienka plus vyberte „Pridať množinu údajov – dotaz“:

Zavolajte konštruktora požiadaviek:

Označujeme tabuľku „Zákazníci“ a polia, ktoré je potrebné získať zo žiadosti:

Pridáva sa druhý súbor údajov

Pridajte druhú množinu údajov:

Vyberte ho (DataSet2) a znova zavolajte konštruktor dotazu:

Označujeme tabuľku adresára "Jedlo" a polia, ktoré je potrebné získať z požiadavky:

Výsledný text žiadosti bol:

Upozorňujeme, že momentálne máme v prehľade dve množiny údajov: množinu údajov 1 a množinu údajov 2. Každý má svoj vlastný text požiadavky a údaje.

Vytváranie popisnejších mien

Pre prehľadnosť premenujme DataSet1 na Customers a DataSet2 na Food.

Urobte to dvojitým kliknutím na každú zo skupín:

Údaje z každého súboru môžeme použiť v našej správe. K týmto údajom budeme pristupovať cez polia.

V súčasnosti má skupina „Zákazníci“ tieto polia: „Názov“ a „Obľúbená farba“ a skupina „Jedlo“ obsahuje: „Názov“ a „Farba“.

Vidíme, že názvy sa prekrývajú a ľahko sa môžeme pomýliť. Zmeňme teda názvy polí, aby boli zmysluplnejšie.

Vyberte množinu „Klienti“ a zmeňte názvy polí takto:

Potom vyberte skupinu „Jedlo“ a zmeňte názvy polí takto:

Volanie konštruktora nastavení

Nakoniec prejdite na kartu „Nastavenia“ a kliknutím na čarovný prútik otvorte návrhára nastavení:

Typ prehľadu - "Zoznam...":

Vyberte polia pre prehľad z oboch sád:

Vidíte, prečo bolo také dôležité zmeniť názvy polí? Vo fáze nastavenia zloženia údajov nevidíme, z ktorých sád tieto polia pochádzajú. Vidíme len ich mená.

Kontrola správy

Prehľad uložíme a vygenerujeme v užívateľskom režime:

Áno. Dobre, ale nie naozaj. Došlo k takzvanému krížovému spojeniu dvoch množín (toto by ste mali veľmi dobre poznať zo spojení v dopytoch, ktoré sme študovali v predchádzajúcich moduloch). Každý záznam z tabuľky Zákazníci má zodpovedajúci záznam z tabuľky Jedlo.

Ale zo všetkých týchto záznamov musíme ponechať iba tie, ktorých pole „Obľúbená farba zákazníka“ sa rovná poľu „Farba jedla“:

Spájame dve sady údajov

Za týmto účelom prepojíme dve sady údajov (Zákazníci a Jedlo) pomocou polí Obľúbená farba zákazníka a Farba jedla.

Prejdite na kartu „Odkazy na množinu údajov“ a kliknutím na tlačidlo plus pridajte nový odkaz:

Nakonfigurujeme parametre ako na obrázku nižšie:

Urobím vysvetlenie.

Zdroj a príjemca komunikácie. Tu je všetko jasné. Označujeme prvý súbor (zákazníci) a druhý súbor (potraviny) údajov. Osobitne by som chcel upozorniť na skutočnosť, že komunikácia bude prebiehať podľa zásady vonkajší ľavý spoj(zaoberali sme sa jej v téme požiadaviek v predchádzajúcich moduloch). Na základe toho si treba vybrať, ktorá zostava bude zdrojom a ktorá prijímačom.

Zdroj výrazu. Tu uvádzame výraz alebo jednoducho pole zo zdrojovej množiny údajov (zadali sme pole ClientFavoriteColor z množiny klientov).

Výraz prijímača. Tu uvádzame výraz alebo jednoducho pole zo súboru údajov prijímača (tu sme označili pole ColorFood zo súboru Food).

Toto spojenie teda opustí z predchádzajúceho zoznamu len tie riadky, pre ktoré sa pole Obľúbená farba zákazníka rovná poľu FoodColor.

Uložíme zostavu a spustíme ju v používateľskom režime:

Skvelé!

Urobím vysvetlenie o poli“ Podmienka komunikácie“, o ktorom začínajúci programátori tak často udierajú oštepom.

Podmienkou pripojenia je pomocné pole. Môžete tam napísať výrazy zahŕňajúce polia iba zo súboru údajov špecifikovaného v zdroji odkazu.

V tomto prípade pre všetky riadky zo zdroja odkazu bude tento výraz (stav odkazu) skontrolovaný pred vytvorením odkazu. A ak je tento výraz PRAVDA, vykoná sa pokus o vytvorenie spojenia medzi týmto riadkom a riadkami z prijímača spojenia. Ak je výraz FALSE, takéto pokusy sa nevykonajú.

Dobrý deň, milý čitateľ! Máme tu ďalšiu lekciu o základoch systému rozloženia. Zoznámili ste sa s funkciami vyjadrovacieho jazyka SKD, videli ste vlastnosti systému rozloženia a pochopili ste aj základné nastavenia polí rozloženia. Teraz sa pozrieme na nový materiál. Choď!

Ďalšie nastavenia pre polia ACS.

Stĺpec "Typ hodnoty" Umožňuje určiť typ údajov pre pole rozloženia. Prečo špecifikovať typ napríklad pre pole „Nomenklatúra“, ak už viete, o aký typ ide? Toto je potrebné, ak je pole rozloženia zloženého typu. Môžete vybrať konkrétny typ, potom pri výbere podľa tohto poľa sa vyberú hodnoty tohto typu.

Stĺpec "Dostupné hodnoty" umožňuje určiť hodnoty dostupné na výber a obmedziť výber používateľa na určité limity.

Stĺpec "dekor" umožňuje určiť dizajn poľa rozloženia bez použitia rozloženia. Môžete určiť farbu písma, farbu rámu, orientáciu textu atď.

Stĺpec "Možnosti úprav" Umožňuje určiť spôsob úpravy poľa rozloženia. Môžete napríklad určiť rýchly výber prvkov zo zoznamu vo výbere. V predvolenom nastavení pole rozloženia zdedí všetky možnosti úprav z objektu metadát.

Vypočítané polia

Na karte „Vypočítané polia“ v zložení údajov si môžete vytvoriť svoje vlastné vypočítané polia.

Prečo potrebujete vypočítané polia, keď ich môžete vytvoriť na úrovni dotazu? Nie všetky polia je možné opísať pomocou dotazu. Ak potrebujete vytvoriť zložité pole z rôznych množín údajov, napríklad dotaz a objekt, potom sa bez vypočítaných polí nezaobídete. Ak je zdrojom údajov dopyt a je povolené automatické dopĺňanie, nemôžete pridať pole kompozície údajov, ale pomocou vypočítaných polí môžete pridať ľubovoľný počet polí.

Do stĺpca „Výraz“ vypočítavaného poľa musíte napísať ľubovoľný výraz, ktorý používa polia zloženia údajov a pristupuje k ich ceste (stĺpec „Cesta“ na karte „Množiny údajov“). Buď môžete použiť matematické transformačné funkcie alebo pristupovať k funkciám bežných modulov. Napríklad napíšme do stĺpca „Dátová cesta“ názov vypočítaného poľa „Odchýlka“ a do poľa „Výraz“ nasledujúce.