Panagrinėkime šiame straipsnyje žingsnis po žingsnio instrukcijas Norėdami sukurti išorinį apdorojimą 1C 8.3 valdomų programų režimu, atitinkamai naudosime valdomas formas. Ir, svarbiausia, išmoksime jį prijungti prie 1C konfigūracijų „išorinio apdorojimo“ mechanizmo, sukurto remiantis standartinių 2.0 ir naujesnių versijų posistemių biblioteka.
Užduotis bus tokia: sukurti paprasčiausią išorinį apdorojimą, kuris atliks grupinį veiksmą kataloge „Prekė“, ty nustatyti pasirinktą PVM tarifo procentą nurodytai prekių grupei.
Norėdami tai padaryti, mes nedelsdami atliksime reikiamus nustatymus programoje (valdomose formose svarstome 1C 8.3 konfigūraciją: „Įmonės apskaita 3.0“).
Pažymėję šį langelį, galime naudoti išorinį apdorojimą.
Naujo išorinio apdorojimo kūrimas 1C 8.3 naudojant pavyzdį
Dabar eikime į konfigūratorių. Meniu „Failas“ pasirinkite „Naujas...“. Atsidarys langas, kuriame galėsite pasirinkti kuriamo failo tipą. Pasirinkite „Išorinis apdorojimas“:
Atsidarys naujas išorinio apdorojimo langas. Duokime jai tuoj pat vardą. Jis bus pasiūlytas išsaugant apdorojimą diske:
Pridėkime naują kontroliuojamo apdorojimo formą. Mes nurodome, kad tai yra apdorojimo forma ir ji yra pagrindinė:
Formoje turėsime dvi detales:
- Nomenklatūros grupė – nuoroda į katalogą „Nomenklatūra“;
- SelectVATRate – nuoroda į PVM tarifo perkėlimą.
Išsamią informaciją sukuriame viršutiniame dešiniajame lango stulpelyje „Ypatybės“. Vilkite juos pele į viršutinį kairįjį langą. Nauja informacija turėtų būti nedelsiant pateikta žemiau esančioje formoje.
Detalių eiliškumą galima keisti naudojant rodykles „aukštyn“ – „žemyn“:
Gaukite 267 vaizdo įrašų pamokas 1C nemokamai:
Lieka tik pridėti mygtuką „Įdiegti“. Valdomose formose negalite tiesiog pridėti mygtuko prie formos. Net jei pridėsite jį prie formos elementų struktūros, jis nebus matomas pačioje formoje. Mygtukas turi būti susietas su komanda, kurią jis vykdys. Eikite į skirtuką „Komandos“ ir pridėkite komandą „Nustatyti PVM tarifą“. Komandos ypatybėse sukurkite veiksmą. Pasirinkite komandų tvarkyklę „Kliente“. Komandą taip pat galima pridėti prie formos tiesiog nutempus ją į skyrių su formos elementais.
Formos modulyje bus sukurta to paties pavadinimo procedūra. Jame mes iškviesime procedūrą serveryje:
&OnClient
PVM tarifo nustatymo procedūra (komanda)
SetVATRateOnServer();
Procedūros pabaiga
Procedūroje serveryje parašysime nedidelę užklausą ir veiksmus, susijusius su PVM tarifo nustatymu:
&Serveryje
Procedūra SetVATRateOnServer()
Užklausa = nauja užklausa;
Užklausa.Tekstas =
"PASIRINKITE
| Nomenklatūra.Nuoroda
|NUO
| Katalogas.Nomenklatūra AS Nomenklatūra
|KUR
| Nomenklatūra. HIERARCHIJOS nuoroda (&Nomenklatūros grupė)
| IR NE Nomenklatūra.MarkDeletion
| IR NE nomenklatūra. Tai grupė“;
Request.SetParameter("Prekių grupė", Prekių grupė);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();
Nors SelectRecordDet.Next() Loop
Bandymas
SprNomObject.Write();
Išimtis
Report("Klaida rašant objektą """ + SprNomObject + """!
|» + DescriptionError());
EndAttempt;
EndCycle;
Procedūros pabaiga
Grįžtame į skirtuką „Forma“, pridedame mygtuką prie formos ir susiejame jį su komanda:
Taigi mūsų apdorojimas yra paruoštas naudoti. Norėdami jį paskambinti, „1C Enterprise“ režimu turite eiti į meniu „Failas“ - „Atidaryti“ ir pasirinkti sukurtą failą.
Tačiau darbas šiuo režimu yra patogus derinimo apdorojimui, tačiau nėra visiškai tinkamas vartotojui. Vartotojai yra įpratę, kad viskas yra „po ranka“, tai yra pačioje duomenų bazėje.
Tam skirta skiltis „Papildomos ataskaitos ir apdorojimas“.
Bet norėdami pridėti savo apdorojimą, pirmiausia turime pateikti jam aprašymą ir nurodyti programai jo savybes.
Funkcijos „Informacija apie išorinį apdorojimą“ aprašymas
Pateiksiu šios funkcijos turinio pavyzdį. Jis turi būti eksportuojamas ir atitinkamai yra apdorojimo modulyje:
Funkcija InformationOnExternalProcessing() Export
DataForReg = Nauja struktūra();
DataForReg.Insert("Pavadinimas", "PVM tarifo nustatymas");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Versija", "ver.: 1.001");
DataForReg.Insert("Informacija", "PVM tarifo nustatymo Nomenklatūros kataloge apdorojimas");
DataForReg.Insert("View", "AdditionalProcessing");
CommandTable = NewValueTable;
TabZnCommands.Columns.Add("Identifier");
TabZnCommands.Columns.Add("Naudojimas");
TabZnCommands.Columns.Add("View");
NewRow = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewRow.Use = "OpenForm";
NewRow.View = "Atviras apdorojimas";
DataForReg.Insert("Komandos", TabZnCommands);
Grąžinti DataForReg;
EndFunction
Norėdami geriau suprasti, kuriuos registracijos duomenų struktūros laukus reikia naudoti, pažvelkime į katalogą „Papildomos ataskaitos ir apdorojimas“:
Kaip matote, viskas yra gana paprasta. Neatitinka tik vienas atributas: „Paleidimo parinktis“ – „Naudoti“. Jei pažvelgsime į vieno iš įprastų modulių kodą, pamatysime, kaip atsiranda daugybė šių laukų:
Norėdami nustatyti, kurie struktūros laukai yra būtini, pirmiausia galite jos neaprašyti, tiesiog sukurti tuščią ir tada naudoti derinimo priemonę. Jei registruodami apdorojimą atsekate modulius, iškart tampa aišku, kurie laukai reikalingi, o kurie ne.
Išorinio apdorojimo prijungimas 1C 8.3
Norint dirbti su išoriniu apdorojimu (o išorinė spausdinimo forma taip pat yra išorinis apdorojimas), yra objektas Išorinis apdorojimas.
Panagrinėkime du galimus atvejus:
Išorinis apdorojimas saugomas diske atskirai nuo informacijos bazės
Norėdami programiškai atidaryti išorinį apdorojimą 1C, turite žinoti jo failo adresą. Žinodami tai, galite atidaryti apdorojimo formą arba gauti apdorojimo objektą, kad su juo būtų atlikti tolesni veiksmai (pavyzdžiui, iškviesti eksporto funkcijas iš objekto modulio).
Išorinės apdorojimo formos atidarymas
Norėdami programiškai atidaryti išorinę apdorojimo formą 1C, naudokite funkciją GetForm() objektas Išorinis apdorojimas. Funkcija turi keletą parametrų. Apsvarstykite paprastą pagrindinės apdorojimo formos atidarymą:
Forma = išoriniai procesai. GetForm(Failo adresas) ;
Forma. Atviras();
Norėdami atidaryti nedidelę išorinio apdorojimo formą, turite nurodyti jos pavadinimą.
//Kintamajame FileAddress yra visas išorinio apdorojimo failo kelias
Forma = išoriniai procesai. GetForm (failo adresas, "Mažoji forma") ;
Forma. Atviras();
Išorinio apdorojimo kaip objekto atidarymas
Norint gauti išorinį apdorojimą kaip objektą, naudojama funkcija Sukurti () objektas Išorinis apdorojimas.
//Kintamajame FileAddress yra visas išorinio apdorojimo failo kelias
ProcessingObject = Išorinis apdorojimas. Sukurti(Failo adresas) ;
Pagal numatytuosius nustatymus visas apdorojimas atidaromas saugiuoju režimu. Norėdami jį išjungti, naudokite šias parinktis:
//Kintamajame FileAddress yra visas išorinio apdorojimo failo kelias
Išorinio apdorojimo arba spausdinimo forma išsaugota informacijos bazėje
Daugelyje konfigūracijų galima išsaugoti išorines spausdintas formas ir apdorojimą tiesiogiai informacijos bazėje. Tam naudojamas žinynas. Išorinis apdorojimas. Pats išorinis apdorojimas saugomas kaip dvejetainiai duomenys arba atributuose SaugyklaIšorinis apdorojimas, arba lentelės skyriuje Priklausymas butaforijoje SaugyklaIšorinis apdorojimas.
Norėdami atidaryti išorinį apdorojimą, jums reikia:
- Gaukite jį iš saugyklos.
- Išsaugokite apdorotą failą diske.
- Atidarykite formą arba gaukite apdorojimo objektą.
- Jei turime reikalą su išorine spausdinta forma, galime užpildyti standartinius duomenis Objekto nuoroda ir iškvieskite eksporto funkciją Antspaudas.
//RefLink kintamajame yra nuoroda į ExternalProcessings katalogo elementą
DvData = RefLink. Išorinė apdorojimo saugykla. Gauti ();
Failo adresas = GetTemporaryFileName() ;
DvData. Rašyti(Failo adresas) ;
ProcessingObject = Išorinis apdorojimas. Sukurti(Failo adresas, Netiesa) ;