1s 8 išorinės spausdinimo formos sukūrimas. Publikacijos

Instrukcijos

Atidarykite 1C:Enterprise programos versiją 8. Atkreipkite dėmesį į meniu punktą „Paslauga“ - „Išorinio apdorojimo ir spausdinimo formos“. Su jo pagalba galite saugoti išorines ataskaitas, apdorojimą, spausdintas formas, taip pat lentelių elementų užpildymo apdorojimą. Taip pat galite prijungti išorinę formą, o ne pakeisti esamą, o tai reikštų programos konfigūravimo trukdžius.

Paleiskite programą 1C:Enterprise konfigūravimo režimu, tada sukurkite išorinį apdorojimą, kad tai padarytumėte, vykdykite komandą „Failas“ - „Naujas“. Atsidariusiame lange pasirinkite „Išorinis apdorojimas“. Ekrane pasirodys nauja išorinio apdorojimo forma. Suteikite jam pavadinimą „Išorinis“. Tada pridėkite naują atributą pavadinimu „Objekto nuoroda“, nurodykite jo tipą – „Dokumentas. Nuoroda. Prekių ir paslaugų pardavimas“. Norėdami sukurti kitokio tipo dokumento spausdinimą, naudokite atitinkamą nuorodos tipą.

Pridėkite naują maketą spustelėdami atitinkamą mygtuką naujos formos lange. Pavadinkite jį „Išdėstymas“, sukurkite sritį pavadinimu „Antraštė“, suteikite parametrą „Antraštės tekstas“. Tada spustelėkite mygtuką „Veiksmai“, pasirinkite komandą „Atidaryti objekto modulį“. Tada įterpkite modulio tekstą, galite naudoti pavyzdį, paskelbtą svetainėje http://www.uasoft.com.ua/content/articles/315/.

Paleiskite programą 1C:Enterprise, eikite į meniu Įrankiai, pasirinkite Išorinės spausdinimo formos. Pridėkite naują įrašą į formų sąrašą. Norėdami tai padaryti, pasirinkite sukurtą apdorojimo failą ir lentelės skiltyje nurodykite, kad forma priklauso dokumentui „Prekių pardavimas“. Patikrinkite, ar nauja spausdinimo plokštė tinkamai veikia. Norėdami tai padaryti, atidarykite sukurtą dokumentą, sekite jį, tada ekrano apačioje spustelėkite mygtuką „Spausdinti“, pasirinkite parinktį „Išorinė spausdinimo forma“.

Šaltiniai:

  • kaip pakeisti spausdintą formą 1c

Norint sukurti ir redaguoti objektų formas, programoje 1C:Enterprise yra specialus formų rengyklė (arba Form Designer). Taikomųjų sprendimų objektų formos skirtos vizualiai vaizduoti duomenis dirbant su programa. Formų rengyklėje yra keli skirtukai, suteikiantys galimybę redaguoti visus formos elementus.

Jums reikės

  • kompiuteris, 1C programa

Instrukcijos

Naudodami formų rengyklę, prie formos galite pridėti vieną ar daugiau elementų „Grupė – puslapiai“; norėdami tai padaryti, spustelėkite žalią pliuso ženklą viršutiniame kairiajame redaktoriaus kampe, būdami skirtuke „Elementai“.
1C:Enterprise režimu visi esami grupės elementai bus rodomi atskirame skirtuke. Norėdami jį pastatyti virš arba po darbiniu, tam tikros grupės lange „Ypatybės“ elemente „Ekranas“ pasirinkite atitinkamą komandą.

Taip pat galite pridėti elementų į formą, vilkdami reikiamą informaciją į elementų medį. Kad būtų lengviau naršyti formų valdiklius redaguojant ar įvedant duomenis, nustatykite jums tinkančią tvarką, išdėstydami elementus medyje ir subordinuodami juos kitiems elementams bei nustatydami grupės elementų savybes pagal savo poreikius.
Norėdami redaguoti formos informaciją – keiskite, kurkite naujas arba ištrinkite, naudokite atitinkamo skirtuko detalių medžio srityje esantį skydelį.

Norėdami redaguoti komandų sąsają, eikite į atitinkamą skirtuką. Pamatysite komandų medį, kurio pagrindinės šakos yra „Navigacijos skydelis“ ir „Komandų skydelis“. Kai kurios komandos į komandų sąsajos medį įtraukiamos automatiškai, tačiau jas galite įtraukti ir patys, vilkdami reikalingas komandas iš visuotinių (bendrųjų) komandų sąrašo arba iš formų komandų sąrašo.

Formos komandos redaguojamos atitinkamame sąraše. Galite juos įtraukti, pašalinti iš sąrašo, kiekvienai komandai nustatyti ypatybes naudodami savybių paletę, kurią galite iškviesti sąrašo komandų eilutėje paspaudę pieštuko piktogramą.
Norėdami redaguoti formos parametrus, eikite į skirtuką „Parametrai“, kur taip pat galite juos pridėti, ištrinti ir nustatyti norimas ypatybes.

Video tema

Sąskaitų planas, naudojamas apskaitoje įmonės ūkinei veiklai rodyti, palaiko kelių lygių hierarchiją: sąskaita – subsąskaitos. Kad vartotojas galėtų peržiūrėti sąskaitų plane esančius duomenis ir juos ištaisyti, 1C sistema leidžia keisti sąskaitos formą. Be to, spausdintą sąskaitos faktūros formą galima pakeisti bet kuriame kitame 1C dokumente.

