1s SKD redigeerimisparameetrite valikuvorm. Aruannete loomise omadused (1Cv8). Kuidas lisada mittekasutaja redigeeritavat parameetrit

Paksu kliendi režiimis 1C v8 aruannete loomise funktsioonid

Kuidas valikut valida?

  • Asetage aruandepaneelile nupp „Vali valik”.
  • Asetage vormile väli "OnDate".

Näidiskood: ProcedureFormActionSelectOption(Button) layout = GetLayout("MainDataLayoutScheme"); spOptions = Uus väärtusloend; Iga valiku jaoks paigutusest.OptionsSettings Loop spOptions.Add(valik.Settings, option.View); EndCycle;

valik = cnOptions.SelectItem(); Kui valik = Undefined, siis Return; endIf;

SeadistusedComposer.LoadSettings(selection.Value);

Genereeri(); Menetluse lõpp

Protseduur OnDateOnChange(Element) Generate(); Menetluse lõpp

Protseduur Generate()FormElements.Result.Clear(); Seadistused Composer.Settings.DataParameters.SetParameterValue("Period", ToDate); ComposeResult(Vormielemendid.Tulemus); Menetluse lõpp

Menetlus avamisel() OnDate = CurrentDate(); Genereeri(); Menetluse lõpp

Juurdepääsusüsteemi kaudu aruannete loomise funktsioonid

Samm-sammult aruande koostamine

  1. Looge aruanne sõlmes Aruanded
  2. Looge aruandes paigutus, mille tüüp on andmepaigutuse skeem
  3. Aruande atribuutides määrake: Põhiandmete paigutusskeem = Loodud paigutus
  4. Aruande atribuutides määrake alamsüsteem, kuhu see kuulub (Enterprise aruanne kuvatakse ülemisel navigeerimispaneelil)
  5. Päringu loomine paigutuses (üksus: Andmestiku lisamine – päring)
  6. Paigutuse vahekaardil Options peate eemaldama märge kõigist ridadest veerus Availability Restriction – st. kõik parameetrid on kasutajal redigeerimiseks saadaval
  7. Paigutuse vahekaardil Seadistused, aknas, kus kuvatakse Aruande sõlm, tuleb luua uus rühmitus ilma grupeerimisvälja määramata - luuakse üksikasjalik rida
  8. Valige paigutuse vahekaardil Seaded aknas, kus kuvatakse täiendav järjehoidjate komplekt, valige täiendav. Parameetrite vahekaart - märkige kõik parameetrid linnukesega ja klõpsake igal parameetril kasutaja seadete elemendi Atribuudid, avaneb parameetrite seadete aken, kus tuleb märkida ruut - Kaasa parameeter kasutaja seadetesse
  9. Valige paigutuse vahekaardil Seaded aknas, kus kuvatakse täiendav järjehoidjate komplekt, valige täiendav. Vahekaart SelectedFields – sinna tuleb lisada veerud, mis aruandes kuvatakse
  10. Käivitage ettevõte, avage aruanne, määrake parameetrite väärtused, genereerige (kontrollige, et valitud on suvand Peamine aruande genereerimine)

Kuidas lisada mittekasutaja redigeeritavat parameetrit?

Näiteks peame määrama päringu parameetri "Infobase"

  • Tühjendage küljenduse paigutuse vahekaardil Valikud soovitud parameetri märkeruudud "Kaasa saadaolevatele väljadele" ja "Piira saadavust".
  • Tühjendage paigutuse paigutuse vormis vahekaardil Seaded alamvahekaardil Parameetrid (allosas) soovitud parameetri märkeruut, avage omadused (nupp mutrivõtmega) sellel vormil:
    • Tühjendage märkeruut „Kaasa kasutaja seadetesse”.
    • Määra redigeerimisrežiimiks "Pole saadaval"


  • Aruandevormi moodulis sündmuste käitlejas "Serveril optsiooni laadimisel" (saate ka Avamisel, kuid MITTE Serveris CreatingOn, kuna see käivitatakse ENNE aruande seadete laadimist ja seaded kirjutatakse üle) programmiliselt seadistada parameeter:

&Serveri protseduur suvandi serverisse laadimisel (seaded)

//Seadete parameetri määramine = Report.Settings Composer.Settings; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase); Menetluse lõpp

Kuidas määrata aruande valikuid?

  • Vasakpoolsel väljal asuva vahekaardi Seaded paigutuse kujundusvormis saate luua vajalikud aruande valikud

Kuidas rühmitada?

  • Paigutuse paigutuse vormis vahekaardi Seaded paremas ülanurgas väljal saate luua vajalikke rühmitusi

Kuidas programmiliselt aruannet kuvada?

Vormi moodulis:

