1c ārējā drukātā veidlapas veidnes kontrolēta lietojumprogramma.

Kā pievienot (reģistrēt) ārēju drukātu veidlapu (vai apstrādi) 1C grāmatvedībā 8.3 (pārskats 3.0)

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

Bieži vien grāmatvedim ir nepieciešama papildu drukāta veidlapa kādam no standarta dokumentiem 1C: Grāmatvedība 8.3 (pārskats 3.0). Vai arī nepieciešama papildu apstrāde, piemēram, lai automātiski aizpildītu dokumentu vai, pamatojoties uz to, ievadītu jaunu. Parasti kāds jau ir izstrādājis šādu funkciju un to var atrast vai pasūtīt pie programmētāja. Un tagad redakcija ir saņemta, atliek vien pievienot grāmatvedībai. Kā to izdarīt? Vairāk par to zemāk, soli pa solim.

1. Atveriet 1C grāmatvedību 3.0 un kreisajā panelī atlasiet sadaļu “Administrēšana” -> “Veidlapu, pārskatu un apstrāde”.

2. Šeit atrodiet un atlasiet “Papildu atskaites un apstrāde”, pēc tam, kad ir atzīmēta izvēles rūtiņa “Papildu pārskati un apstrāde” kreisajā pusē:

3. Noklikšķiniet uz pogas "Pievienot no faila...".

4. Un atlasiet failu ar ārējo drukas formu vai apstrādi (epf paplašinājumu).

5. Jaunajā logā noklikšķiniet uz pogas Saglabāt un aizvērt.

6. Atveriet vajadzīgo dokumentu un pārliecinieties, vai drukāšanas pogā vai vienumā izvēlnē “Izveidot, pamatojoties uz” vai veidlapas rīkjoslā parādās jauna poga. Gatavs!

Ar cieņu Vladimirs Milkins(skolotājs un izstrādātājs).

Labdien.

Šodien es vēlos jums pastāstīt, kā izveidot ārējās drukātās veidlapas konfigurācijai “Alga un personāla vadība 3.0”. Kā zināms, ZUP 3.0 izmanto standarta apakšsistēmu bibliotēku, kas nozīmē, ka apstrādes struktūra izskatās pavisam citāda. Kad man pirmo reizi bija jāizveido drukāta veidlapa BSP pārvaldītajās formās (toreiz tā bija UT 11), pirmā lieta, ko darīju, bija iegāju ITS diskā, lai tur atrastu detalizētu dokumentāciju par to, kādām eksporta procedūrām, kādiem parametriem jābūt. apstrādāts un kā tas viss darbojas. Šeit ITS mani nedaudz pievīla, jo... tur viss ir pateikts par to, kā procedūrām jāizskatās dokumentu modulī, un ārējā drukātā veidā tiek pārkārtoti “drukāšanas” procedūras parametri, tāpēc nācās meklēt informāciju citos avotos un čakarēt apakšsistēmu no iekšpuses .

Nu, sāksim. To, ko mēs iegūstam beigās, var izmantot kā veidni.

Pirmais solis- acīmredzams. Izveidosim jaunu apstrādi. Piešķirsim tai patvaļīgu nosaukumu: "Drukas paraugs".

Otrais solis. Izveidosim izkārtojumu. Tā kā mums ir testa piemērs, es izveidošu vienkāršāko izkārtojumu, bez viena parametra.

Trešais solis– Interesantākais. Atveriet objekta moduli un sāciet programmēt. Saskaņā ar BSP, reģistrējot ārējo apstrādi, tai (apstrādei) ir jānorāda, ko tā var darīt, kādiem objektiem tā ir pievienota un kā to sauc. Kad tiek jautāts, kādu apstrādi tas var veikt, tam jāatgriež komandu saraksts - šī ir vērtību tabula. Mūsu gadījumā apstrāde var izvadīt vienu drukātu formu, tāpēc būs tikai viena komanda. Lai ģenerētu vērtību tabulu, mēs definēsim dažas procedūras, kas vienmēr būs vienādas visās ārējās drukātajās formās:

//procedūra, kas sagatavo komandu tabulas struktūru

Funkcija GetTableCommand()

// Izveidojiet tukšu komandu tabulu un kolonnas tajā
Komandas = jauna vērtību tabula;

// Kā lietotājam izskatīsies izdrukātās veidlapas apraksts
Commands.Columns.Add("View", NewTypeDescription("Rinda"));

// Mūsu izkārtojuma nosaukums, lai mēs varētu atšķirt izsaukto komandu drukas apstrādē
Commands.Columns.Add("Identifier", New TypeDescription("String"));

// Tas nosaka, kā jāizsauc apstrādes komanda
// Iespējamās opcijas:
// - OpeningForm - šajā gadījumā identifikatora kolonnā jānorāda tās formas nosaukums, kuru sistēma atvērs
// - CallClientMethod - izsauc klienta eksportēšanas procedūru no apstrādes veidlapas moduļa
// - Call ServerMethod - izsauc servera eksportēšanas procedūru no apstrādes objekta moduļa
Commands.Columns.Add("Usage", New TypeDescription("Rinda"));

// Nākamais parametrs norāda, vai ir jāparāda paziņojums, kad sākas un beidzas apstrādes darbs. Nav jēgas, atverot veidlapu
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));

// Drukātai veidlapai tajā jāietver virkne PrintMXL
Commands.Columns.Add("Modifier", New TypeDescription("Rinda"));

Atgriešanās komanda;

EndFunctions

//Izveido jaunu rindu komandu tabulā

Funkcija AddCommand(CommandTable, Skats, Identifikators, Lietojums, ShowAlert = False, Modifier = "")
NewCommand = CommandTable.Add();
Jauna komanda. Skatīt = Skatīt;
Jauna komanda. Identifier= Identifier;
Jauna komanda. Lietošana = Lietojums;
Jauna komanda. ShowAlert= ShowAlert;
Jauna komanda. Modifikators= Modifikators;
EndFunctions

Funkcija DetailOnExternalProcessing() Export
Reģistrācijas parametri = New Structure;
ArrayDestinations = jauns masīvs;
Uzdevumu masīvs.Pievienot("Document.Hiring");
Reģistrācijas parametri.Insert("View", "PrintForm"); //varbūt - objekta aizpildīšana, papildu atskaite, saistītu objektu izveide...
Reģistrācijas parametri.Insert("Galamērķis", Galamērķa masīvs);
Reģistrācijas parametri.Insert("Vārds", "Sveika pasaule"); //nosaukums, ar kuru apstrāde tiks reģistrēta ārējās apstrādes direktorijā
Reģistrācijas parametri.Insert("Versija", "1.0");
Reģistrācijas parametri.Insert("SafeMode", TRUE);
Reģistrācijas parametri.Insert("Informācija", "PARAUGS");//tā lietotājam izskatīsies drukājamās veidlapas apraksts
CommandTable = GetCommandTable();
AddCommand(CommandTable, "Hello World", "Layout", "CallServerMethod", True, "MXL Print");
Reģistrācijas parametri.Insert("Komandas", CommandTable);
AtgrieztiesReģistrācijasParametri;
EndFunctions