Jums reikės

  • - asmeninis kompiuteris su 1C.

Instrukcijos

Kiekvienai sąskaitai ar subsąskaitai teikiama analitinė apskaita. Todėl kuriant ir vėliau redaguojant sąskaitų planą 1C, galima pateikti reikiamą skaičių subsąskaitų, tai yra, analitinės apskaitos objektų. Be to, sąskaitų ir subsąskaitų koregavimą gali atlikti vartotojas, dirbantis su automatine apskaitos sistema, arba programinės įrangos kūrėjas.

Kaip pridėti (užregistruoti) išorinę spausdintą formą (arba apdorojimą) 1C apskaitoje 8.3 (3.0 versija)

2019-05-15T13:40:54+00:00

Dažnai buhalteriui reikia papildomos spausdintos formos vienam iš standartinių dokumentų 1C: Apskaita 8.3 (3.0 peržiūra). Arba reikia papildomo apdorojimo, pavyzdžiui, norint automatiškai užpildyti dokumentą arba pagal jį įvesti naują. Dažniausiai kažkas jau yra sukūręs tokią funkciją ir ją galima rasti arba užsisakyti pas programuotoją. O dabar redakcija gauta, belieka pridėti prie buhalterijos. Kaip tai padaryti? Daugiau apie tai žemiau, žingsnis po žingsnio.

1. Atidarykite „1C Accounting 3.0“ ir kairiajame skydelyje pasirinkite „Administravimas“ -> „Spausdinti formas, ataskaitas ir apdorojimas“.

2. Čia raskite ir pasirinkite „Papildomos ataskaitos ir apdorojimas“, pažymėję kairėje esantį žymimąjį laukelį „Papildomos ataskaitos ir apdorojimas“.

3. Spustelėkite mygtuką „Pridėti iš failo...“.

4. Ir pasirinkite failą su išorine spausdinimo forma arba apdorojimu (epf plėtiniu).

5. Naujame lange spustelėkite mygtuką „Išsaugoti ir uždaryti“.

6. Atidarykite norimą dokumentą ir įsitikinkite, kad spausdinimo mygtuko arba elemento meniu „Kurti remiantis“ arba naujo mygtuko formos įrankių juostoje atsiranda kita spausdinimo formos parinktis. Pasiruošę!

Pagarbiai Vladimiras Milkinas(mokytojas ir kūrėjas).

Gyvenimas tęsiasi, keičiasi teisės aktai, kūrėjas išleidžia konfigūracijos atnaujinimus ir vėl turime pasirinkimą: įdiegti naujinimą patys arba vėl skambinti programuotojui, kad „įdiegtų naują leidimą“...

Susipažinkime su spausdinimo formų keitimo nekeičiant konfigūracijos mechanizmu.


Kiekvieno 1C naudojančio buhalterio praktikoje kada nors iškildavo poreikis patiems keisti konfigūraciją: vieni pakoregavo kainos ar sumos tikslumą sąskaitoje, kiti įdėjo logotipą ir pakoregavo sąskaitos išvaizdą. Viskas būtų gerai, bet labai daug tokių pakeitimų susikaupia laikui bėgant ir atėjus laikui atnaujinti leidimą iškyla dilema: arba pamesti visus atliktus pakeitimus, arba iškviesti programuotoją, kad perkeltų visus pakeitimus į naują (iš kursai už papildomą mokestį). Kaip būti? Norėdami kažkaip supaprastinti konfigūracijų atnaujinimą, kūrėjai sukūrė naują mechanizmą: „Išorinis apdorojimas, spausdintos formos, lentelių dalių užpildymo apdorojimas“. Šiandien apžvelgsime tik dalį šio mechanizmo – spausdinimo formas.


Bet kurį dalyką geriausia išmokti pavyzdžiu. Nustatykime sau tokią užduotį: prie konfigūracijos pridėkite galimybę atspausdinti sąskaitą faktūrą (dokumentą „Prekių ir paslaugų pardavimas“) su mūsų įmonės logotipu. Be to, būtina, kad dokumento antraštėje būtų užrašai "tiekėjas" Ir "pirkėjas" buvo paryškinti pusjuodžiu šriftu ir galiausiai dokumento apačioje turi būti vieta saugos tarnybos, suteikusios leidimą siuntimui, parašui.


Pateikiame dvi papildomas sąlygas:

  • Nauja spausdinta forma turėtų pakeisti senąją formą "Sąskaita faktūra"
  • Konfigūracijos pakeisti negalima, nes ateityje norime naudoti automatinį konfigūracijos atnaujinimą

Na, kokia užduotis? Atrodo per sudėtinga? Na, kuo jis sudėtingesnis, tuo įdomesnis ir tuo labiau norisi jį išspręsti. Tada kibk į darbą.


Mes paleidžiame savo duomenų bazę konfigūratoriaus režimu. Atidarykite konfigūraciją pagrindiniame meniu pasirinkę komandą „Konfigūracija > Atidaryti konfigūraciją“. Pačios konfigūracijos jokiomis aplinkybėmis nekeisime. Naudosime kaip prototipą. Čia atliksime pagrindinį darbą, bet redaguosime išorinį apdorojimą. Išorinį apdorojimą sukuriame komanda pagrindiniame meniu „Failas > Naujas“. Dokumento tipo pasirinkimas „Išorinis apdorojimas“. Pirmajam apdorojimui nustatykime pavadinimą "Firmos sąskaita faktūra"


Svarbu! Apdorojimo pavadinime neturi būti tarpų, kaip ir kintamųjų pavadinimuose.