&Kliendiprotseduuril GenerateReportExecute()

ThisForm.ComposeResult();

Menetluse lõpp

Kuidas aruannet testida?

Peate tegema:

  • Kõige mugavam viis klienditestis olukorra loomiseks on läbi olukorratabeli
  • hankige aruande vorm - vorm = GetForm("Report.Process Movement.Form.ReportForm");
  • laadige soovitud aruande variant - määrake aruande vormi laienduse parameeter "Variant Key" (seade nimi andmekoosseisu paigutuses)
  • laadige vajalikud aruande seaded - ? aruandevormi laienduse parameetri “UserSettings” täitmine (tüüp “UserDataCompositionSettings”) ei õnnestunud, kõik on keeruline, vt allpool.
  • avatud vorm - vorm.Open()
  • sooritama moodustamist - vorm.ArrangeResult();
  • kontrollige arvutustabeli dokumendi vormi sisu Tulemus - tore oleks võrdlusfunktsioone viitega mxl
  • sulge vorm - vorm.Close(); - või võib-olla ei pea te seda avama, peate kontrollima

Vaata ka

  • Kirjeldus: menüü Abi/Süntaksiabi/Sisu vahekaart/Hallatud rakenduse liidese objektid/Hallatud vormilaiendid/Hallatud vormilaiend aruande/vormi valikute jaoks

Kuidas laadida nõutavad aruande seaded?

Dokumentatsioonis on kirjeldatud, et "UserDataCompositionSettings" tüüpi aruandevormi "UserSettings" laiendamiseks on selline parameeter olemas, kuid seal on väga keeruline objekti struktuur, seda ei olnud võimalik kasutada.

Tõesti toimiv skeem:

1. Loo aruandes parameetrid

  • Perioodi tüüp StandardPeriod
  • ValueListi tüübi valimine (struktuur oleks parem, kuid seda pole parameetritüüpide loendis, samuti suvaline tüüp)

2. Edastame GetFormi protseduurile vajalikud parameetrid:

periood = NewStandardPeriod; period.Option = StandardPeriodOption.CustomPeriod; periood.Alguskuupäev = praegune kuupäev; periood.LõppKuupäev = hommeKuupäev;

valik = Uus väärtusloend; valik.Lisa(Testimine.GetObject(stSituation, "BP1"), "Äriprotsess");

stParameters = New Structure("Variant Key, Period, Selection", "Main", punkt, valik); // OpenFormModal("Report.Process Movement.Form.ReportForm", stParameters); form = GetForm("Aruanne.Protsessi liikumine.Vorm.Aruandevorm", stParameters);

3. Määrake parameetrid vormisündmuste töötlejates

&OnServer Funktsioon spGet(spList, view) Ekspordi iga elemendi jaoks SpList Loop If element.View = vaade Siis Tagastab element.Value; endIf; EndCycle; Tagasta määramata; EndFunction

&Serveri protseduuris SetCustomSettingsValue(Settings, Name, Value) Iga elemendi jaoks From Settings.Elements Loop If TypeVäärtus(element) = Tüüp("AndmekompositsiooniSettingsParameterValue") Then If String(element.Parameter) = Nimi Siis element.Väärtus = väärtus; element.Use = Tõene; endIf; endIf; EndCycle; Menetluse lõpp

&Serveri protseduuris SetCustomSelectionValue(Settings, Name, Value) Iga elemendi jaoks From Settings.Elements Loop If TypeValue(element) = Type("Andmekompositsiooni valik") Siis iga valiku jaoks From element.Elements Loop If Row(selection.LeftValue) = Nimi Seejärel valik .RightValue = väärtus; valik.Kasuta = Tõene; endIf; EndCycle; endIf; EndCycle; Menetluse lõpp

&Serveri protseduur suvandi serverisse laadimisel (seaded)

Name of the CurrentVariant = Praeguse variandi vaade;

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

Menetluse lõpp

&OnServeri protseduur UserSettings laadimiselOnServer(Settings) Settings = Report.Settings Linker.UserSettings;

<>"00010101" Seejärel Settings = Report.Settings Composer.UserSettings; SetCustomSettingValue(Settings, "Period", Parameters.Period); endIf;

ssBusinessProcess = spGet(Parameters.Selection, "BusinessProcess"); Kui ssBusinessProcess<>Määratlemata Siis SetCustomSelectionValue(Settings, "BusinessProcess", ssBusinessProcess); endIf;

Menetluse lõpp

