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;
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
Looge aruanne sõlmes Aruanded
Looge aruandes paigutus, mille tüüp on andmepaigutuse skeem
Aruande atribuutides määrake: Põhiandmete paigutusskeem = Loodud paigutus
Aruande atribuutides määrake alamsüsteem, kuhu see kuulub (Enterprise aruanne kuvatakse ülemisel navigeerimispaneelil)
Päringu loomine paigutuses (üksus: Andmestiku lisamine – päring)
Paigutuse vahekaardil Options peate eemaldama märge kõigist ridadest veerus Availability Restriction – st. kõik parameetrid on kasutajal redigeerimiseks saadaval
Paigutuse vahekaardil Seadistused, aknas, kus kuvatakse Aruande sõlm, tuleb luua uus rühmitus ilma grupeerimisvälja määramata - luuakse üksikasjalik rida
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
Valige paigutuse vahekaardil Seaded aknas, kus kuvatakse täiendav järjehoidjate komplekt, valige täiendav. Vahekaart SelectedFields – sinna tuleb lisada veerud, mis aruandes kuvatakse
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 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:
//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
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
<>"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.
Määrake veeru "Kuva väljendus" väärtus
siin saate sisestada keeleavaldise, mis toodab soovitud stringi
see ei tööta ressursiväljadega
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
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.
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?
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;
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.
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.