Dabar padarykime šiek tiek "plagiatas". Nukopijuokime maketą "Sąskaita faktūra" iš dokumento „Prekių ir paslaugų pardavimas“. Norėdami tai padaryti, rasime jį filiale "Dokumentacija" konfigūracijos medis. Išplėskite šią giją spustelėdami piktogramą «+» ir rasti mums reikalingą išdėstymą "Sąskaita faktūra"(tai yra gijoje "Išdėstymai"). Norėdami nukopijuoti šį objektą, turite pasirinkti šį išdėstymą medyje ir paleisti komandą „Redaguoti > Kopijuoti“(tas pats veiksmas vyksta su deriniu CTRL + C). Dabar pereikime prie mūsų sukurto apdorojimo, pasirinkite etiketę medyje "Išdėstymai" ir pagrindiniame meniu pasirinkite elementą - „Redaguoti > Įklijuoti“ (CTRL+V). Rezultatas turėtų atrodyti kaip 1 pav.


Dabar dukart spustelėkite, kad atidarytumėte išdėstymą.

Kas yra "išdėstymas"

Pakalbėkime keletą žodžių apie išdėstymo tikslą.

Išdėstymas- saugykla "Statybiniai blokai", sritys, iš kurių, kaip iš plytų, statomas lentelės dokumentas, kurį esame įpratę vadinti spausdinta forma. Sritys apibrėžiamos naudojant horizontalias ir vertikalias atkarpas arba jų sankirtas. Mūsų makete yra tik horizontalios dalys: „Antraštė“, „Tiekėjas“, „Pirkėjas“, „Lentelės antraštė“, „Eilutė“ (žr. 2 pav.). Sritis yra ląstelių rinkinys. Kaip ir MS Excel, langelius galima sujungti, keisti teksto ir fono spalvas, šriftus ir pan. Visus langelio nustatymus galima peržiūrėti ir keisti langelio ypatybių lange. Nustatymų langą galite iškviesti dešiniuoju pelės mygtuku spustelėdami langelį ir pasirinkę kontekstinio meniu elementą "Ypatybės"(tas pats rezultatas pasiekiamas sparčiuoju klavišu Alt + Enter).


Ląstelėje gali būti viena iš trijų tipų reikšmių:

  1. tekstą– tokio tipo reikšmė bus išspausdinta ta pačia forma;
  2. parametras– šio tipo langelyje yra kintamojo, kurio reikšmė bus spausdinama, pavadinimas.
  3. mėginys– šio tipo ląstelės yra pirmosios ir antrosios parinkčių derinys. Ląstelėje gali būti tekstas ir kintamieji. Kad programa atskirtų tekstą nuo kintamojo, kintamieji turi būti pateikti laužtiniuose skliaustuose: "Šiandien yra [data]".

Svarbu! Lentelės redaktorius rodo antrojo ir trečiojo tipo langelių reikšmes trikampiuose skliaustuose. 2 paveiksle yra langelis su tekstu "Pirkėjas"– atrodo kaip tekstas ir langelio dešinėje „Pirkėjo pristatymas“- parametras.

Kodėl aš visa tai sakau? Dabar žinote, kuriose ląstelėse galite lengvai pakeisti turinį, o kuriose nepageidautina nieko keisti, nes turėsite pakeisti spausdinimo algoritmą.

Dabar grįžkime prie savo užduoties. Sukūrėme apdorojimą, nukopijavome maketą ir esame pasirengę jį modifikuoti, kad tiktų sau. Pirmiausia pažvelkime į tai atidžiau.

Kas įtraukta į spausdinimo maketą

Visų dokumentų išdėstymo struktūra labai panaši. Atidžiai išnagrinėję vieną dokumentą, galime suprasti kitus. Pirmas skyrius "Pavadinimas". Kai rodomas šis skyrius, bus sugeneruota dokumento antraštė, kurią sudaro tipas, data ir dokumento numeris. Po jo seka skyriai „Tiekėjas“ ir „Pirkėjas“, kuriame programa rodys informaciją apie tiekėją ir pirkėją atitinkamai. Kitas yra įdomesnis skyrius "Papildoma informacija", kurią kūrėjai naudoja norėdami pateikti kitą informaciją dokumente, pavyzdžiui, informaciją apie sutartį su jos numeriu ir data. Šios skilties ypatumas yra tas, kad jis gali būti rodomas daug kartų ir kiekvieną kartą joje gali būti skirtinga informacija. Ką tiksliai spausdinti ir kada aprašyta spausdinimo algoritme.

Tai užbaigia dokumento antraštę. Po antraštės paprastai yra lentelės skyrius. Įdomu tai, kad išdėstymas aprašo dvi lentelės dalies rodymo parinktis: "Lentelės antraštė", "Styga" ir "Antraštės lentelės vietos" Ir "StringPlace". Priklausomai nuo to, ar jūsų stulpelis užpildytas, ar ne "Mest" dokumente bus naudojama pirmoji arba antroji lentelės formos dokumento dalies rodymo parinktis. Smalsus skaitytojas tikriausiai jau susimąstė: kodėl antraštės išvesties skiltyje "Kaina" Ir "Suma" yra pateikiami trikampiuose skliaustuose, tarsi jie būtų kintamieji? Teisingai – tai kintamieji, kuriuose, priklausomai nuo dokumento nustatymų, bus rodomas užrašas "Kaina", "Kaina su PVM" arba "Kaina be PVM" ir panašiai už sumą.