Märkused:

  • Seal on andmeparameetrid, st see, mis on määratud ACS-i päringu parameetrites
  • Mõned neist on määratud suvandites UserSettings (parameetri atribuutides on lipp "Kaasa kasutaja seadetesse"
  • Isegi kui laadite serverisse laadides andmeparameetritesse vajalikud väärtused, avaneb vorm, kuhu laaditakse automaatselt eelmisel korral salvestatud seaded. Need sätted "katkestavad" andmeseaded aruande loomisel
  • Töötlejas WhenLoadingUserSettingsOnServer on läbitud seadete objekt koopia tegelikud sätted, seetõttu tuleb vormil kuvatavate sätete muutmiseks täita objekt Report.Settings Composer.UserSettings

Kuidas teha ACS-is mitut (loendi) päringuparameetrit?

Päring peab kasutama väljendit "In (¶meetri nimi)"(vt Boole'i ​​avaldisi 1Cv8 päringukeeles)

ACS diagrammi paigutuse seadistamisel vahekaardil "Parameetrid" peate selle parameetri jaoks märkima ruut veerus "Saadaolevate väärtuste loend". Sel juhul kuvab ACS parameetri valimisel loendi redigeerimisvormi, kuhu saate lisada mis tahes parameetri väärtuse.

Kuidas keelata juurdepääsukontrollisüsteemis päringu parameetrid?

SKD päringus tuleb kasutada lokkis traksidega ümbritsetud konstruktsioone "{}" .

Kui vastava parameetri märkeruut on aruandevormil (kiirseadete paneel) märkimata, eemaldatakse see konstruktsioon päringust.

Vaata täpsemalt. Andmekoostamissüsteemi päringukeele laiendus (1Cv8)

Kuidas teha aruannet veeru levikuga?

Selleks tuleb aruande valiku seadistamisel (andmepaigutuse redigeerimine, vahekaart “Seaded”, väli üleval paremal) lisada esimeseks grupeerimiseks “Tabel”.

Pärast seda ilmuvad sõlme "Tabel" filiaalid "Read" ja "Veerud", kuhu lisatakse vajalikud rühmitused.

Kuidas konfigureerida välja väljundvormingut?

Andmekoostise paigutuse redaktoris on paremas ülanurgas vahekaardil „Andmekogumid“ aruandeväljade loend.

On kaks võimalust.

  1. Määrake veeru "Kuva väljendus" väärtus
    • siin saate sisestada keeleavaldise, mis toodab soovitud stringi
    • see ei tööta ressursiväljadega
  2. Määrake veeru "Disain" väärtus
    • kujunduses on atribuut "Format" - see väärtus on sarnane keelefunktsiooni "Format" parameetriga, saate määrata soovitud välimuse
    • tüübi teisendamine pole siin võimalik

Ressursiväljade jaoks saate määrata arvutusavaldisi (vahekaart "Ressursid") – näiteks

Summa(aeg)/3600,0

sekunditest tundideks teisendamiseks.

Vajaliku täpsuse saab määrata vahekaardi "Andmekogumid" väljal "Disain".

Andmete koostamise süsteemi parameetrite seadmise omadused

Olemas on vähemalt KOLM tüüpi parameetrid, mis nõuavad erinevat töötlemist:

Andmevalikud

Andmeparameetrid on määratletud juurdepääsukontrollisüsteemi päringus (andmeallikas).

Andmeparameetrid edastatakse andmeallika päringule ja määravad toodavad andmed.

Objektil Settings Composer on andmeparameetritega töötamiseks spetsiaalne atribuut Seadistused Helilooja.Settings.DataOptions

Saate seda seadistada helistamisega nagu

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

Valik

Valikud tehakse vastuvõetud andmete peale pärast väljavõte andmeallikast.

Objektil Seadete koostaja on valikutega töötamiseks spetsiaalne omadus HeliloojaSeaded.Seaded.Valik.

Näiteks: Seaded = Report.SettingsComposer.Settings; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase);

Iga elemendi jaoks From Parameters.Selection Cycle Selection Element = Settings.Selection.Elements.Add(Type("Andmekompositsiooni valikuelement")); Selection Element.Comparison Type = DataComposition Comparison Type.Equal; SelectionElement.LeftValue = NewDataCompositionField(element.View); SelectionElement.RightValue = element.Value; EndCycle;

Kohandatud sätted

Kasutaja eelistused määravad andmed, mida kasutaja saab vormil kohandada.

Kasutaja seadeid saab kuvada vormil spetsiaalses tabelis ja neid saab avada, klõpsates nuppu "Seaded" ja menüüst "Kõik toimingud".

Kohandatud sätted ühendatud andmeparameetrite ja valikutega mingil üsna keerulisel viisil saab seda ühendust visuaalselt seadistada, aga programmiliselt nendega töötamine on kuidagi väga ebamugav.

Siiani pole me leidnud midagi paremat kui olemasoleva kollektsiooni väärtuste määramine indeksi järgi, mis võib muidugi kaduda, kui muudate visuaalses redaktoris ACS-i paigutust.

Lisaks, kui mõni andmeparameeter on kuulutatud kasutaja määratud, siis ei piisa andmeparameetri programmilisest seadistusest (vt ülalt), kasutaja seadistuse taastatud väärtus tühistab andmeparameetri seadistuse. Seetõttu pole selliste parameetrite määramisel mõtet andmete parameeter, tuleb kohe paigaldada kohandatud seadistus.

Mugav koht vajalike väärtuste määramiseks on aruandevormi laienduse sündmuste töötleja "When LoadingUserSettingsOnServer".

&Serveri protseduur kasutaja sätete serverisse laadimisel (seaded)

Kui Parameters.Period.End Date<>"00010101" Seejärel Settings = Report.Settings Composer.UserSettings; Settings.Elements.Value = Options.Period; endIf;

Menetluse lõpp

Andmeallika kasutamine objektina

Objekti tüüpi andmekogumi kasutamiseks peate edastama välise andmeallika andmekompositsiooniprotsessori objekti lähtestamismeetodile.

DecryptionData = määratlemata;

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

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

Lihtne näide on lisatud (et näide toimiks, peavad teil olema kataloogid “Vastaspooled” ja “Vastaspoole lepingud”).

Päringukujundajas, kui seda kutsutakse andmeallika seadistusvormilt, andmekoosseisu skeemi jaoks. Seal on vahekaart "omadused", mille kasutamist ei ole dokumentatsioonis selgelt kirjeldatud. Selles artiklis püüan selgitada, kuidas ja miks ACS-is omadusi kasutatakse.

Päringukujundajas, kui seda kutsutakse andmeallika seadistusvormilt, andmekoosseisu skeemi jaoks. Seal on vahekaart "omadused", mille kasutamist ei ole dokumentatsioonis selgelt kirjeldatud. Selles artiklis püüan selgitada, kuidas ja miks ACS-is omadusi kasutatakse. Tüüpilised konfiguratsioonid kasutavad aktiivselt atribuutide ja omaduste väärtuste mehhanismi, mis on saadaval peaaegu iga objekti jaoks. Primitiivselt rakendati seda mehhanismi teatmeteostes konfiguratsioonides 7.7. Nüüd rakendatakse seda mehhanismi tunnustüüpide plaani ja teaberegistri abil, kuid idee jääb samaks. Kui ma esimest korda puutusin kokku vajadusega kasutada seda mehhanismi juurdepääsukontrolli skeemis, nägin ma väga pikka aega vaeva, korraldades pesastatud päringuid, ühendades need põhivalikuga ja mõtlesin, kuidas võtta arvesse võimalikku uut tüüpi omadused, mida aruande koostamise ajal ei eksisteerinud. Kogu atribuutide mehhanism, mis oli kasutaja seisukohast lihtne ja loogiline, ei sobinud normaalseks töötlemiseks enne, kui leidsin vahekaardi „Omadused”. Vahekaardil olev tabel on väga kapriisne, kas sisestate terve rea õigesti või keeldute rea sisestamisest üldse; süsteem ei luba teil mittetäielikult täidetud rida "hiljemaks" jätta. Niisiis, asume üksikasjadesse. Esimene veerg: Tüüp – siin valime objekti tüübi, millele tunnused lisatakse, näiteks “DirectoryLink.Nomenclature” See tähendab, et nüüd on kõikidele määratud tüüpi objektidele võimalik saada atribuutide väärtusi. Järgmiseks peame järgmises veerus Vaadete allikas määrama atribuutide vaadete allika parameetrid. Võimalikud on tabeli- ja päringuvalikud, miks päringuvalikut vaja on, räägin hiljem, nüüd valime tabelielemendi. Veerus karakteristikute tüübid peame valima teabebaasi tabeli, kuhu on salvestatud nõutavad tunnuste tüübid, meie näites on see "Tulemuste tüüpide plaan. Objektide omadused". Lisaks sõltuvad meile veergudes Key Field, Name Field ja Value Type Field valimiseks saadaolevad väärtused otseselt meie valitud tabeli väljadest. Võtmeväljas valime Link, väljast Name Field – View (see on see, mida kasutaja näeb atribuudi nimena) ja väljal Type Field vastavalt ValueType. Liigume nüüd väärtuste allika juurde. Meie väärtuste allikaks saab teaberegister "ObjectPropertyValues", seega valime veerus Väärtuste allikas tabeli ja veerus Characteristic Values ​​"InformationRegister.ObjectPropertyValues". Veergudes Objekt, Omadus, Väärtus valige vastavad registri Objekt, Omadus, Väärtus väljad. Näib, et see on kõik. Läheme skeemi seadistustesse, lisame grupeeringu toodete järgi ja lisame alluva rühmituse, näiteks Brands järgi, meil on selline omadus. Laiendame nomenklatuuri rühmituse üksikasjade loendit ja... me ei näe seal ühtegi atribuuti: Fakt on see, et oleme konfiguraatoris, kust andmetele juurdepääs puudub. Kuidas teha vajalikke seadistusi? Kõige mugavam viis seda teha on kasutada andmete koostamise konsooli, seda ITS-i kettal või seda, mis sisaldub alamsüsteemis "Arendaja tööriistad". Kuid võite lihtsalt avada aruande seaded ettevõtte režiimis. Niisiis, avame sama sätte, kuid ettevõtte režiimis: Nagu näete, oleme lisanud uue "Üksikasjad" ja...

Küsimus: SKD, Kuidas avada parameetri jaoks vajalik valikuvorm?


Tere päevast Juurdepääsusüsteemi kohta on aruanne, see sisaldab parameetrit Brand - type Directory.Nomenclature. Kuidas saan selle parameetri jaoks konkreetse valikuvormi kutsuda? Proovisin SKD-s vahekaardil "Parameetrid", valige soovitud parameeter - topeltklõpsake veerus "Redigeerimissuvandid" - märkige ruut "Valimise vorm" ja sisestage väärtus Directory.Nomenclature.Form.SelectionFormRequired. Aruande koostamisel kasutatakse vaikimisi endiselt valikuvormi, mitte seda, mis on määratud valikuvormis. TÜ konfiguratsioon, tavalised vormid. Ütle mulle, palun, kus, mis on valesti?

Vastus: Võtmefraas Tavalised vormid, lülituge hallatavatele vormidele

Küsimus: Valige valikuvormil väärtus


Tere päevast

Regulaarne pealekandmine.

Dokument on olemas. Sellel on mitu viitetüübi üksikasju, näiteks "DirectoryLink.Banks" väärtusega "Pank1".

See on vajalik kataloogi "Pangad" valimise vormis, vali programmiliselt element "Pank1", st. tüüp valige uuesti see väärtus "Pank1".

Siiani olen teinud järgmist:
Protseduur Valiku teostamine valikuvormis (link)
DirectorySelectionForm = Directories.Banks.GetSelectionForm(,Link); //Saan vormi Pankade kataloogi valimiseks, kasutades läbitud parameetrit Link
//määrake valik sellel valikuvormil, vastavalt minu lingile üksikasjades
DirectorySelectionForm.Selection.Link.Use = Tõene;
DirectorySelectionForm.Selection.Link.Value = link;
DirectorySelectionForm.FormElements.DirectoryList.HierarchicalView = Vale;
DirectorySelectionForm.Open();
//siin on kood, mis simuleerib nupu Vali klõpsamist, kuidas????
Menetluse lõpp

Aidake, kui kellelgi on sellega kokku puutunud või on ideid.

Aitäh.

Vastus:

Mina tegin seda nii:

Protseduur ExecuteSelectionInSelectionForm(Link, rec) //parameeter “link” on väärtuse link dokumendivormil; "rek" - praegune vormielement, s.o. valikuväli
DirectorySelectionForm = Directories.Banks.GetSelectionForm(,Rec,Link);
DirectorySelectionForm.FormElements.DirectoryList.HierarchicalView = Vale;
OpenForm(DirectorySelectionForm, rivers,);

Kui kataloogivaliku vorm.Open() Siis
DirectorySelectionForm.Activate();
endIf;

DirectorySelectionForm.CurrentElement.CurrentRow = link;
SelectionEl = DirectorySelectionForm.CurrentElement.CurrentRow;

Kui SelectEl = määramata või EI väärtus täidetud (SelectEl), siis
Report("Kaustavaliku vormis väärtust "+Link+" ei leitud");
muidu
DirectorySelectionForm.NotifyOfSelection(SelectEl);
endIf;

Menetluse lõpp

Küsimus: Nupp "Vali" valikuvormil või kuidas klõpsata nuppu "Vali".


Tere päevast

Regulaarne pealekandmine.

Mis mõtted teil on, kui klõpsate dokumendi/kataloogi valiku vormil nuppu "Vali"?

Hiire ja COM-i klõpsamine ei paku automatiseerimist.

Soovinimekiri: simuleerige valikuvormis nupu “Vali” vajutamist.

Vastus: Näib, et lahendasin probleemi... paar korda testi.

Lisatud 17 minuti pärast
Siiani töötab see nii:

1C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Protseduur Sooritage valik Valikuvormis (link, rec) //parameeter "link" on väärtuse link dokumendivormil; "rek" - praegune vormielement, s.o. valikuväli DirectorySelectionForm = Kataloogid. Pangad. GetFormSelection(, Rec, Link) ; Kataloogi valimise vorm. Vormi elemendid. Kataloogiloend. HierarchicalView = Vale ; OpenForm(DirectorySelectionForm, rivers, ) ; Kui kataloogi valimise vorm. Open() Seejärel DirectorySelectionForm. Aktiveeri() ; EndIf ; Kataloogi valimise vorm. Praegune ese. CurrentRow = link ; SelectionEl = DirectorySelectionForm. Praegune ese. CurrentRow ; kui SelectEl = määramata või väärtus EI ole täidetud (SelectEl), siis aruanne("Väärtus" + link + "kataloogivaliku vormis ei leitud") ; muul juhul DirectorySelectionForm. Teavita valikust (ChoiceEl) ; EndIf ; Menetluse lõpp

Küsimus: Miks väärtust enam valikuvormilt ei valita?


Dokumendivormil on väli viitetüübiga DocumentLink.PaymentOrderOutgoing. Valimisel avaneb väljamineva maksekorralduse valimise vorm. Kui väärtus on valitud, ei lisata seda valitud kujul vormi. Alguses arvasin, et valiku töötlemine on standardtöötlus ja programmeerija unustas valiku töötlemise registreerida. Aga seal on kõik tüüpiline. Vormi avamine mitte programmiliselt, valdkonnas, kus ma otsustan mitte ühtegi üritust läbi viia. Mis see võiks olla?
--- Sõnumite ühendamine, 2. jaanuar 2018 ---

Teine tavavormidel põhinev rakendus. Valikuvorm on hallatav ja avaneb tavalisest aknast. Kui lülituda tagasi tavalisele valikuvormile, on kõik korras.

Vastus:

Üldiselt sain sellest aru. Kasulik on näha, mis valiku töötlemisel valikusse SelectedValue tuleb. See osutus massiiviks. Valikuvormi sisenedes selgus, et seal on valikvastustega märkeruut. Võtsin ära ja kõik töötas.

Küsimus: Palun aidake mul kataloogivaliku vormis valikut määrata


Vastaspoole valikul kannan programmiliselt nime esimesed märgid valikuvormi. Kuidas programmiliselt aktiveerida esimene element, mille esimesed märgid ühtivad.

Vastus:

elektron ütles:

Vastaspoole valikul kannan programmiliselt nime esimesed märgid valikuvormi. Kuidas programmiliselt aktiveerida esimene element, mille esimesed märgid ühtivad.

Klõpsake laiendamiseks...

See on otsustatud. Lõin virtuaalse klaviatuuri kataloogivaliku vormil “Vastaspooled”.
Kui vajutate mis tahes klahvi, käivitub kood
SearchResultByDetails = TechRef.FindByName(N, False);
Form Elements.DirectoryList.CurrentLine=SearchResultByAttributes;
kus H on võtme väärtust sisaldav muutuja

Küsimus: Valige väärtuste loendi valikuga vorm


Tere päevast. Vajan teie abi lihtsa probleemi lahendamisel.

Confa ZUP 2 .5 .113 .1 On olemas väline aruanne, aruandel on atribuut “baaside loetelu”, tüüp väärtuste loend.
Aruande vorm on olemas. Aruandevormil väli "aluste sisendloend", ValueType = "väärtuste loend" ja ListValue type = "DirectoryLink.ObjectPropertiesValue".

Kuidas avada valikuvorm kinnisvara omaniku valikuga?

Ette tänades!

Vastus: Vahekaardil Valikud on veerg nimega Redigeerimissuvandid. Seal saate proovida konfigureerida valikuparameetrite ühendusi või valikuparameetrit

Küsimus: Ava programmiliselt dokumendivaliku vorm 1s 8.3


Kuidas programmiliselt avada dokumendivaliku vorm 1s 8.3 ja salvestada valitud väärtus muutujasse?

Google andis mõned kargulahendused, tahaks teada kuidas seda õigesti teha.

Vastus:+ () PM-il on ka maagiline meetod - allalaadimine.

Tabelijaotis
Laadige
Süntaks:

Lae alla(<Таблица>)
Valikud:

<Таблица>(nõutav) Tüüp: ValueTable.
Väärtuste tabel, millest tabeliosa laaditakse. Tabeli veerud on kombineeritud nimede järgi.
Kirjeldus:

Laadib väärtustabelist tabeliosa. Sel juhul kustutatakse tabeliosa kõik eelmised read. Laadimisel täidetakse tabeli sektsiooni veergudes olevad väärtused väärtuste tabeli veergude väärtustega, millel on vastavad nimed.

Saadavus:

Server, paks klient, välisühendus.
Märge:

Meetodit saab kasutada ainult siis, kui tabeli osa on saadud objekti omadusest. Kui tabeli osa saadakse viite (või valiku) atribuudist, põhjustab selle meetodi kasutamine käitusaegse vea.
Näide:

Composition.Load(CompositionTable);

Küsimus: parameetrite edastamine valikuvormile.


Palun aita mind.
Dokumendist "Kaupade ja teenuste müük" kuvatakse lepingu valiku vorm (ERP). Conf on redigeeritud, võrdlen seda tavalisega. Valikuvormi jaotises ProcessingCreationOnServer vaatan silurit Parameters.Selection. Ma lihtsalt ei saa aru, kuidas valikuloend moodustatakse – sellele vormile parameetritega otsest kutset ei ole, atribuudis „SelectionParametersLink” on ainult üks valikuelement ja neid on juba jaotises Parameters.Selection mitu. Äkki keegi oskab öelda, kust otsida.

Tähelepanu! Tegemist on tunni sissejuhatava versiooniga, mille materjalid võivad olla puudulikud.

Logige saidile õpilasena sisse

Koolimaterjalidele juurdepääsuks logige õpilasena sisse

Andmete koostamise süsteem 1C 8.3 algajatele: andmekogumite ühendamine

  • Koostage aruanne, mis kuvab kliendid ja nende lemmiktooted. Igal kliendil on oma lemmikvärv ja igal tootel oma värv – nende värvide põhjal tuleb määrata toote “lemmik”. Näiteks kui Andrei lemmikvärv on punane, siis üheks tema lemmiktoiduks on tomatid (need on punased).
  • Rakendage aruandes kaks andmekogumit. Esimene komplekt on andmed kataloogitabelist "Kliendid". Teine on andmed kataloogi "Toit" tabelist.
  • Rakendama seos nende kahe komplekti vahel, et aruanne sisaldaks ainult iga kliendi lemmiktooteid.

Looge uus aruanne

Avage konfiguraatoris andmebaas "Gastronom" ja looge peamenüü kaudu uus aruanne:

Dokumendi tüüp - "Väline aruanne":

Uue aruande vormis märkige nimi "Õppetund 6" ja klõpsake nuppu "Ava andmete koostise diagramm":

Jätke skeemi vaikenimi:

Esimese andmestiku lisamine

Avanevas diagrammis minge vahekaardile "Andmekogumid" ja valige rohelise plussmärgiga "Lisa andmekogum - päring".

Helistage päringu konstruktorile:

Märgime tabeli "Kliendid" ja väljad, mis tuleb päringust hankida:

Teise andmekogumi lisamine

Lisage teine ​​andmekomplekt:

Valige see (DataSet2) ja helistage uuesti päringukonstruktorile:

Märgime kataloogi "Toit" tabeli ja väljad, mis tuleb päringust hankida:

Taotluse tekst oli järgmine:

Pange tähele, et meil on praegu aruandes kaks andmekogumit: Data Set1 ja Data Set2. Igal neist on oma päringu tekst ja andmed.

Nimede kirjeldavamaks muutmine

Selguse huvides nimetame DataSet1 ümber Kliendiks ja DataSet2 nimeks Food.

Tehke seda, topeltklõpsates igal komplektil:

Saame oma aruandes kasutada iga komplekti andmeid. Nendele andmetele pääseme juurde väljade kaudu.

Praegu on komplektis "Kliendid" järgmised väljad: "Nimi" ja "Lemmikvärv" ning komplektis "Toit" on: "Nimi" ja "Värv".

Näeme, et nimed kattuvad ja saame kergesti segadusse. Nii et muutkem väljade nimesid sisukamaks.

Valige komplekt "Kliendid" ja muutke väljade nimesid järgmiselt:

Seejärel valige komplekt "Toit" ja muutke väljade nimesid järgmiselt:

Seadete konstruktori helistamine

Lõpuks minge vahekaardile "Seaded" ja klõpsake seadete kujundaja kuvamiseks võlukeppi:

Aruande tüüp – "Loend...":

Valige aruande väljad mõlemast komplektist:

Kas näete, miks oli väljade nimede muutmine nii oluline? Andmete koostamise seadete etapis me ei näe, millistest komplektidest need väljad pärinevad. Näeme ainult nende nimesid.

Aruande kontrollimine

Salvestame aruande ja genereerime selle kasutajarežiimis:

Jah. Olgu, aga mitte päriselt. Kahe hulga nn ristliitmine on toimunud (sellega peaksite olema hästi tuttav päringute liitumiste põhjal, mida eelmistes moodulites uurisime). Igal tabeli Kliendid kirjel on vastav kirje tabelist Toit.

Kuid kõigist nendest kirjetest peame jätma ainult need, mille väli "Kliendi lemmikvärv" võrdub väljaga "FoodColor":

Ühendame kaks andmekogumit

Selleks ühendame kaks andmekogumit (Kliendid ja Toit), kasutades välju Kliendi lemmikvärv ja Toiduvärv.

Minge vahekaardile "Andmekogumi lingid" ja klõpsake uue lingi lisamiseks plussnupul:

Konfigureerime parameetrid nagu alloleval joonisel:

Ma teen selgituse.

Kommunikatsiooni allikas ja vastuvõtja. No siin on kõik selge. Märgime esimese andmekogumi (Kliendid) ja teise (Toit) andmekogumi. Tahaksin juhtida erilist tähelepanu asjaolule, et suhtlus toimub põhimõtteliselt välimine vasak ühendus(käsitlesime seda eelmistes moodulites taotluste teemas). Selle põhjal peate valima, milline komplekt on allikas ja milline vastuvõtja.

Väljendi allikas. Tähistame siin avaldise või lihtsalt lähteandmete kogumi välja (määratlesime siin välja ClientFavoriteColor komplektist Kliendid).

Vastuvõtja väljend. Märgime siin avaldise või lihtsalt välja vastuvõtja andmekogumist (tähisesime siin välja ColorFood komplektist Food).

Seega jätab see ühendus eelmisest loendist välja ainult need read, mille puhul Kliendi lemmikvärv väli võrdub väljaga FoodColor.

Salvestame aruande ja käivitame selle kasutajarežiimis:

Suurepärane!

Ma teen valdkonna kohta selgituse" Suhtlusseisund", mille kohta algajad programmeerijad nii sageli odasid tabavad.

Ühenduse tingimus on abiväli. Sinna saab kirjutada väljendeid hõlmates välju ainult lingiallikas määratud andmekogumist.

Sel juhul kontrollitakse seda avaldist (lingi tingimust) enne linkimist kõigi lingiallika ridade puhul. Ja kui see avaldis on TRUE, siis üritatakse luua linke selle rea ja lingi vastuvõtja ridade vahel. Kui avaldis on FALSE, siis selliseid katseid ei tehta.

Tere, kallis lugeja! Meil on veel üks õppetund paigutussüsteemi põhitõdede kohta. Aastal tutvusite SKD väljenduskeele funktsioonidega, nägite paigutussüsteemi funktsioone ja mõistsite ka paigutusväljade põhiseadeid. Nüüd vaatame uut materjali. Mine!

ACS-väljade lisaseaded.

Veerg "Väärtuse tüüp" Võimaldab määrata paigutusvälja andmetüübi. Miks määrata tüüp näiteks väljale “Nomenklatuur”, kui sa juba tead, mis tüüpi see on? See on vajalik, kui paigutusväli on liittüüpi. Saate valida kindla tüübi, siis selle välja järgi valides valitakse selle tüübi väärtused.

Veerg "Saadaolevad väärtused" võimaldab määrata valikuks saadaolevaid väärtusi ja piirata kasutaja valikuid teatud piiridega.

Veerg "Dekoor" võimaldab määrata paigutusvälja kujundust ilma paigutusi kasutamata. Saate määrata fondi värvi, raami värvi, teksti orientatsiooni jne.

Veerg "Redigeerimisvalikud" Võimaldab määrata, kuidas paigutusvälja redigeerida. Näiteks saate määrata kiirvaliku elementide loendist valikus. Vaikimisi pärib paigutusväli metaandmeobjektilt kõik redigeerimissuvandid.

Arvutatud väljad

Andmekoosseisu vahekaardil „Arvutatud väljad“ saate luua oma arvutatud väljad.

Miks on vaja arvutatud välju, kui saate neid luua päringu tasemel? Kõiki välju ei saa päringu abil kirjeldada. Kui teil on vaja luua erinevatest andmekogumitest keeruline väli, näiteks päring ja objekt, siis ei saa te ilma arvutatud väljadeta hakkama. Andmekoosseisu välja ei saa lisada, kui andmeallikaks on päring ja automaatne täitmine on lubatud, kuid arvutatud välju kasutades saate lisada nii palju välju, kui soovite.

Arvutatud välja veerus „Avaldis” peate kirjutama suvalise avaldise, mis kasutab andmekoostise välju, pääsedes juurde nende teele (vahekaardi „Andmekogumid” veerg „Tee”). Võite kasutada matemaatilisi teisendusfunktsioone või pääseda juurde tavaliste moodulite funktsioonidele. Näiteks kirjutame veergu "Andmete tee" arvutatud välja "Deviation" nime ja väljale "Avaldis" järgmise.