Patiesībā jums ar to būs jāmācās katru reizi, kad veidojat jaunu ārējo drukas veidlapu. No koda fragmenta ir skaidrs, ka mēs to saistīsim ar dokumentu “Nološana”, attiecīgi rakstiet savu. Mūsu drukātā veidlapa sauksies “Sveika pasaule”, atkal mēs to nomainīsim uz savu. Šeit būtu ērti veidnē ierakstīt acīmredzamu stendu, lai tas krīt acīs, lai neaizmirstu vēlāk to izlabot, manuprāt, noder "Hello world". Versija ir priekš jums, rakstiet, ko vēlaties, tas tiks parādīts elementa veidā ārējās apstrādes direktorijā. Arī vārds "PARAUGS" ir redzams tikai drukāto veidlapu direktorijas veidā. Tālāk mēs pievienojam komandu, šeit otrais parametrs ir pogas nosaukums, tas ir tas, ko lietotājs redzēs dokumentā izvēlnes vienumā “drukāt”.

Ar šo trīs procedūru komplektu pietiek, lai apstrādi pievienotu ārējās apstrādes direktorijam; viss šis mulsinošais kods ir pakalpojums un tam nav nekāda sakara ar drukāšanas algoritmu. Patiesībā BSP autori mūs piespieda programmēt tik sarežģītā veidā, ka, ja iepriekš uzreiz sākāt rakstīt funkciju “Drukāt”, tad tagad, rakstot apstrādi no nulles, nevis pēc parauga, tērēsit laiku serviss. Iepriekš reģistrācijas parametri nebija obligāti un tika norādīti apstrādes izkārtojumā, tagad viss izskatās daudz nopietnāk. Pirmais iespaids, kad ieraudzīju šo, bija foršs, tik daudz iespēju, viss ir vienots... bet praksē es vienmēr izveidoju tikai vienu komandu vienā apstrādē un sasaistu to ar vienu dokumentu. Tie. patiesībā man ir vajadzīgas divas rindiņas reģistrācijai: objekta nosaukums, pogas nosaukums. Un šeit viss ir tik... nu, ak labi, tas nav manā ziņā.

Ceturtais solis- ne mazāk interesanti.

Drukāšanas funkcija?

Bet nē, tagad tā nav funkcija, bet gan procedūra.

Kā es varu atgūt izkārtojumu?

Nosūtiet to uz globālās drukas apakšsistēmas moduļa funkciju.

Labi

Šeit ir šīs procedūras teksts:

Procedūras drukāšana (objektu masīvs, drukas veidlapu kolekcija, drukāšanas objekti, izvades parametri) eksportēšana
Ja PrintManagement.NeedPrintLayout(CollectionPrintForms, "Layout"), tad
Drukas pārvaldība. Tabulārā dokumenta izvadīšana kolekcijā (Drukas veidlapu kolekcija,
"Izkārtojums", "Izkārtojums",
GenerateTabDocumentSample(Objektu masīvs, Print Objects));
endIf;
Procedūras beigas

Tagad par precizējumu. Procedūras pirmajā rindā ir nedaudz neskaidrs nosacījums. Fakts ir tāds, ka, izsaucot drukāšanas procedūru, sistēma mums nodod vērtību tabulu, kas norāda, kas mums ir jādrukā. Būtībā funkcija ManagePrint.NeedPrintLayout(...) pārbauda, ​​vai vērtību tabulā ir rinda, kurā kolonnā "Nosaukums" ir rinda ar izkārtojuma nosaukumu. Praksē vairumā gadījumu lieta ir bezjēdzīga, jo... mūsu apstrāde varēs ģenerēt tikai vienu drukātu veidlapu. Tie. Šo nosacījumu var izlaist, un tas neietekmēs veiktspēju.

Nākamais, Drukas pārvaldība. Izvadīt TabularDocumentIntoCollection(...) - tas ir tas, kas pievieno tabulas izkārtojumu, kur tas ir nepieciešams, lai pēc tam to varētu parādīt ekrānā. Ja jums ir jāparāda izklājlapas dokuments savā logā (nevis standarta logā), tad neizsauciet šo procedūru, bet vienkārši ierakstiet šeit savu kodu.

Tāpat vēlos piebilst, ka klientam tiek veikta Drukas procedūra un nepieciešamības gadījumā šeit var atvērt brīvu formu, lai lietotājam pajautātu papildus drukāšanai nepieciešamo informāciju.

Tālāk GenerateTabDocumentSample(...) ir funkcija, kas mums jāieraksta apstrādes modulī un kas atgriež tabulas dokumentu. 100 no 100 gadījumiem tas būs servera bāzes, jo... mums ir jāiegūst detaļu vērtība no objektiem, kas uzskaitīti parametrā "Objektu masīvs".

Piektais solis- izkārtojuma izveide.

Urā, beidzot tiksim pie izkārtojuma algoritma, datu izguves utt.

Bet mūsu izlasē mēs rīkosimies prozaiski, un es šeit pat nekomentēšu)))

Funkcija GenerateTabDocumentSample (objektu masīvs, drukāšanas objekti)
tabDoc = jauns tabulas dokuments;
izkārtojums = GetLayout("Izkārtojums");

AreaHeader = Layout.GetArea("Galvene");
tabDoc.Output(areaHeader);

Atgriezt TabDoc;
EndFunctions

Tas arī viss, paldies par uzmanību

Nav noslēpums, ka, lai gan mūsdienās arvien vairāk uzņēmumu pāriet uz elektronisko dokumentu pārvaldību, vecais teiciens “Bez papīra tu...” nezaudē savu aktualitāti. Gadās, ka nez kāpēc pārbaudes iestādes galvenokārt interesē papīra dokumenti. Tāpēc, ja finanšu kontrolei aktīvi izmantojat programmu 1C: Accounting vai Enterprise, ir svarīgi zināt, kā izdrukāt elektronisku dokumentu, kas izveidots, izmantojot programmu.

Drukātas veidlapas 1C ļauj pārveidot elektronisku dokumentu drukātā versijā.

Šim nolūkam izstrādātājs ir nodrošinājis lielisku rīku - Print Designer. Ar tās palīdzību jūs varat izveidot dokumentus, kuros varat norādīt visus nepieciešamos datus, nevis tikai dažas standarta veidlapas. Īpaši tas attiecas uz tiem dokumentiem, kuriem nav stingri reglamentētas formas, kuru nekādā gadījumā nevar mainīt. Tas jo īpaši var ietvert darba pabeigšanas aktu, dažus rēķinus vai maksājumus.

Šajā rokasgrāmatā mēs piedāvājam izprast drukas dizainera iespējas, apsvērt, kādi drukas veidlapu veidi var būt un kā tie atšķiras viens no otra. Ar piemēru parādīsim arī izveidotās formas izdrukāšanu.

Pirmkārt, ir vērts saprast, kas kopumā ir drukātā forma 1C 8. Šī ir 1C izklājlapas veidne (piemēram, Excel), kurā ir norādītas dažas mainīgās rindas, kas aizpildītas ar datiem no programmas, sastādot dokumentu.