Na, o žemiau makete yra skyreliai, kurių pagalba rodomi dokumento ir parašo rezultatai.

Išdėstymo redagavimas

Būtų gerai, kad logotipas būtų virš informacijos apie tiekėją ir pirkėją. Siūlau redaguoti išdėstymo sritį "Pavadinimas". Būtina sumažinti langelio, kuriame yra turinys, dydį "Pavadinimo tekstas". Ši ląstelė susideda iš kelių sujungtų langelių. Dydžius keičiame taip:

  1. Atsargiai nukopijuokime sujungto langelio turinį "Pavadinimo tekstas"(Norėdami tai padaryti, turite pasirinkti langelį ir naudoti komandą „Redaguoti > Kopijuoti“ arba sparčiuosius klavišus CTRL+C)
  2. Pasirinkę šį langelį, pagrindiniame meniu pasirinkite elementą "Lentelė - sujungti", o tai sukels priešingą efektą – sujungta ląstelė bus padalinta į daugybę originalių langelių
  3. Dabar pažymime mažesnį langelių skaičių – vietoj 2 stulpelio langelio, pradėsime jungti nuo 6 stulpelio, baigsime jį 32 stulpeliu – ir dar kartą spustelėkite mygtuką "Sujungti"
  4. Komanda „Redaguoti > Įklijuoti“ (CTRL+V)įterpti ankstesnio sujungto langelio turinį į naują sujungtą langelį
  5. Mes tiesiog išvalome atlaisvintus langelius 2–5 stulpeliuose (pasirinkite juos ir paspauskite klavišą Delete)

Dabar į laisvą vietą galite įterpti paveikslėlį su logotipu. Norėdami tai padaryti, meniu pasirinkite elementą „Lentelė > Paveikslėliai > Paveikslėlis...“. Raskite failą su mūsų logotipu diske ir spustelėkite „ Gerai“ Dabar perkelkime vaizdą į laisvą vietą. Rezultatas turėtų atrodyti taip, kaip parodyta 3 paveiksle.


Dabar paryškinkime langelių reikšmes paryškintu šriftu "Teikėjas" Ir "Pirkėjas"(4 pav.). Norėdami tai padaryti, langelio ypatybėse suraskite parametrą "Šriftas" ir nustatykite paryškintą stilių.



Ir galiausiai belieka pridėti saugos tarnybos parašą. Šią informaciją paskelbsime skiltyje "Parašai". Norėdami gauti vietos parašams, turite išplėsti skyrių. Pasirinkite 37 eilutę, dešiniuoju pelės mygtuku spustelėkite ją ir pasirinkite "Išplėsti" ir taip du kartus. Vienoje iš pridėtų eilučių įdėsime vietą saugos tarnybos parašui. Dėl to viskas turėtų atrodyti taip, kaip parodyta 5 paveiksle.



Svarbu!Įprastoje konfigūracijoje naudojamos dvi kalbos: rusų ir ukrainiečių. Išdėstymas saugo teksto vaizdavimą abiem kalbomis (ląstelių dizainas yra bendras). Norėdami įvesti mūsų pridėto užrašo ukrainietišką versiją, turite eiti į langelio ypatybes ir lauką "Tekstas" Paspausk mygtuką "Paieška". Atsidarys langas, kuriame galėsite įvesti teksto atvaizdus įvairiomis kalbomis (6 pav.).

Kaip užtikrinti spausdinimą

Taigi, išdėstymas yra paruoštas. Dabar pats laikas dirbti su jo spausdinimo algoritmu.

Kad galėtume neskausmingai integruoti šį išdėstymą į konfigūraciją ir jį naudoti, mūsų sukurtas apdorojimas turi atitikti šias sąlygas:

  1. Apdorojant reikia sukurti rekvizitus "Objekto nuoroda" su tipu "AnyLink"
  2. Apdorojimo modulyje turite sukurti procedūrą "Spausdinti() Eksportuoti" be parametrų ir būtinai nurodykite raktinį žodį " Eksportuoti"

Pirmas punktas reikalingas tam, kad spausdinimo algoritmas žinotų iš kur gauti duomenis spausdinimui, o antrasis – pats spausdinimo algoritmas. Išpildykime šias sąlygas.

Lango skydelyje pasirinkite apdorojimo redagavimo langą (7 pav.). Atsidarys langas su mūsų apdorotų objektų medžiu. Filialo pasirinkimas "Rekvizitai" ir paspauskite mygtuką "Papildyti",. Atsidarys atributų savybių langas. Įveskime vardą - "Objekto nuoroda" ir nurodykite tipą "AnyLink". Dabar galime pereiti prie spausdinimo modulio teksto. Mes nerašysime jo nuo nulio, o nukopijuosime jį iš dokumento „Prekių ir paslaugų pardavimas“.



Norėdami tai padaryti, raskite konfigūracijos medį tarp dokumentų „Prekių ir paslaugų pardavimas“, spustelėkite jį dešiniuoju pelės mygtuku ir pasirinkite "Atidaryti objekto modulį"(žr. 8 pav.).



Tai atvers dokumentų modulį. Mums reikia pirmosios funkcijos "Spausdintas dokumentas". Jo tekstas turi būti pasirinktas ir nukopijuotas. Labai patogu paryškinti funkcijos tekstą, kai ji sutraukta, tačiau būtina paryškinti ir po juo esančią eilutę, kitaip rizikuojate nukopijuoti tik pavadinimą.

