1c 8.3 langelio savybių parametrų dekodavimas
Klausimas: Prašome patarti, kaip atlikti šiuos veiksmus.
Skaičiuoklės dokumente rodomas užklausos rezultatas, yra langelio iššifravimas.
Noriu dukart spustelėti langelį, kad paleisčiau procedūrą, kuri, pavyzdžiui, paleidžia ląstelės iššifravimo ataskaitą.
Atsakymas: Iššifravimas yra standartinis ir nestandartinis.
i) Standartinis:
galima naudoti tiek tiesiogiai skaičiuoklės dokumente, tiek objekte SpreadsheetDocumentField (tai yra skaičiuoklės dokumentas, patalpintas ne atskirame lange, o tiesiai ant formos).
Kad iššifravimas veiktų, turi būti įvykdytos 3 sąlygos:
1) Skaičiuoklės dokumento langelyje, iš kurio norime iškviesti iššifravimą, turi būti nustatytas propertyDecryptionParameter. Pavyzdžiui, norime dukart spustelėjus langelį su sandorio šalies pavadinimu, kad būtų atidaryta sandorio šalies žinyno elemento forma, kad galėtume patikslinti kai kuriuos duomenis, kurie ataskaitoje nerodomi. Nustatykite ypatybę DecryptionParameter į tam tikrą reikšmę, pavyzdžiui, AccountDecryption.
2) Išvedant maketavimo sritis į gautą skaičiuoklės dokumentą, iššifravimo parametrui PRIVALOMA priskirti reikiamo tipo reikšmę, pvz.:
Kodas 1C v 8.x TabDoc = naujas skaičiuoklės dokumentas;
Selection = Directories.Contractors.Select();
// .................................................
Scope.Parameters.DecryptionAccountant = Selection.Reference;
TabDoc.Output(Regionas);
EndCycle;
3) Turi būti uždrausta redaguoti langelį su iššifravimu, t.y. turi būti nurodyta
TabDoc.ViewOnly = Tiesa;
kitu atveju, nepaisant daug žadančios žymeklio išvaizdos, užvesdami pelės žymeklį virš langelio, galite jį spustelėti kiek norite, bet nieko nebus.
II) Nestandartinis:
dukart spustelėję langelį su iššifravimu, galite iškviesti savo procedūrą. Norint tai įgyvendinti, turi būti įvykdytos kelios sąlygos:
1) Skaičiuoklės dokumento išvedimas turi būti atliktas SpreadsheetDocument Field objekte;
2) Ląstelės ypatybei ParameterDecryption turi būti priskirta reikšmė, pavyzdžiui, DecryptionAccount.
3) Iššifravimo parametrui Sandorio šalies iššifravimas priskiriamas reikšmių sąrašas, užpildytas reikiamomis reikšmėmis formuojant skaičiuoklės dokumentą arba, dažniau, struktūrą. Visų pirma, gali būti perduodamas standartinės konfigūracijos ataskaitos pavadinimas ir parametrai, kuriuos reikia nustatyti ataskaitos formoje, pvz., datos laikotarpis, sąskaitos numeris ir kt. Ir tada ši ataskaita vadinama procedūra.
4) Objekto SpreadsheetDocument Field ypatybė ViewOnly turi būti nustatyta į True.
5) Naudotojo procedūros kodas įdedamas į procedūrą
1C v 8.x kodas
// pirmoji eilutė joje turėtų būti tokia:
Standartinis apdorojimas = False;
Pateiksiu nedidelį pavyzdį, kuris atidaro antraeilį katalogą „paspaustai“ sandorio šaliai.
Kodas 1C v 8.x Procedūros mygtukasGeneratePress (mygtukas)
Rangovai = Directories.Contractors;
Pasirinkimas = Counterparties.Select();
Tab = FormElements.SpreadsheetDocumentField1;
Išdėstymas = GetLayout("Išdėstymas");
Nors pasirinkimas.Kitas() Ciklas
Jei Selection.ThisGroup = False Tada
Regionas = Layout.GetRegion("Eilutė");
Taikymo sritis.Parameters.Account = Selection.Description;
.................................................................................................
StructDecryption = nauja struktūra;
StructureDecoding.Insert("Paskyra", Selection.Reference);
StructureDecryption.Insert(".......",.........);
.........................................................................
Scope.Parameters.DecryptionAccountant = StructureDecryption;
FormElements.SpreadsheetDocumentField1.Output(Sritis);
Priešingu atveju
Tęsti;
EndIf;
EndCycle;
FormElements.SpreadsheetDocumentField1.ViewOnly = Tiesa;
Procedūros pabaiga
procedūra
Standartinis apdorojimas = False;
Sutartys = Directories.Contracts.GetListForm();
Contracts.ParameterSelectionByOwner = Paaiškinimas.Rangovas;
Sutartys.Open();
Procedūros pabaiga
Šioje pamokoje sužinosime, kaip 1C sukurti lentelių maketus, kuriuos vėliau bus galima panaudoti.
Pavyzdžiui, kaip sugeneravau maketus .
Nuėjau į apdorojimo formą ir nuėjau į skirtuką „Išdėstymai“:
Atsidaro skaičiuoklių rengyklė:
Daugeliu atžvilgių darbas redaktoriuje yra panašus į darbą Excel, tačiau yra keletas ypatumų, prie kurių norėčiau pasilikti.
Ką aš turiu galvoje sakydamas regioną? Tai yra kelios eilutės ir keli langeliai, apskritai bet kuri skaičiuoklės dokumento dalis, kurią galime pasirinkti kairiuoju pelės mygtuku.
Čia yra dviejų eilučių pasirinkimas:
Ir čia yra pasirinkta sritis su 2 stulpeliais:
Ir dabar mes pasirinksime sritį, esančią pirmųjų dviejų eilučių ir pirmųjų dviejų stulpelių sankirtoje:
Taigi. Jei mums pavyko pasirinkti mums reikalingą sritį, tada dešiniuoju pelės mygtuku spustelėję jį ir pasirinkę elementą „Ypatybės“, galime suteikti jai pavadinimą, kuriuo mes į jį kreipsimės iš savo kodo, sudarydami spausdinamą:
Tai yra pagrindinis įgūdis, kurį turime išmokti, kad galėtume sudaryti lentelių maketus.
Kaip peržiūrėti jau priskirtus vardus
Ir pažiūrėkime, kokie pavadinimai jau priskirti sritims makete?
Norėdami tai padaryti, konfigūratoriaus meniu pasirinkite:
Čia yra mūsų naujai priskirta „Antraštės“ sritis:
Ir jei dabar mes pasirinksime jį dialogo lange ir paspauskite "Pasirinkti", tada redaktoriuje bus pasirinktas atitinkamas. ląstelės plotas:
Kaip nustatyti apimties parametrą
Dažnai formuojant spausdinamą sritį reikia ne tik pašalinti plotą iš maketo. Taip pat turite užpildyti tam tikrus langelius tam tikrais parametrais.
Mes nustatome šiuos ploto parametrus ir pateiktos reikšmės automatiškai patenka į norimas ląsteles.
Norėdami tai padaryti, mums reikalingos ląstelės savybėse (kur bus rodoma parametro reikšmė) ...
Lauke „Pildymas“ nurodykite reikšmę „Parametras“, o lauke „Parametras“ įrašome pavadinimą, kuriuo nurodysime šį parametrą iš kodo:
Jei pildydami nurodysite ne „Parametras“, o „Šablonas“, tada pačiame langelyje bus galima nurodyti tam tikrą tekstą (šabloną), naudojant parametro pavadinimą laužtiniuose skliaustuose:
Šiuo atveju parametro pavadinimas (ir jo padėtis šablone) yra laužtiniuose skliaustuose.
Kaip nustatyti iššifravimo parinktį?
Iššifravimo parametro pavadinimas nustatytas tose pačiose langelio ypatybėse:
Vėliau iš kodo šiam parametrui (pavadinimu „Nomenklatūros dekodavimas“) priskirsime norimą reikšmę (nuorodą į nomenklatūros elementą).
O vartotojui dukart spustelėjus šį langelį, jam atsivers dešifravimo parametrui priskirta reikšmė (tokiu atveju atsidarys nomenklatūros elemento forma).
Tolesni atsisveikinimo žodžiai
Mes apžvelgėme būtinus pagrindus. Dabar atidžiai išnagrinėkite.
Atsisiųskite šią duomenų bazę. jame apdorojimas "Tyrimas bandymams".
Jo išdėstymai turi lentelių parinktis. Ištirkite juos kuo nuodugniau, pasikliaudami metodais, kuriuos aptarėme aukščiau.