Drukāšanas veidlapas ir divu veidu:

  • Iekšējais (iebūvēts). Tie tiek saglabāti programmas konfigurācijā, tāpēc labāk tos nemainīt, jo vēlāk atjaunināšanas laikā var rasties problēmas.
  • Ārējais - glabājas atsevišķi no programmas iestatījumiem. Un ar viņu palīdzību jūs varat izveidot un sagatavot drukāšanai gandrīz jebkuras sarežģītības dokumentu, neietekmējot programmas 1C 8 konfigurāciju.

Kā izvēlēties jau sagatavotus maketus? Pēc ienākošās vai izejošās darbības veikšanas, piemēram, atskaites par paveikto darbu izrakstīšanas, noklikšķiniet uz pogas “Drukāt”, lai izdrukātu dokumentus. Sarakstā tiek parādīts drukājamo veidlapu saraksts, kas jau ir aizpildītas ar ievadītajiem datiem par veikto darījumu un jūsu uzņēmumu. Noklikšķinot uz vajadzīgā dokumenta veida, tiek atvērts priekšskatījuma logs, lai pārliecinātos, ka ievadītie dati ir pareizi. Drukāšanas poga izdrukā dokumentu printerī.

Ja pamatinformācija nav pieejama, noskaidrosim, kur tiek glabāti visi drukājamie materiāli. Pāriesim pie nākamā jautājuma.

Kur tiek glabātas iespiestās veidlapas?

Iebūvētās drukātās veidlapas var apskatīt gan konfiguratora režīmā, gan parastajā uzņēmuma režīmā. Pirmajā gadījumā, startējot programmu, sākuma logā jānoklikšķina uz atbilstošās pogas. Jūs redzēsit programmas izvēlni, atradīsit filiāli “Produktu un pakalpojumu pārdošana”, kurā ir vienums “Izkārtojumi”. Bieži vien tajā ir tikai divas pozīcijas - “Rēķins” un “Akts”. Kur tad ir visi pārējie, jo saraksts ir daudz plašāks? Viņi vienkārši slēpjas kaut kur citur. Jums jāatver filiāle “Vispārīgi” - “Vispārīgie izkārtojumi”, tajā tiek glabāti gandrīz visi izkārtojumi.

Otrajā gadījumā jums jādodas uz izvēlnes sadaļu “Administrēšana” - “Veidlapas, atskaites un apstrāde” - “Drukāto veidlapu izkārtojumi”. Tas parādīs visus dokumentu izkārtojumus. Jāatzīmē, ka tos var rediģēt tajā pašā izvēlnē.

Kas attiecas uz ārējām veidlapām, vispirms tās ir jāizveido, izmantojot konfiguratora režīmu, vai arī lejupielādējot gatavu failu un pēc tam savienojiet tās ar izvēlni "Administrēšana" - "Drukātas veidlapas, atskaites un apstrāde" - "Papildu atskaites un apstrāde”. Mēs par to runāsim nedaudz vēlāk.

Vienkāršas veidlapas izveide, izmantojot iebūvēto drukas noformētāju

Šāda drukāta forma nenozīmē dziļas rediģēšanas iespēju, jo tas radīs izmaiņas programmas konfigurācijā, kā arī turpmākas grūtības to atjauninot. Tomēr, ja jūs pilnībā apmierina standarta forma vai vēlaties iedziļināties ārējās formas izveides sarežģītībā, šī metode jums ir pilnībā piemērota.

  1. Vispirms palaidiet konfiguratora režīmu, atrodiet vajadzīgo dokumentu, piemēram, Produktu un pakalpojumu pārdošana, dokumenta rekvizītos dodieties uz Darbības - Dizaineri - Drukas dizainers.
  2. Kad tiek prasīta darba opcija, atlasiet Parastās veidlapas.
  3. Piešķiriet jaunajam izkārtojumam nosaukumu, piemēram, “Drukāt rēķinu”.
  4. Atlasiet informāciju, ko vēlaties redzēt dokumenta galvenē. Turklāt tie ir jāatlasa tādā secībā, kādā tie tiks parādīti. Lai atlasītu, kreisajā kolonnā ar kursoru iezīmējiet vienumu un nospiediet bultiņu ekrāna vidū, lai informācija tiktu parādīta labajā kolonnā.
  5. Tabulas sadaļā atzīmējiet attēlojamo informāciju. Detaļu atlase notiek pēc tāda paša principa kā iepriekšējā punktā.
  6. Tādā pašā veidā atlasiet dokumenta apakšējās daļas informāciju.
  7. Pēdējā izveides posmā atlasiet, vai vēlaties drukāt nekavējoties bez priekšskatījuma, vai jums ir jāaizsargā tabula, un pēc tam apstipriniet veidlapas izveidi ar pogu Labi.

Ārējās drukas formas izveide

Veidlapas, kas izveidotas, izmantojot Print Designer, var salīdzināt ar vizuālo programmatūras redaktoru, kad jūs neievadāt visu kodu manuāli, bet tikai veidojat to no piedāvātajiem elementiem. Ārējā forma ir fails ar manuāli ierakstītu programmas kodu, kas apraksta procedūru datu parādīšanai ekrānā. Tas ļauj rediģēt drukāto veidlapu, kā vien vēlaties, norādot pilnīgi visus datus jebkurā secībā.

Papildu priekšrocība ir tā, ka pat tad, ja jūs nesaprotat vai vienkārši nevēlaties saprast 1C 8 programmēšanas sarežģījumus, varat uzticēt šo procedūru profesionāļiem. Viņi varēs sagatavot jums nepieciešamo veidlapu un nodrošināt to jums kā gatavu failu, kuru jūs varat aktivizēt tikai ar dažiem pogas klikšķiem.

Tagad parunāsim vairāk par pašu procedūru. Apskatīsim piemēru, kā izveidot “Rēķina” izkārtojumu dokumentam “Pārdošana (akti, rēķini)”.

  1. Konfiguratora režīmā atveriet programmu 1C 8.
  2. Noklikšķiniet uz Fails — Jauns — Ārējā apstrāde, piešķiriet tam nosaukumu (tajā nedrīkst būt atstarpes), pēc tam noklikšķiniet uz Darbības — Atvērt objekta moduli.
  3. Atvērtajā ievades laukā ievadiet šādu kodu (vērtības, kuras var mainīt uz savām, ir iezīmētas dzeltenā krāsā):