Žr. 9 paveiksle, mes paryškinome pavadinimą ir eilutę po juo. Po to nukopijuokite jį į mainų sritį. Pagrindinis meniu „Redaguoti > Kopijuoti“ (arba CTRL+C).



Mes įsiminėme tekstą iškarpinėje, dabar vėl pereikime prie apdorojimo "Firmos sąskaita faktūra". Spustelėkite mygtuką „Veiksmai > Atidaryti objekto modulį“(10 pav.).



Įklijuokite nukopijuotą tekstą: „Redaguoti > Įklijuoti“ (arba CTRL+V).

Dabar reikia šiek tiek redaguoti nukopijuotą tekstą, nes jis buvo parašytas dokumentui spausdinti iš paties dokumento, o mes jį renkame iš išorinio apdorojimo. Norėdami tai padaryti, jums reikia:

  1. Pervardyti funkciją į "Spausdinti"
  2. Pakeiskite "Šis objektas"įjungta "Objekto nuoroda"
  3. Pakeiskite "Šis objektas"įjungta "Objekto nuoroda"
  4. Pakeiskite „Organizacijos banko sąskaita“įjungta „Nuoroda į objektą.Organizacijos banko sąskaitą“
  5. Pakeiskite "Produktai. Santrauka"įjungta „LinkToObject.Products.Total“

Šiems veiksmams galite naudoti pagrindinio meniu elementą „Redaguoti > Pakeisti“.

Po to turite patikrinti sintaksę. Tam yra stebuklingas derinys: CTRL + F7. Dėl to turėtų pasirodyti šis pranešimas: "Jokių sintaksės klaidų nerasta!"

Na, tuo mes užbaigėme visus nešvarius darbus. Dabar savo darbo rezultatus galime išsaugoti, pavyzdžiui, faile „Firminė sąskaita.epf“. Norėdami tai padaryti, turite suaktyvinti šio apdorojimo langą ir išsaugoti jį naudodami pagrindinį programos meniu „Failas > Išsaugoti kaip...“. Apdorojamo failo pavadinimas – „Firminė sąskaita.epf“(jis bus siūlomas pagal numatytuosius nustatymus). Galite laikinai išsaugoti jį darbalaukyje, kad vėliau galėtumėte jį rasti greičiau.

Svarbu! Kaip matėte, mes neatlikome jokių konfigūracijos pakeitimų. Atliekant visus aukščiau aprašytus veiksmus, jums net nereikia jo pašalinti iš palaikymo (tai yra, įgalinti galimybę keisti).

Išorinio apdorojimo prijungimas prie konfigūracijos

Dabar galime prijungti apdorojimą prie sąskaitos faktūros. Norėdami tai padaryti, paleiskite režimu. Eikite į meniu "Paslauga", kur yra trys su mechanizmu susiję punktai „Išorinis apdorojimas, blankų spausdinimas, lentelių dalių pildymo apdorojimas“. Mūsų atveju mums reikia tik prekės „Išorinės spaudos formos“(žr. 11 pav.).



Tai atvers katalogą. „Išorinis apdorojimas“, su pasirinkimu pagal tipą "spausdintos formos". Jame bus saugomas visų išorinių spausdintų formų sąrašas, nurodant, kuriems dokumentams jos skirtos ir kokiais atvejais juos reikia rodyti.



Svarbu! Pats apdorojimas bus saugomas duomenų bazėje kartu su kitais duomenimis, tai yra, išsaugojus apdorojimą duomenų bazės viduje, mums nereikės išorinio failo.

Turime sukurti naują elementą kataloge. Spustelėkite Įdėti. Dabar pažvelkime į elemento turinį. Į pavadinimą įtraukiame prasmingą trumpą šios formos esmės aprašymą, pavyzdžiui, „Įmonės sąskaita faktūra“. Kaip ir bet kuris kitas katalogas, jis taip pat turi kodą. Palikime jį kaip numatytąjį. Tipo atributas užpildytas pagal numatytuosius nustatymus ir jo negalima redaguoti – "Spausdinimo forma". Ir paskutinis antraštės elementas yra komentaras. Čia, kaip įprasta, yra daugiau informacijos apie spausdinimo formos paskirtį. Be antraštės, šio katalogo elementai turi dvi žymes. Antrajame pateikiama informacija apie prieigos teisių prie šio apdorojimo apribojimą. Ši tema nepatenka į šio straipsnio taikymo sritį (apie šį ir kitus prieigos teisių nustatymus kalbėsime nekeičiant konfigūracijos vienoje iš būsimų leidimų).

Pažvelkime atidžiau į pirmąjį skirtuką.

Skirtuke yra keturi stulpeliai. Objekto vaizdavimas– dokumento tipas, kuriam norėtume naudoti savo spausdinimo formą,

Pasirinkimas– sąlyga, kuriai esant ši spausdinta forma turėtų būti prieinama. Pavyzdžiui, perkūrėme spausdintą sąskaitos faktūros formą ir išvertėme į anglų kalbą. Ir mes norime klientams iš aplanko "europietiškas" vietoj standartinės spausdintos formos "Pardavimo sąskaita faktūra" Buvo išspausdinta nauja forma anglų kalba. Norėdami tai padaryti, galite naudoti stulpelį "Pasirinkimas". Tokio pasirinkimo pavyzdys parodytas 13 pav.



Tačiau mūsų užduotyje nereikia jokių atrankų.

Spausdinamas formos failas– nurodo failą, iš kurio reikia maketuoti ir spausdinti. Šiame langelyje turite pasirinkti failą, kurį išsaugojome darbalaukyje.

