Parametrų naudojimas SD. Parametrų naudojimas saugojimo sistemoje Aiškesni pavadinimai

Dėmesio! Tai įvadinė pamokos versija, kurios medžiaga gali būti neišsami.

Prisijunkite prie svetainės kaip studentas

Prisijunkite kaip mokinys, kad galėtumėte pasiekti mokyklos medžiagą

Duomenų komponavimo sistema 1C 8.3 pradedantiesiems: duomenų rinkinių sujungimas

  • Parašykite ataskaitą, kurioje pateikiami klientai ir jų mėgstami produktai. Kiekvienas klientas turi mėgstamą spalvą, o kiekvienas produktas turi savo spalvą – pagal šias spalvas reikia nustatyti prekės „mėgstamiausią“. Pavyzdžiui, jei Andrejaus mėgstamiausia spalva yra raudona, tada vienas iš jo mėgstamiausių maisto produktų bus pomidorai (jie yra raudoni).
  • Taikykite du duomenų rinkinius ataskaitoje. Pirmasis rinkinys yra duomenys iš katalogų lentelės „Klientai“. Antrasis yra duomenys iš katalogo lentelės „Maistas“.
  • Įgyvendinti ryšys tarp šių dviejų rinkinių, kad ataskaitoje būtų tik kiekvieno kliento mėgstamiausi produktai.

Sukurkite naują ataskaitą

Konfigūruotoje atidarykite „Gastronom“ duomenų bazę ir pagrindiniame meniu sukurkite naują ataskaitą:

Dokumento tipas – „Išorinė ataskaita“:

Naujos ataskaitos formoje nurodykite pavadinimą „6 pamoka“ ir spustelėkite mygtuką „Atidaryti duomenų sudėties diagramą“:

Palikite numatytąjį schemos pavadinimą:

Pridedamas pirmasis duomenų rinkinys

Atsidariusioje diagramoje eikite į skirtuką „Duomenų rinkiniai“ ir naudodami žalią pliuso ženklą pasirinkite „Pridėti duomenų rinkinį – užklausą“:

Skambinkite užklausos konstruktoriui:

Nurodome lentelę „Klientai“ ir laukus, kuriuos reikia gauti iš užklausos:

Pridedamas antras duomenų rinkinys

Pridėkite antrą duomenų rinkinį:

Pasirinkite jį (DataSet2) ir dar kartą iškvieskite užklausos konstruktorių:

Nurodome katalogo „Maistas“ lentelę ir laukus, kuriuos reikia gauti iš užklausos:

Gautas užklausos tekstas buvo toks:

Atminkite, kad šiuo metu ataskaitoje yra du duomenų rinkiniai: 1 duomenų rinkinys ir 2 duomenų rinkinys. Kiekvienas turi savo užklausos tekstą ir duomenis.

Padaryti pavadinimus labiau apibūdinančius

Aiškumo dėlei pervadinkime DataSet1 į Klientai ir DataSet2 į Food.

Atlikite tai dukart spustelėdami kiekvieną iš rinkinių:

Ataskaitoje galime naudoti kiekvieno rinkinio duomenis. Šiuos duomenis pasieksime per laukus.

Šiuo metu rinkinyje „Klientai“ yra šie laukai: „Vardas“ ir „Mėgstamiausia spalva“, o rinkinyje „Maistas“ yra: „Vardas“ ir „Spalva“.

Matome, kad pavadinimai sutampa ir galime lengvai susipainioti. Taigi pakeiskime laukų pavadinimus, kad jie būtų prasmingesni.

Pasirinkite rinkinį „Klientai“ ir pakeiskite laukų pavadinimus taip:

Tada pasirinkite rinkinį „Maistas“ ir pakeiskite laukų pavadinimus taip:

Nustatymų konstruktoriaus iškvietimas

Galiausiai eikite į skirtuką „Nustatymai“ ir spustelėkite stebuklingą lazdelę, kad būtų parodytas nustatymų kūrėjas:

Ataskaitos tipas – „Sąrašas...“:

Pasirinkite ataskaitos laukus iš abiejų rinkinių:

Sužinok, kodėl buvo taip svarbu pakeisti laukų pavadinimus? Duomenų sudėties nustatymų etape nematome, iš kurių rinkinių yra šie laukai. Matome tik jų vardus.

Ataskaitos tikrinimas

Išsaugome ataskaitą ir sugeneruojame vartotojo režimu:

Taip. Gerai, bet tikrai ne. Įvyko vadinamasis dviejų rinkinių kryžminis sujungimas (turėtumėte tai gerai žinoti iš užklausų sujungimų, kuriuos nagrinėjome ankstesniuose moduliuose). Kiekvienas lentelės Klientai įrašas turi atitinkamą įrašą iš lentelės Maistas.

Tačiau iš visų šių įrašų reikia palikti tik tuos, kurių laukas „Customer’s FavoriteColor“ yra lygus laukui „Maisto spalva“:

Sujungiame du duomenų rinkinius

Norėdami tai padaryti, sujungsime du duomenų rinkinius (Klientai ir Maistas), naudodami laukus Kliento mėgstamiausia spalva ir maisto spalva.

Eikite į skirtuką „Duomenų rinkinio nuorodos“ ir spustelėkite pliuso mygtuką, kad pridėtumėte naują nuorodą:

Mes sukonfigūruojame parametrus, kaip parodyta paveikslėlyje žemiau:

Aš padarysiu paaiškinimą.

Ryšio šaltinis ir gavėjas. Na, čia viskas aišku. Nurodome pirmąjį duomenų rinkinį (Klientai) ir antrąjį (Maistas). Noriu atkreipti ypatingą dėmesį į tai, kad bendravimas vyks pagal principą išorinis kairysis sujungimas(tai aptarėme ankstesniuose moduliuose užklausų temoje). Remdamiesi tuo, turite pasirinkti, kuris rinkinys bus šaltinis, o kuris imtuvas.

Išraiškos šaltinis.Čia nurodome išraišką arba tiesiog lauką iš šaltinio duomenų rinkinio (čia nurodėme lauką ClientFavoriteColor iš klientų rinkinio).

Imtuvo išraiška.Čia nurodome išraišką arba tiesiog lauką iš imtuvo duomenų rinkinio (čia nurodėme ColorFood lauką iš maisto rinkinio).

Taigi šis ryšys iš ankstesnio sąrašo paliks tik tas eilutes, kuriose Kliento laukas FavoriteColor yra lygus laukui FoodColor.

Išsaugokime ataskaitą ir paleisime ją vartotojo režimu:

Puiku!

Aš padarysiu paaiškinimą apie lauką " Bendravimo būklė“, apie kurią pradedantieji programuotojai taip dažnai smogia savo ietis.

Ryšio sąlyga yra pagalbinis laukas. Ten galite rašyti posakius apimančius laukus tik iš nuorodos šaltinyje nurodyto duomenų rinkinio.

Šiuo atveju visose nuorodos šaltinio eilutėse ši išraiška (nuorodos sąlyga) bus patikrinta prieš sukuriant nuorodą. Ir jei ši išraiška yra TRUE, tada bus bandoma užmegzti ryšius tarp šios eilutės ir nuorodų imtuvo eilučių. Jei išraiška yra FALSE, tokie bandymai nebus atliekami.

SKD yra užklausa, kurioje yra sąlygos ir atitinkamai parametrai.

Kaskart atidarant ataskaitą yra iš anksto nustatytas parametras.Kaip teisingai jį nurodyti ACS?

Tu gali tai padaryti:

Procedūra OnOpen()

//.........................

DataParameter=NustatymaiComposer.Settings.DataParameters.Items.Find("Produktas");

Data Parameter.Value = Directories.Nomenclature.FindByName("Vinys");

DataParameter.Usage=True;

//...........................................

Procedūros pabaiga

//////////////////////////////////////////

Darbo su virtualių funkcijų parametrais ypatybės

Prašymo parametras

Užklausos kalba leidžia nurodyti virtualios funkcijos parametro reikšmę. Šiuo atveju daugumos parametrų išraiška gali būti naudojama kaip parametro reikšmė. Parametras taip pat gali veikti kaip išraiška.

Pavyzdys: kaupimo registras. Pardavimai. Revoliucijos (&Pradėti)

Šiame pavyzdyje &Start parametro reikšmė bus naudojama kaip pirmojo virtualiosios lentelės parametro reikšmė.

Duomenų komponavimo parinktis

Naudodamiesi specialiomis instrukcijomis užklausos tekste, galite nurodyti, kuris duomenų sudėties parametras bus naudojamas kaip virtualios lentelės parametro reikšmė.

Kaupimo registras. Pardavimai. Revoliucijos ((ir laikotarpio pradžia ))

Šiame pavyzdyje parametro &PeriodStart reikšmė bus naudojama kaip pirmojo virtualiosios lentelės parametro reikšmė, jei jo reikšmė nustatyta duomenų sudėties nustatymuose.

Užklausos parametro ir duomenų sudėties parametro bendrinimas

Jei užklausoje nurodoma ir parametro išraiška, ir duomenų sudėties parametras, tada naudojama duomenų sudėties parametro reikšmė, jei šio parametro reikšmė nustatyta kompozicijos nustatymuose. Kitu atveju kaip parametro reikšmė naudojamas virtualios funkcijos parametre nurodytos išraiškos rezultatas.

Kaupimo registras. Pardavimai. Revoliucijos (ir pradžia (ir laikotarpio pradžia))

Šiame pavyzdyje, jei nustatymuose nustatytas parametras Laikotarpio pradžia, bus naudojama jo reikšmė. Kitu atveju pradinė išraiška, t. y. &Start, liks sugeneruotame užklausos tekste, o šio parametro reikšmė bus naudojama kaip virtualios lentelės parametro reikšmė.

Automatinio duomenų rinkinio laukų užpildymo parinktys

Automatiškai užpildžius turimus duomenų sudėties schemos duomenų rinkinio laukus, sistema automatiškai prideda prie schemos virtualiosios lentelės parametrus su pavadinimais, atitinkančiais virtualiosios lentelės parametrų pavadinimus, jei virtualios lentelės parametras neturi aprašo duomenų sudėties parametras.

Taigi įrašas:

Kaupimo registras. Pardavimai. Revoliucijos (&Pradėti)

atitinka šiuos dalykus:

Kaupimo registras. Pardavimai. Apyvartos (& Pradžia (& Laikotarpio pradžia ), (& Laikotarpio pabaiga))

O parametro &Pradėti reikšmė naudojama tik tuo atveju, jei parametras &Tako pradžios parametras nenustatytas nustatymuose.

[norėdami pamatyti nuorodą, turite užsiregistruoti]