Funkcija DetailOnExternalProcessing() Export
Reģistrācijas parametri = New Structure;
ArrayDestinations = jauns masīvs;
Array of Assignments.Add("Dokuments.Preču un pakalpojumu pārdošana"); //Norādiet dokumentu, kuram mēs veicam ārējo izdruku. formā
Reģistrācijas parametri.Insert("View", "PrintForm"); //varbūt - PrintableForm, Objekta aizpildīšana, Papildu atskaite, Saistītu objektu izveide...
Reģistrācijas parametri.Insert("Galamērķis", Galamērķa masīvs);
Reģistrācijas parametri.Insert("Nosaukums", "Preču pārdošanas pasūtījums"); //nosaukums, ar kuru apstrāde tiks reģistrēta ārējās apstrādes direktorijā
Reģistrācijas parametri.Insert("SafeMode", FALSE);
Reģistrācijas parametri.Insert("Versija", "1.0");
Reģistrācijas opcijas.Insert("Informācija", "Šī drukājamā forma tika izveidota kā paraugs");
CommandTable = GetCommandTable();
AddCommand(CommandTable, "Ārējais pasūtījums", "Ārējais pasūtījums", "CallServerMethod", True, "MXL Print");
Reģistrācijas parametri.Insert("Komandas", CommandTable);
AtgrieztiesReģistrācijasParametri;
EndFunction // Informācija PAR ārējo apstrādi()
Funkcija GetTableCommand()
Komandas = jauna vērtību tabula;
Commands.Columns.Add("View", New TypeDescription("Row"));//kā lietotājam izskatīsies drukas formas apraksts
Commands.Columns.Add("Identifier", New TypeDescription("String")); //drukājiet veidlapas izkārtojuma nosaukumu
Commands.Columns.Add("Lietojums", NewTypeDescription("Rinda")); //Zvanīt ServerMethod
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));
Commands.Columns.Add("Modifier", NewTypeDescription("Rinda"));
Atgriešanās komanda;
EndFunctions
Procedūra AddCommand(CommandTable, Skats, Identifikators, Lietojums, ShowAlert = False, Modifier = "")
NewCommand = CommandTable.Add();
NewCommand.View = Skats;
NewCommand.Identifier = Identifier;
NewCommand.Use = Lietot;
NewCommand.ShowAlert = ShowAlert;
NewCommand.Modifier = pārveidotājs;
Procedūras beigas

  1. Saglabājiet izkārtojumu drukāšanai kā failu jebkurā cietā diska mapē, piešķiriet tam atbilstošu nosaukumu.

Tajā pašā dokumentā ievietojiet drukāšanas sākšanas procedūru no programmas izvēlnes (dzeltenā krāsā iezīmētajām komandām jāatbilst līnijai):