Keičiama spausdinimo plokštė– jei norime, kad mūsų sukurta spausdinta forma pakeistų vieną iš standartinių šiam dokumentui, tuomet turime nurodyti, kurią reikia pakeisti. Jei nėra ką pasirinkti, atsiras papildoma spausdinta forma.

Mūsų atveju reikia "Firmos sąskaita faktūra" buvo atspausdinta vietoj įprastos sąskaitos faktūros. Norėdami tai padaryti, pasirinkite šiame lauke "Pardavimo sąskaita faktūra".

Dabar išsaugokime šį elementą. Ir atidarykite bet kokią sąskaitą.

Tai turėtų atrodyti taip, kaip parodyta 14 paveiksle.



Na, tai užbaigia užduotį, kurią sau išsikėlėme straipsnio pradžioje. Manome, kad mums pavyko parodyti galimybes, kurias vartotojui atveria išorinio apdorojimo mechanizmo naudojimas.

Norėdami sustiprinti savo įgūdžius, galite pabandyti savarankiškai pridėti prie konfigūracijos dokumento "Prekių ir paslaugų gavimas" papildomą spausdintą formą "Į sandėlį", kuri kartotų įprastą sąskaitą faktūrą, bet be kainų ir sumų, taip pat yra laukeliai priimtinam kiekiui įvesti.

Laba diena.

Šiandien noriu papasakoti, kaip sukurti išorines spausdintas formas „Atlyginimo ir personalo valdymas 3.0“ konfigūracijai. Kaip žinote, ZUP 3.0 naudoja standartinių posistemių biblioteką, o tai reiškia, kad apdorojimo struktūra atrodo visiškai kitaip. Kai pirmą kartą turėjau padaryti spausdintą BSP formą valdomose formose (tuomet tai buvo UT 11), pirmiausia nuėjau į ITS diską, kad surasčiau ten išsamią dokumentaciją apie tai, kokios eksporto procedūros, kokie parametrai turi būti apdoroti ir kaip visa tai veikia. Čia ITS mane šiek tiek nuvylė, nes... ten viskas pasakyta, kaip turi atrodyti procedūros dokumentų modulyje, o išorinėje spausdintoje formoje "spausdinimo" procedūros parametrai yra pertvarkyti, todėl teko ieškoti informacijos kituose šaltiniuose ir tvarkytis su posisteme iš vidaus .

Na, pradėkime. Tai, ką gauname pabaigoje, gali būti naudojama kaip šablonas.

Pirmas žingsnis- aiškus. Sukurkime naują apdorojimą. Priskirkime jai savavališką pavadinimą: „Print Sample“.

Antras žingsnis. Sukurkime maketą. Kadangi turime bandomąjį pavyzdį, sukursiu paprasčiausią maketą, be vieno parametro.

Trečias žingsnis- Įdomiausias. Atidarykite objekto modulį ir pradėkite programuoti. Pagal BSP registruojant išorinį apdorojimą, jis (apdorojimas) turi nurodyti, ką jis gali daryti, prie kokių objektų yra prijungtas ir kaip vadinasi. Paklausus, kokį apdorojimą jis gali atlikti, jis turėtų grąžinti komandų sąrašą – tai yra reikšmių lentelė. Mūsų atveju apdorojimas gali išvesti vieną spausdintą formą, todėl bus tik viena komanda. Norėdami sukurti reikšmių lentelę, apibrėžsime keletą procedūrų, kurios visada bus vienodos visose išorinėse spausdintinėse formose:

//procedūra, kuri paruošia komandų lentelės struktūrą

Funkcija GetTableCommand()

// Sukurkite tuščią komandų lentelę ir joje stulpelius
Komandos = nauja vertės lentelė;

// Kaip vartotojui atrodys spausdintos formos aprašymas
Commands.Columns.Add("View", NewTypeDescription("Row"));

// Mūsų maketo pavadinimas, kad galėtume atskirti iškviestą komandą spausdinant
Commands.Columns.Add("Identifier", New TypeDescription("String"));

// Tai nustato, kaip turi būti iškviečiama apdorojimo komanda
// Galimos parinktys:
// - OpeningForm - šiuo atveju identifikatoriaus stulpelyje turi būti nurodytas formos, kurią sistema atidarys, pavadinimas
// - CallClientMethod - iškvieskite kliento eksporto procedūrą iš apdorojimo formos modulio
// - Call ServerMethod - iškviečia serverio eksporto procedūrą iš apdorojimo objekto modulio
Commands.Columns.Add("Naudojimas", Naujas tipasAprašymas("Eilutė"));

// Kitas parametras nurodo, ar turi būti rodomas pranešimas, kai prasideda ir baigiasi apdorojimo užduotis. Atidarant formą nėra prasmės
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));

// Spausdintoje formoje turi būti eilutė PrintMXL
Commands.Columns.Add("Modifikatorius", Naujas tipasAprašymas("Eilutė"));

Grįžimo komanda;

EndFunction

//Sukuria naują eilutę komandų lentelėje

Funkcija AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "")
NewCommand = CommandTable.Add();
Nauja Komanda. View = Žiūrėti;
Nauja Komanda. Identifier= Identifier;
Nauja Komanda. Naudojimas = Naudojimas;
Nauja Komanda. ShowAlert= ShowAlert;
Nauja Komanda. Modifikatorius= Modifikatorius;
EndFunction

Funkcija InformationOnExternalProcessing() Export
Registracijos parametrai = nauja struktūra;
ArrayDestinations = naujas masyvas;
Užduočių masyvas.Add("Document.Hiring");
Registracijos parametrai.Insert("View", "PrintForm"); //galbūt – objekto pildymas, papildoma ataskaita, susijusių objektų kūrimas...
Registracijos parametrai.Insert("Paskirtis", Paskirties masyvas);
Registracijos parametrai.Insert("Vardas", "Labas pasaulis"); //pavadinimas, kuriuo apdorojimas bus užregistruotas išorinio apdorojimo kataloge
Registracijos parametrai.Insert("Versija", "1.0");
Registracijos parametrai.Insert("SafeMode", TRUE);
Registracijos parametrai.Insert("Informacija", "SAMPLE");//taip vartotojui atrodys spausdinamos formos aprašymas
CommandTable = GetCommandTable();
AddCommand(CommandTable, "Hello World", "Layout", "CallServerMethod", True, "MXL Print");
Registracijos parametrai.Insert("Commands", CommandTable);
ReturnRegistrationParameters;
EndFunction

Tiesą sakant, kiekvieną kartą kurdami naują išorinę spausdinimo formą turėsite su ja susitvarkyti. Iš kodo fragmento aišku, kad jį susiesime su dokumentu „Įdarbinimas“, atitinkamai rašote savo. Mūsų spausdinta forma vadinsis „Hello World“, vėl pakeisime ją į savo. Čia būtų patogu į šabloną įrašyti akivaizdų reklaminį skydelį, kad jis patrauktų akį, kad nepamirštumėte vėliau pataisyti, mano nuomone, „Hello world“ praverčia. Versija skirta sau, rašykite ką norite, ji bus rodoma elemento pavidalu išorinio apdorojimo kataloge. Žodis „PAvyzdys“ taip pat matomas tik spausdintų formų katalogo pavidalu. Toliau pridedame komandą, čia antrasis parametras yra mygtuko pavadinimas, tai vartotojas pamatys dokumente meniu punkte „spausdinti“.

Šio trijų procedūrų rinkinio pakanka, kad apdorojimas būtų įtrauktas į išorinio apdorojimo katalogą; visas šis painus kodas yra paslauga ir neturi nieko bendra su spausdinimo algoritmu. Tiesą sakant, BSP autoriai privertė mus programuoti taip sunkiai, kad jei anksčiau iškart pradėjote rašyti funkciją „Spausdinti“, tai dabar, kai rašote apdorojimą nuo nulio, o ne pagal pavyzdį, sugaišite laiką tarnyba. Anksčiau registracijos parametrai buvo neprivalomi ir buvo nurodyti apdorojimo makete, dabar viskas atrodo daug rimčiau. Pirmas įspūdis, kai pamačiau tai, buvo šaunus, tiek daug galimybių, viskas vieninga... bet praktiškai visada viename apdorojime sukuriu tik vieną komandą ir susieju ją su vienu dokumentu. Tie. Tiesą sakant, man reikia dviejų eilučių registracijai: objekto pavadinimas, mygtuko pavadinimas. O čia viskas taip... na, oi, ne man spręsti.

Ketvirtas žingsnis– ne mažiau įdomu.

SPAUSDINIMO funkcija?

Bet ne, dabar tai ne funkcija, o procedūra.

Kaip susigrąžinti išdėstymą?

Nusiųskite jį į pasaulinio spausdinimo posistemio modulio funkciją.

Gerai

Štai šios procedūros tekstas:

Procedūros spausdinimas (objektų masyvas, spausdinimo formų rinkinys, spausdinimo objektai, išvesties parametrai) eksportuoti
Jei PrintManagement.NeedPrintLayout(CollectionPrintForms, "Layout"), tada
Spausdinimo valdymas. Išvesties lentelės formos dokumentas į rinkinį (spausdintinių formų rinkinys,
„Išdėstymas“, „Išdėstymas“,
GenerateTabDocumentSample(Objektų masyvas, Print Objects));
endIf;
Procedūros pabaiga

Dabar dėl paaiškinimo. Pirmoje procedūros eilutėje yra šiek tiek neaiški sąlyga. Faktas yra tas, kad kai iškviečiame spausdinimo procedūrą, sistema perduoda mums reikšmių lentelę, kuri nurodo, ką turime spausdinti. Iš esmės funkcija ManagePrint.NeedPrintLayout(...) tikrina, ar verčių lentelėje yra eilutė, kurios stulpelyje „Pavadinimas“ yra eilutė su išdėstymo pavadinimu. Praktiškai daugeliu atvejų daiktas yra nenaudingas, nes... mūsų apdorojimas galės sugeneruoti tik vieną spausdintą formą. Tie. Šios sąlygos galima praleisti ir tai neturės įtakos veikimui.

Toliau Spausdinimo valdymas Išvestis TabularDocumentIntoCollection(...) – štai kas prideda lentelės išdėstymą ten, kur reikia, kad vėliau būtų galima jį rodyti ekrane. Jei jums reikia rodyti skaičiuoklės dokumentą savo lange (ne standartiniame), tada neskambinkite šios procedūros, o tiesiog parašykite savo kodą čia.

Taip pat noriu pridurti, kad klientui atliekama Spausdinimo procedūra ir, esant poreikiui, čia galite atsidaryti laisvą formą, norėdami paprašyti vartotojo papildomos spausdinimui reikalingos informacijos.

Be to, GenerateTabDocumentSample(...) yra funkcija, kurią turime įrašyti apdorojimo modulyje ir kuri grąžina lentelės dokumentą. 100 iš 100 atvejų jis bus pagrįstas serveriu, nes... turime gauti detalių vertę iš objektų, išvardytų parametre „Objektų masyvas“.