Pievienojiet komandu (komandu tabula, "Ārējā kārtība", "Ārējā kārtība"):
Procedūras drukāšana (objektu masīvs, drukas veidlapu kolekcija, drukāšanas objekti, izvades parametri) eksportēšana
Print Management.Output TabularDocumentIntoCollection(
Drukāšanas veidlapu kolekcija,
"Ārējais pasūtījums"
"Ārējais pasūtījums"
GeneratePrintForm (Objektu masīvs, PrintObjects);
Beigu procedūra // Drukāt()

  1. Ievietojiet drukātās veidlapas aizpildīšanas izkārtojumu, apakšējā kreisajā stūrī noklikšķinot uz ārējās veidlapas nosaukuma un atlasot “Izkārtojumi” - “Pievienot” - “Izklājlapas dokuments”, piešķiriet tai nosaukumu. Pēc tam aizpildiet izklājlapu ar nepieciešamajiem datiem. Piemēram:
    • Pasūtījums produktam Nr. [Realizācijas numurs] no [Realizācijas datums] - ar peles labo pogu noklikšķiniet - Rekvizīti - Izkārtojums - Aizpildījums - Veidne.
    • Izveidojiet kolonnas, kuras vēlaties rādīt savā dokumentā.
    • Atlasiet ievadītās šūnas, noklikšķiniet uz Tabula - Nosaukumi - Piešķiriet nosaukumu - ievadiet nosaukumu "Galvene".
    • Kopējiet rindu ar tabulas galvenēm, atlasiet tās, ar peles labo pogu noklikšķiniet - Rekvizīti - Izkārtojums - Aizpildījums - Parametrs.
    • Izvēlieties rindiņu un nosauciet to, piemēram, “StringTCH”.
    • Izveidojiet kājeni: ierakstiet Kopā, šūnu, kurā jāparāda kopējā summa, nosauciet to TotalTotal, rekvizītos atlasiet “Parameters”.
    • Norādiet atbildīgo personu un šūnas rekvizītos uzvārda parādīšanai norādiet “Parametri”.
    • Atlasiet apakšējās rindas un nosauciet diapazonu "Kājene".
  2. Tagad ievades logā ievadiet funkciju drukātas veidlapas ģenerēšanai:

Funkcija GeneratePrintForm (LinkToDocument, PrintObjects)
TabularDocument = jauns TabularDocument;
TabularDocument.Name of Print Parameters = “PRINT_PARAMETERS_Rēķins apmaksai VRTU”;
Apstrādes izkārtojums = GetLayout("Payment InvoiceExternal");
//aizpildiet galveni
AreaHeader = ProcessingLayout.GetArea("Galvene");
AreaHeader.Parameters.DocumentNumber = LinkToDocument.Number;
AreaHeader.Parameters.DocumentDate = LinkToDocument.Date;
AreaHeader.Parameters.OrganizationName = LinkToDocument.Organization.Name;
//izvadiet galveni izklājlapas dokumentā
TabularDocument.Output(HeaderArea);
//aizpildiet PM rindas
RowArea = ProcessingLayout.GetArea("ROW");
Katrai pašreizējai rindai no dokumenta saites. Produktu cikls
FillPropertyValues(RowArea.Parameters, CurrentRow);
TabularDocument.Output(RowArea);
EndCycle;
//piepildīt pagrabu
AreaFooter = ProcessingLayout.GetArea("Kājene");
AreaFooter.Parameters.QuantityTotal = LinkToDocument.Products.Total("Daudzums");
AreaFooter.Parameters.AmountTotal = LinkToDocument.Products.Total("Summa");
AreaFooter.Parameters.ResponsibleName = LinkToDocument.Manager.Name;
//izvadiet kājeni izklājlapas dokumentā
TabularDocument.Output(AreaFooter);
TabularDocument.AutoScale = True;
atgriezt TabularDocument;
EndFunctions

  1. Saglabājiet izmaiņas dokumentā.
  2. Tagad jums ir jāaktivizē izveidotā forma. Priekš šī:
    • Dodieties uz "Administrēšana" - "Drukātas veidlapas, atskaites un apstrāde" - "Papildu atskaites un apstrāde".
    • Noklikšķiniet uz pogas “Izveidot”, pārlūkprogrammā Explorer atlasiet ārējo veidlapas failu, apstipriniet ierakstu ar pogu “Saglabāt un aizvērt”.
  3. Lai pārbaudītu, dodieties uz Pārdošana - Pārdošana (akti, rēķini), noklikšķiniet uz pogas “Drukāt”, atlasiet savu veidlapu un pārbaudiet, vai tā ir pareizi aizpildīta.
  4. Ja nepieciešams, izdrukājiet dokumentu.

Secinājums

Mēs apskatījām piemēru drukājamas veidlapas izveidei, izmantojot drukas noformētāju un ārējo veidlapu izveides rīku. Mēs ceram, ka viss jums izdosies. Atstājiet savus jautājumus komentāros.

Šis raksts jums sīki pastāstīs, kā iesācējs, kuram ir maz zināšanu par 1C 8, var izveidot drukātu veidlapu. Piemēram, ņemsim vienu no visizplatītākajām 1C 8 konfigurācijām - Grāmatvedība 2.0. Drukātas veidlapas izveide 1C rakstīšanas posmi:

  • Ārējās drukas formas faila izveidošana;
  • Drukātas formas maketa izveide;
  • Programmas koda rakstīšana, lai ekrānā parādītu drukātās formas datus;
  • Parametru izveide drukātas veidlapas automātiskai reģistrācijai;
  • Ārējās drukas formas pievienošana pamatnei 1C uzņēmumi.

Drukātas veidlapas 1C izveide. Problēmas formulēšana

Mēs esam nepieciešami konfigurācijā Grāmatvedība 2.0 izveidot dokumenta drukātu veidlapu Preču un pakalpojumu saņemšana. Drukātās veidlapas galvenē parādiet šādus datus:

  • Organizācija;
  • Darījuma partneris;
  • Darījuma partnera līgums;
  • Saņemšanas datums.

Parādiet datus tabulas sadaļā kā tabulu Preces dokumentu. Tabulā jāiekļauj šādas kolonnas:

  • Nomenklatūra;
  • Daudzums;
  • Cena;
  • Summa;
  • Un arī preces cena pašreizējam datumam (pēc cenas veida no dokumenta).

Ārējās apstrādes fails

Pāriesim pie problēmas risināšanas. Vispirms atvērsim 1C 8 režīmā Konfigurators. Tieši šajā režīmā visas izstrādes tiek veiktas uz platformas 1C 8. Tagad mums ir jāizveido ārējs apstrādes fails. Lai to izdarītu, noklikšķiniet uz izvēlnes Fails -> Jauns… vai ar jauna faila ikonu.

Atvērtajā logā atlasiet vienumu Ārējā apstrāde.

Nākamais laukā Vārds Jums jāievada ārējās apstrādes nosaukums. Mūsu gadījumā mēs to vienkārši sauksim par “PrintForm”; sinonīmu lauks tiks aizpildīts automātiski. Lūdzu, ņemiet vērā, ka laukā Vārds,ārējā apstrāde, nosaukums jāraksta bez atstarpēm vai pieturzīmēm.

Pievienosim ārējās apstrādes atribūtus LinkToObject un atlasiet ierakstiet viņam DocumentLink. Preču un pakalpojumu saņemšana. Lai to izdarītu, 1C ārējās apstrādes metadatu kokā atlasiet vienumu Rekvizīti un nospiediet pogu Pievienot(poga ar zaļu plusu). Atribūtu rekvizītu logs tiks atvērts ekrāna labajā pusē, laukā Vārds rakstīsim - ReferenceToObject. IN lauks Tips nospiediet pogu ar trim punktiem.

Izvērsīsim zaru tipa kokā DocumentLink, un tur atrodiet elementu Preču un pakalpojumu saņemšana, atzīmējiet izvēles rūtiņu blakus un noklikšķiniet LABI.

Saglabāsim ārējās apstrādes failu cietajā diskā; lai to izdarītu, izmantojiet izvēlni Fails -> Saglabāt, piktogramma Saglabāt(zilā diskete) vai īsinājumtaustiņu ctrl+s. Nosauksim saglabāto failu “PrintForm”.

Drukātas formas izkārtojuma izveide

Sāksim veidot 1C drukas formas izkārtojumu. Izkārtojums kalpo par veidni drukas veidlapas izvadei, tādēļ, ja vēlaties, lai jūsu drukas forma izskatītos labi, jums jāpievērš tam uzmanība.

Pievienosim jaunu izkārtojumu ārējās apstrādes metadatu kokā; mēs neko nemainīsim izkārtojuma noformētāja logā un noklikšķiniet uz pogas Gatavs.

Jaunajā izkārtojumā, kas tiek atvērts, izveidosim vairākas drukātās formas attēlošanai nepieciešamās zonas. Visas mums nepieciešamās izkārtojuma zonas būs horizontālas, tāpēc, lai izveidotu jaunu apgabalu, atlasiet vajadzīgo izkārtojuma rindu skaitu un dodieties uz izvēlni Tabula -> Vārdi -> Piešķirt nosaukumu vai izmantojiet īsinājumtaustiņus Ctrl+Shift+N, pēc tam lodziņā ievadiet reģiona nosaukumu. Veidojot izkārtojuma apgabalu, nebaidieties kļūdīties ar rindu skaitu; vienmēr varat tās pievienot vai noņemt. Lai izdzēstu 1C izkārtojuma rindiņu, atlasiet vajadzīgo rindiņu un atlasiet vienumu konteksta izvēlnē Dzēst. Lai izkārtojumam pievienotu jaunu rindiņu, atlasiet jebkuru izkārtojuma rindiņu un atlasiet vienumu konteksta izvēlnē Izvērst.

Izkārtojuma galvenes pievienošana

Vispirms izveidosim apgabalu Cepure, tiks parādīti drukātās veidlapas galvenes dati. Šim apgabalam mums būs vajadzīgas septiņas izkārtojuma līnijas. Atlasīsim tos un, kā jau rakstīju iepriekš, nospiediet taustiņu kombināciju Ctrl+Shift+N, laukā Vārds ierakstiet "Cepure" un nospiediet pogu labi.

Aizpildīsim izkārtojuma apgabalu ar mums nepieciešamajiem datiem. Parasti neviena drukātā veidlapa nav pilnīga bez nosaukuma, tāpēc izveidosim to arī mūsu izkārtojuma galvenē. Tā kā nosaukumā papildus drukātās veidlapas nosaukumam parādīsim arī dokumenta numuru, no kura tas tika izdrukāts, kā parametru iestatīsim virsraksta tekstu izkārtojumā. Izkārtojuma parametrs ir īpaši noteikta izkārtojuma šūna, kurā var izvadīt dažādus datus, izmantojot iebūvēto 1C 8 valodu. Virsrakstam jābūt attēlotam visā drukātās veidlapas platumā, tāpēc izlemsim, cik izkārtojuma šūnu pietiks, lai mēs varētu drukāt uz lapas standarta ainavas orientācijas.

Parasti pietiek ar trīspadsmit vai četrpadsmit izkārtojuma šūnām, atlasiet tās apgabala pirmajā rindā Cepure un apvienot vienā šūnā ( Konteksta izvēlne -> Apvienot). Pēc tam veiciet dubultklikšķi uz iegūtās lielās šūnas un ierakstiet parametra nosaukumu, mūsu gadījumā “TitleText”. Lai ievadītais teksts kļūtu par pilnvērtīgu parametru, ar peles labo pogu noklikšķiniet uz šūnas un konteksta izvēlnē atlasiet vienumu Īpašības. Grāmatzīme Izkārtojums meklēsim lauku pildījums un atlasiet vērtību Parametrs. Parametri 1C izkārtojumā ir norādīti iekavās "<>».

Drukātās veidlapas virsrakstam ir jāizceļas starp citu tekstu, tāpēc vēlreiz atlasiet šūnu un izmantojiet ikonas izkārtojuma formatēšanas panelī, lai iestatītu teksta līdzinājumu. Centrēts un fonta lielums 14.

Pēc virsraksta teksta mēs to parādīsim apgabalā Cepure informācija par organizāciju, darījumu partneri, darījuma partnera līgumu un preču saņemšanas datumu. Tā kā visi šie dati arī ir ņemti no dokumenta, tad arī tos formalizēsim ar parametriem. Turklāt pirms katra parametra jāraksta paskaidrojošs teksts, lai lietotājs varētu viegli saprast, kur atrodas organizācija, kur atrodas darījuma partneris utt. Visas šīs darbības ir līdzīgas nosaukuma izveidei, tāpēc es pie tām sīkāk nekavēšos, tikai sniegšu priekšstatu par to, kam beigās jānotiek.

Attēlā parādīts, kā izkārtojuma parametri atšķiras no parastā teksta.

Izkārtojuma tabulas galvenes pievienošana

Pēdējais, kas mums jāizveido šajā izkārtojuma apgabalā, ir tabulas galvene, kurā tiks parādīti tabulas daļas dati Preces. Tabulai nepieciešamās kolonnas ir aprakstītas sadaļā “Problēmas paziņojums”. Mēs arī izveidosim tabulas galveni, izmantojot šūnu kombināciju un rakstot tekstu (kolonnu nosaukumus). Izmantojot rīku, atlasiet tabulas galvenes apmales Rāmis, kas atrodas izkārtojuma formatēšanas panelī.

Tabulas pievienošana izkārtojumam

Izkārtojumā izveidosim citu apgabalu - Dati. Tajā tiks parādīta tabulas daļas datu tabula Preces.Šajā apgabalā mums ir nepieciešama tikai viena izkārtojuma rinda. Lai visas tabulas daļas rindas parādītu drukātā veidā, šo laukumu aizpildīsim un parādīsim nepieciešamo reižu skaitu. Kolonnas apgabalā Dati jāsakrīt ar tabulas galvenes kolonnām, tāpēc tās aizpildīšana nebūs grūta. Vienīgā atšķirība ir apgabalā Dati mums ir vajadzīgi parametri, nevis tikai teksts. Ņemiet vērā arī to, ka pēc noklusējuma ciparu parametri tiek formatēti pa labi un teksta parametri tiek formatēti pa kreisi. Lai atlasītu kolonnas, jāizmanto arī rīks Rāmis.

Kājenes pievienošana izkārtojumam

Pēdējā mums nepieciešamā izkārtojuma zona ir Pagrabs. Tas parādīs kopsummas pēc daudzuma un summas. Radīšana ir līdzīga apgabala izveidei Dati, bet papildus rezultāti ir jāizceļ treknrakstā.

Gala rezultātam vajadzētu būt izkārtojumam, kas izskatās šādi:

Drukātas veidlapas 1C izveide. Programmēšana

Sāksim programmēt – tas ir svarīgākais posms drukātas formas izveidē. Vispirms ejam uz ārējās drukas formas objektu moduli, šeit mēs ieprogrammēsim. Lai to izdarītu, galvenajā ārējās apstrādes logā noklikšķiniet uz Darbības -> Atvērt objekta moduli.

Ārējās drukas formas objekta modulī ir jāizveido eksportēšanas funkcija Ronis().

Funkcija Drukāt() Eksportēt EndFunction

Lūdzu, ņemiet vērā, ka šī funkcija ir nepieciešama ārējām drukāšanas formām konfigurācijās, kurās tiek izmantota parasta lietojumprogramma. Visas turpmākās programmas kods, kas nepieciešams, lai parādītu drukāto veidlapu, tiks ierakstīts šīs funkcijas iekšpusē.

Pamata mainīgo inicializācija

Izveidosim mainīgo TabDoc, kurā būs izklājlapas dokuments – tieši tā ir drukātā forma, kurā parādīsim aizpildītos izkārtojuma laukumus.

TabDoc = jauns TabularDocument;

Uz mainīgo Izkārtojums Mēs iegūsim mūsu izveidoto drukātās veidlapas izkārtojumu. Lai to izdarītu, mēs izmantojam iebūvēto funkciju GetLayout(<ИмяМакета>).

Izkārtojums = GetLayout("Izkārtojums");

Mēs pārveidosim visus izkārtojuma apgabalus mainīgajos. Lai to izdarītu, mēs izmantojam izkārtojuma metodi GetArea(<ИмяОбласти>) .

HeaderArea = Layout.GetArea("Galvene"); AreaData = Layout.GetArea("Dati"); AreaFooter = Layout.GetArea("Kājene");

Drukātas veidlapas galvenes izvadīšana izklājlapas dokumentā

Visi nepieciešamie mainīgie tiek inicializēti. Sāksim aizpildīt un parādīt izkārtojuma apgabalus izklājlapas dokumentā. Vispirms aizpildīsim drukājamās veidlapas nosaukumu, lai to izdarītu, mums jāievada parametrs Virsraksta teksts, kuru izveidojām izkārtojumā, mums nepieciešamais teksts. Lai aizpildītu izkārtojuma apgabala parametru vērtības, ir īpaša kolekcija ar nosaukumu - Iespējas. No kura caur "." jūs varat iegūt jebkuru parametru. Virsraksta tekstā pārsūtīsim tekstu: “Drukāta forma”, kā arī dokumenta numuru.

Header Area.Parameters.TitleText = "Drukāt veidlapu"+LinkToObject.Number;

Atlikušos galvenes parametrus aizpildīsim līdzīgi, no detaļām iegūsim visas tiem nepieciešamās vērtības ReferenceToObject, kurā ir saite uz drukājamo dokumentu.

HeaderArea.Parameters.Organization = LinkToObject.Organization; HeaderArea.Parameters.Account = LinkToObject.Account; HeaderArea.Parameters.ReceiptDate = ObjectLink.Date; Header Area.Parameters.Counterparty Agreement = LinkToObject.Counterparty Agreement;

Visi galvenes parametri ir aizpildīti, mēs to parādīsim mūsu izveidotajā izklājlapas dokumentā, šim nolūkam mēs izmantojam metodi Izvade(<Область>) .

TabDoc.Output(HeaderArea);

Pieprasījuma rakstīšana par drukātu handikapu

Sāksim aizpildīt un zīmēt laukumu Dati. 1C drukātas veidlapas izveide ietver arī vaicājuma rakstīšanu; mums tas ir nepieciešams, lai iegūtu tabulas datus Preces un cenas Nomenklatūras pašreizējam datumam mēs izmantosim Pieprasīt. 1C 8 vaicājumu valoda ir līdzīga SQL, vai drīzāk praktiski kopē tās operatora SELECT iespējas, bet viss vaicājums ir rakstīts krievu valodā. Tāpēc, ja jūs vismaz neskaidri esat iepazinies ar SQL, tad jūs viegli sapratīsit 1C 8 vaicājumu valodu.

Šajā drukātajā formā pieprasījums būs diezgan vienkāršs un daudzi teiks, ka bez tā varētu iztikt, taču vaicājuma valodas zināšanas un prasme to pareizi lietot ir viena no galvenajām 1C programmētāja prasmēm. Vaicājumi ļauj iegūt sarežģītus datu paraugus, izmantojot mazāk resursu, un vaicājuma teksts ir daudz vieglāk saprotams nekā programmas kods, kas rakstīts, neizmantojot vaicājumu (vai ar minimālu tā izmantošanu). Turklāt 1C 8 ir ļoti labs vaicājumu noformētājs, kas ļauj interaktīvi salikt vaicājumu no nepieciešamajām tabulām.

Izveidosim mainīgo, kas saturēs pieprasījumu.

Pieprasījums = jauns pieprasījums;

Mēs sastādīsim pieprasījuma tekstu, izmantojot pieprasījuma konstruktoru. Lai sāktu, rakstīsim:

Request.Text = "";

Novietojiet peles kursoru starp pēdiņām un nospiediet peles labo pogu. Atvērtajā konteksta izvēlnē atlasiet vienumu Pieprasīt konstruktoru, tas mums ļoti palīdzēs 1C drukas veidlapas izveidē. Pēc tam tiks atvērts vaicājumu noformētāja logs; tajā ir daudz cilņu, bet mūsu vaicājumam mums būs nepieciešamas tikai četras: “Tabulas un lauki”, “Attiecības”, “Nosacījumi”, “Pievienojumi / aizstājvārdi”.

Mūsu vaicājumam mums būs nepieciešamas divas tabulas: tabulas daļa Preces dokumentu Preču un pakalpojumu saņemšana un jaunākās informācijas momentuzņēmums par pašreizējo reģistra datumu Preču cenas.

Dizainera loga kreisajā pusē mēs atrodam kolonnu Datu bāze. Tajā ir visu metadatu objektu koks, meklēsim tos, kas mums nepieciešami. Lai to izdarītu, atvērsim pavedienu Dokumentācija un atrodiet dokumentu Preču un pakalpojumu saņemšana, atvērsim to un atrodam tabulas daļu Preces, velciet to vaicājumu noformētāja kolonnā tabulas. Varat vilkt trīs veidos: velkot, veicot dubultklikšķi uz tabulas vai atlasot to un noklikšķinot uz pogas “>”. Atvērsim pavedienu Informācijas reģistri un atrodi tur galdiņu CenasNomenklatūra.ĪsceļšJaunākais, arī velciet to kolonnā tabulas. Mūsu vaicājumam pietiek ar šīm divām tabulām.

No iegūtajām tabulām atlasīsim vajadzīgos laukus. Lai to izdarītu, kolonnā tabulas atveram galdu un atrodiet laukus: Nomenklatūra, daudzums, cena, daudzums un velciet tos uz konstruktora trešo kolonnu - lauki. Paplašināsim tabulu , meklēsim lauku Cena un arī velciet to uz lauki.

Mūsu pieprasījuma tabulu un lauku struktūra ir gatava, tagad pāriesim pie nosacījumiem. Mums ir nepieciešami tabulas dati Preces netika ņemti no visām čekiem, bet tikai no tā, kuru mēs drukājam. Lai to izdarītu, mēs uzliksim galdam nosacījumu Preču saņemšanaPakalpojumiPreces. Dodamies uz vaicājumu noformētāja cilni “Nosacījumi”. Kolonnā lauki iepriekš atlasītās tabulas atrodas, nosacījumam mums būs nepieciešams lauks Saite no galda Preču un pakalpojumu preču saņemšana, Ievelkam to logā Nosacījumi.

1C vaicājumos varat izmantot parametrus; tie ir nepieciešami datu pārsūtīšanai uz pieprasījumu. Piemēram, ja mēs vēlamies ierobežot dokumentu atlasi ar konkrētu dokumentu, tad mēs varam izmantot parametru, lai nosūtītu saiti uz šo dokumentu pieprasījumam un izmantotu šo parametru nosacījumā. Tieši to mēs darīsim savā pieprasījumā.

Pēc loga Nosacījumi mēs pievienojām lauku Saite, vaicājuma noformētājs pats izveidos parametru ar tādu pašu nosaukumu un ievietos to aiz “=” zīmes. Ja vēlaties, šo parametru var pārdēvēt. Pieprasījuma tekstā parametri ir atzīmēti ar “&” zīmi, taču šajā gadījumā tas nav nepieciešams, jo tiek pieņemts, ka nosacījuma otrajā daļā ir parametrs, jums tas vienkārši jāatceras. Tālāk tiks apspriests, kā nodot vērtību 1C pieprasījuma parametram.

Tā kā pieprasījumā mēs izmantojam nevis pilnu produktu cenu tabulu, bet gan virtuālu (šajā gadījumā pēdējās šķēle), mums ir jāiestata nosacījumi šīs virtuālās tabulas veidošanai, mūsu gadījumā tas ir nogriešanas datums un cenu veida nosacījums (cenas, kurām ir stingri noteikts cenas veids, ir norādīts kvīts dokumentā, kuru izdrukājam).

Lai aizpildītu virtuālās tabulas parametrus, dodieties uz cilni Tabulas un lauki vaicājuma konstruktors, kolonnā tabulas atlasiet tabulu CenasNomenklatūraGriešanaJaunākais un nospiediet pogu Virtuālā galda opcijas, kas atrodas augšpusē. Atvērtajā logā laukā Periods jāiestata parametrs, līdz kuram tiks pārcelts datums, kurā tiks veikta cenas samazināšana. Mūsu gadījumā tas būs pašreizējais datums (tas ir, šodiena), tāpēc mēs saucam parametru “&CurrentDate”. Nosacījumu laukā ierakstīsim nosacījumus cenas veidam, nodosim arī parametrā, ko sauksim par “&TypePrice”. Iegūtais nosacījums izskatīsies šādi (kur TipsCena- reģistrēt mērījumus Preču cenas):

PriceType = &Cenas veids

Virtuālās tabulas parametri ir aizpildīti, noklikšķiniet uz pogas labi.

Tagad, kad esam ierobežojuši atlasi tikai ar mums nepieciešamo dokumentu, izveidosim savienojumus starp vaicājumu tabulām. Ja tas nav izdarīts, cenas no tabulas PricesNomenclatureSliceLast netiks saistītas ar preci no kvīts. Dosimies uz cilni Savienojumi vaicājumu dizainers. Izveidosim savienojumu visā laukā Nomenklatūra starp mūsu diviem galdiem. Lai to izdarītu, nospiediet pogu Pievienot, laukā 1. tabula izvēlieties tabulu Preču saņemšanaPakalpojumiPreces, un laukā 2. tabula — CenasNomenklatūraSliceLast. Saziņas nosacījumos atlasiet laukus Nomenklatūra no abām tabulām.

Jāņem vērā arī tas, ka vaicājuma atlasē mums ir jāiegūst visas rindas no cilnes daļas Preces un cenas tikai tad, ja dokumenta cenas veidam tās ir pieejamas pašreizējā datumā. Tādējādi tabulas dati Preces ir obligāti, bet cenu sadalījuma dati nav pieejami. Tāpēc attiecībās starp šīm tabulām ir nepieciešams izmantot tā saukto LEFT JOIN, un kreisā (vai nepieciešamā) tabula būs Preču saņemšanaPakalpojumiPreces, un labo (vai neobligāto) PriceNomenclatureSliceLast. Lai vaicājumu tabulu kreisais savienojums darbotos, kā aprakstīju iepriekš, jums ir jāatzīmē izvēles rūtiņa Visi pēc lauka 1. tabula.


Pieprasījums gandrīz gatavs, atliek tikai nedaudz piestrādāt pie lauka pseidonīmiem. Dosimies uz grāmatzīmi Arodbiedrības/Pseidonīmi un iestatiet lauka aizstājvārdu CenasNomenklatūra Šķēle Jaunākā.Cena. segvārda vārds būs - CenaŠodien, tas nepieciešams, lai vaicājuma atlases lauku nosaukumi un parametru nosaukumi drukātās formas izkārtojumā sakristu.

Darbs vaicājumu noformētājā tagad ir pabeigts, noklikšķiniet uz Labi. Pēc dizainera loga aizvēršanas jūs redzēsiet, ka rinda ar pieprasījuma tekstu ir aizpildīta un izskatās šādi:

Request.Text = "SELECT | Preču un pakalpojumu preču saņemšana. Nomenklatūra, | Preču un pakalpojumu saņemšana Preces. Summa, | Preču un pakalpojumu preču saņemšana. Cena, | Preču un pakalpojumu saņemšana Preces. Daudzums, | Cenas Nomenklatūras sadaļa no jaunākajām Cena AS CenaŠodien | NO | Dokuments. Preču un pakalpojumu saņemšana. Preces AS Pa solimProduktiPakalpojumiProdukti |KREISAIS SAVIENOJUMSReģistrētiesInformācija.CenasNomenklatūra.ŠķēlePēdējais (| &PašreizējaisDatums, CenasTips = &CenasTips) KĀS Nomenklatūras nolikums. menklatūra | = CenasNomenklatūraSliceLast. Nomenklatūra |KUR | Preču saņemšanaPakalpojumiProdukti.Saite = &Saite";

Pieprasījuma izpilde

Nodosim pieprasījumam nepieciešamos parametrus, šim nolūkam izmantosim pieprasījuma metodi SetParameter(<ИмяПараметра>,<Значение>). Lai iegūtu pašreizējo datumu, izmantojiet iebūvēto funkciju Pašreizējais datums (), tas atgriež datora datumu un laiku.

Izpildīsim vaicājumu, lai iegūtu paraugu ar mums nepieciešamajiem datiem. Lai to izdarītu, vispirms izmantojiet pieprasījuma metodi Palaist (), un tad metode Izvēlēties ().

Select = Query.Run().Select();

Izdrukātās veidlapas tabulas aizpildīšana

Rezultātā mainīgajā Paraugs būs ietverta vaicājuma rezultātu atlase, varat tajā pārvietoties, izmantojot metodi Nākamais(), un, lai izietu visu, ir nepieciešama cilpa Uz redzēšanos. Dizains būs šāds:

Kamēr Select.Next() Loop EndLoop;

Šajā cilpā mēs aizpildīsim un parādīsim izkārtojuma apgabalu Dati. Bet vispirms inicializēsim divus ciparu tipa mainīgos. Tajos mēs apkoposim kopsummas pēc daudzuma un summas, kas mums jāparāda apgabalā Pagrabs.

Kopējā summa = 0; TotalNumber = 0;

Cilpas iekšpusē mēs aizpildīsim laukumu Dati datus no pašreizējā atlases elementa mainīgajos Kopējā summa Un TotalNumber pievienojiet summas un daudzuma vērtības un, visbeidzot, parādiet apgabalu izklājlapas dokumentā, izmantojot mums jau pazīstamo metodi Izvade(). Tā kā mūsu pieprasījuma lauku nosaukumi pilnībā sakrīt ar apgabala parametru nosaukumiem Dati, tad aizpildīšanai izmantosim iebūvēto procedūru FillPropertyValues(<Приемник>, <Источник>), kas kopē īpašuma vērtības<Источника>uz īpašumiem<Приемника>.

Kaut Selection.Next() Loop FillPropertyValues(AreaData.Parameters,Selection); TotalSum = KopējāSumma + Paraugs.Summa; TotalQuantity = TotalQuantity + Sample.Quantity; TabDoc.Output(AreaData); EndCycle;

Drukātas veidlapas kājenes izvadīšana izklājlapas dokumentā

Atliek aizpildīt un parādīt pēdējo izkārtojuma apgabalu - Pagrabs. Mēs jau esam sagatavojuši datus aizpildīšanai, aizpildīšana un izņemšana tiek veikta saskaņā ar to pašu shēmu.

AreaFooter.Parameters.TotalQuantity = TotalQuantity; AreaFooter.Parameters.TotalSum = TotalSum; TabDoc.Output(AreaFooter);

Izklājlapas dokuments ir pilnībā aizpildīts, atliek tikai to parādīt ekrānā, lai lietotājs varētu apskatīt izdrukāto veidlapu un vajadzības gadījumā to izdrukāt. Bet tipiskās 1C 8 konfigurācijās īpašu moduļu procedūras ir atbildīgas par ārējo drukāto veidlapu izvadi. Tāpēc pietiek ar atgriešanos no funkcijas Ronis() aizpildīts izklājlapas dokuments.

Atgriezt TabDoc;

Šajā brīdī programmēšanas posms ir pabeigts un 1c drukas veidlapas izveide ir gandrīz pabeigta. Pilns funkcijas teksts Ronis()Šeit es to nedošu, jūs varat to apskatīt drukājamajā failā, kuru varat lejupielādēt raksta apakšā.

Drukātas veidlapas 1C izveide. Automātiskās reģistrācijas iespējas

Pieslēdzot datu bāzei ārējo drukas formu, sistēma automātiski nenosaka, kuram dokumentam vai uzziņu grāmatai ir paredzēta drukas forma, tā ir jāizvēlas manuāli. Un, ja drukāto veidlapu uzrakstīja cita persona, un jums ir tikai uzdots to savienot, tad izvēle var kļūt neskaidra. Lai izvairītos no šādām problēmām, visās ārējās drukātajās formās ir nepieciešams izveidot izkārtojumu ar automātiskās reģistrācijas parametriem. Ja tā ir izveidota un pareizi formatēta, sistēma automātiski nosaka, kuram dokumentam vai uzziņu grāmatai ir paredzēta iespiestā veidlapa.

Tas tiek darīts šādi:

  • Ārējā apstrādē mēs izveidojam jaunu izkārtojumu. Mēs to saucam par “Settings_Auto-Registration” (ir svarīgi nepieļaut kļūdu!).
  • Izkārtojuma pirmajā šūnā mēs rakstām Dokumentācija.(vai Uzziņu grāmatas.) un tā dokumenta nosaukums, kuram jāpievieno drukātā veidlapa.

Ārējās drukas formas pievienošana pamatnei

  • Palaidiet 1C 8 režīmā Uzņēmums;
  • Dodieties uz izvēlni Pakalpojums -> Papildu atskaites un apstrāde -> Papildus ārējās drukātās veidlapas;
  • Noklikšķiniet uz pogas Pievienot;
  • Atvērtajā logā noklikšķiniet uz ikonas Aizstāt ārējo apstrādes failu;
  • Ja esat izveidojis automātiskās reģistrācijas parametrus, tad mēs piekrītam to izmantošanai;
  • Ja neesat izveidojis automātiskās reģistrācijas parametrus, tad tabulas daļā Drukas plates piederums pievienot nepieciešamo dokumentu vai uzziņu grāmatu;
  • Nospiediet pogu LABI.

Pēc tam izvēlnē būs pieejama ārējās drukas forma Ronis dokumentu Preču un pakalpojumu saņemšana. 1C drukātās veidlapas izveidi tagad var uzskatīt par pabeigtu.

Līdzīgi raksti

2023 liveps.ru. Mājas darbi un gatavie uzdevumi ķīmijā un bioloģijā.