Penktas žingsnis- maketo kūrimas.

Hurray, pagaliau pereisime prie išdėstymo algoritmo, duomenų gavimo ir t.t.

Bet mūsų pavyzdyje elgsimės proziškai ir aš čia net nekomentuosiu)))

Funkcija GenerateTabDocumentSample (objektų masyvas, spausdinimo objektai)
tabDoc = naujas lentelės dokumentas;
išdėstymas = GetLayout("Išdėstymas");

AreaHeader = Layout.GetArea("Antraštė");
tabDoc.Output(areaHeader);

Grąžinti TabDoc;
EndFunction

Tai viskas, ačiū už dėmesį

Išorinės spausdintos formos įprastai programai (konfigūracijai Įmonių apskaita 2.0, Atlyginimo ir žmogiškųjų išteklių valdymas 2.5, Prekybos valdymas 10.3 ir kt.) sukuriamos gana paprastai, palyginti su išorinėmis spausdintomis valdomos programos formomis.

Kodėl verta kurti išorines spausdinimo formas?

Išorinės spausdintos formos pranašumas lyginant su įprastine yra tas, kad ji leidžia nekeisti informacinės bazės konfigūracijos. Tai reiškia, kad tolesnių konfigūracijos atnaujinimų procesas nebus sudėtingas. Be to, išorinės spausdintos formos kartu su išoriniu apdorojimu yra vienintelė galimybė išplėsti pagrindinių 1C konfigūracijų versijų funkcionalumą, kurių visiškai negalima pakeisti.

Ir paskutinis dalykas: išorines spausdintas formas lengviau atkartoti, nes jie yra atskiras failas, kurį galima greitai prijungti prie informacijos bazės.

Kaip sukurti išorinę spausdinimo formą

Pažvelkime į išorinės 1C spausdintos formos kūrimo procesą žingsnis po žingsnio:

  1. Kuriame išorinį apdorojimą. Norėdami tai padaryti, konfigūravimo priemonėje pasirinkite meniu elementą Failas – naujas... Ir atsidariusiame dialogo lange - Išorinis apdorojimas.
  2. Sukurkite išorinį apdorojimo atributą pavadinimu Objekto nuoroda. Atributo tipas yra nuoroda į katalogą arba dokumentą, kuriam kuriama išorinė spausdinta forma. Ta pati forma gali būti naudojama kelių tipų objektams, šiuo atveju atributo duomenų tipui Objekto nuoroda turi būti sudėtinis.
  3. Objekto modulyje sukuriame eksporto funkciją su pavadinimu Antspaudas, kuris turėtų grąžinti paruoštą atspausdintą skaičiuoklės dokumentą.

Dažnai atsitinka taip, kad reikia šiek tiek pakoreguoti esamos spausdintos formos maketą ir padaryti ją išorine. Pavyzdžiui, prie maketo pridėkite organizacijos antspaudą ir vadovo parašą.

Išorinės spausdinimo formos sukūrimas pagal standartinę formą su nedideliais pakeitimais

Panagrinėkime šią procedūrą naudodami išorinės spausdintos universalaus dokumento perdavimo dokumento formos sukūrimo pavyzdį Prekių ir paslaugų pardavimas 1C: Apskaita. Nuo standartinės spausdintos formos ji skirsis tuo, kad yra organizacijos antspaudas.

  1. Išorinio apdorojimo kūrimas naudojant rekvizitus Objekto nuoroda, duomenų tipas - DocumentLink Prekių ir paslaugų pardavimas.
  2. Surandame standartinės UPD spausdintos formos maketą (ji yra bendruosiuose maketuose) ir nukopijuojame (vilkame) į išorinio apdorojimo langą. Kitų spausdintų formų maketai gali būti patalpinti pačiuose dokumentuose ar žinynuose.
  3. Atliekame reikiamus nukopijuoto spausdintos formos maketo pakeitimus.
  4. Surandame funkciją, atsakingą už spausdintos formos generavimą. Ši funkcija turėtų grąžinti sugeneruotą skaičiuoklės dokumentą. Nukopijuokite jo turinį į eksportavimo funkciją Antspaudas () išorinio apdorojimo objekto modulyje.
    Mūsų atveju tai yra funkcija PrintUniversalTransferDocument() Eksportas iš dokumento objekto modulio Prekių ir paslaugų pardavimas.
    Jei išdėstymo pakeitimai buvo reikšmingi (pakeisti plotai ir (arba) parametrai), reikia atitinkamai pakoreguoti spausdinimo funkciją.
  5. Bandome išsaugoti išorinį apdorojimą. Tačiau greičiausiai gausite klaidų pranešimus, rodančius, kad trūksta kai kurių spausdinimo funkcijos iškviestų procedūrų ir funkcijų. Šias funkcijas ir procedūras reikia rasti pirminiame dokumente ir nukopijuoti į išorinio apdorojimo objekto modulį. Arba pakoreguokite nuorodą, jei eksportuojama pradinė funkcija arba procedūra.
  6. (nereikalinga). Norint išbandyti išorinę spaudos formą, patogu pasidaryti formą, ant kurios bus dedamos rekvizitai Objekto nuoroda. Mygtukas Vykdyti turi kviesti procedūrą Antspaudas () iš objekto modulio. Norėdami tai padaryti, mygtuko paspaudimo įvykiui suteikiama procedūra: