Min virksomhet er franchising. Vurderinger. Suksesshistorier. Ideer. Arbeid og utdanning
Nettstedsøk

Designeren av trykkskjemaer 1s 8.3. External Printable Form Builder NY beta (vanlige og administrerte apper!)

Vurder å skrive en enkel utskrivbar inn 1s 8.1 - 8.2 på konfigurasjonseksemplet Enterprise Accounting 2.0. Anta at du vil skrive en ekstern utskrivbar til dokumentet: vis hoveddataene til dokumentet, så vel som fra tabelldelen Produkter: nomenklatur, pris, mengde og beløp.

Du kan laste ned det resulterende eksemplet ved å .

I konfiguratoren 1C Enterprises 8 opprette ekstern behandling ( Fil->Ny->Ekstern behandling), angi et navn, opprett et attributt som kreves for det eksterne utskriftsskjemaet ReferenceToObject med type DocumentReference.Realization of GoodsServices.

Lag et utskrivbart oppsett

Legger til en ny oppsett, la layouttypen stå regnearkdokument. Vi lager tre områder på layouten: Overskrift, Data og Kjeller. Du kan gjøre dette ved å velge ønsket antall linjer og klikke på menyen Tabell->Navn->Tildel navn (Ctrl+Shift+N).

Etter det begynner vi å plassere tekst og parametere i områdene. La oss sette det i overskriften utskrivbart navn, dokumentnummer og organisasjon, samt tegne grensene til tabelloverskriften og skrive navnene på kolonnene. Når du oppretter en parameter i celleegenskapene, angir du egenskapen på Layout-fanen fylling til mening Parameter.

I området Data lag parametere for å skrive ut radene i tabelldelen( Nomenklatur, pris etc.), men i området Kjeller for totaler etter mengde og beløp.

Programmering

La oss gå til modulen for utskrivbare objekter Handlinger->Åpne objektmodul.

La oss lage en eksportfunksjon som er obligatorisk for utskrift av skjemaer Tetning().

Funksjon Utskrift () Eksport EndFunctions

La oss lage en variabel i funksjonen regnearkdokument, der det trykte skjemaet vil vises, får vi oppsett og layout område.

TabDoc = nytt regnearkdokument; Layout = GetLayout("Layout" ); Header Area = Layout.GetArea("Header" ); ScopeData = Layout.GetScope("Data" ); AreaFooter = Layout.GetArea("Kjeller" );

Fyll inn parameterne hatter og ta det til regnearkdokument .

Header Area.Parameters.HeaderText = +ObjectReference.Number; HeaderScope.Parameters.Organization = LinkToObject.Organization; TabDoc.Output(HeaderArea);

For å få tabellrader Produkter bruk spørring.

Request = ny forespørsel; Query.SetParameter("Reference", ObjectReference); Query.Text = "VELG | Realisering av varer, tjenester, varer. nomenklatur, | Realisering av varer, tjenester, varer. Mengde, | Realisering av varer, tjenester, varer. Pris, | Salg av varer, tjenester, varer, kvantitet| FRA | Document.Sale of GoodsServices.Goods AS Realisering av GoodsServicesGoods|HVOR | ImplementationProductsServicesProducts.Reference = &Reference";

Vi sender rekvisittene til forespørselsparameteren ReferenceToObjectå spesifisere i tilstanden HVOR at vi kun trenger data fra dokumentet som vi viser det utskrevne skjemaet fra. For å få et utvalg av en spørring, kjører vi den først og velger deretter radene.

Selection = Query.Execute().Select();

Deretter, i løkken, fyll inn parametrene for området Data for hver linje i dokumentutvalget og vis dem i regnearkdokument. Også i loopen teller vi de totale verdiene mengde og beløp. Vi vil ikke fylle ut hver parameter separat, men vi vil bruke prosedyren FillPropertyValues((<Приемник>, <Источник>) fra global kontekst, kopierer den egenskapsverdiene <Источника> til eiendommer <Приемника> . Matching gjøres av eiendomsnavn. Du kan lese mer om dette i syntaksassistent 1C Enterprise 8.

Totalsum = 0 ; Totaltall = 0 ; While Selection.Next() Loop FillPropertyValues(DataArea.Parameters, Selection); TotalSum = TotalSum + Sample.Sum; TotalQuantity = TotalQuantity + Sample.Quantity; TabDoc.Output(DataArea); EndCycle ;

Fyll og vis området Kjeller.

AreaBasement.Parameters.TotalQuantity = TotalQuantity; RegionBasement.Parameters.TotalAmount = TotalAmount; TabDoc.Output(RegionFooter);

Vi returnerer det fylte regnearkdokumentet fra funksjonen Tetning().

returner TabDoc;

Hvis du bruker en av de typiske konfigurasjonene, så etter å ha returnert regnearkdokumentet 1C vil automatisk vise det utskrevne skjemaet. Du kan også bruke regnearkmetoden for utdata. Forestilling().

5. Koble det utskrivbare til dokumentet

typiske konfigurasjoner 1C 8 det er en katalog for registrering av eksterne utskriftsskjemaer Ekstern behandling. For å koble til, gå til menyen i bedriftsmodus Service->Tilleggsrapporter og behandling->Ytterligere eksterne utskriftsskjemaer.

Legger til nytt element katalog, last det utskrevne skjemaet fra disken og velg type dokument.

Nå i dokumentet Salg av varer og tjenester en ny utskriftsbar vises.

Skriv ut skjema for automatisk registrering

For å unngå behovet for å velge dokumenttype manuelt når du kobler til den utskrivbare, kan du konfigurere automatisk registrering. For å gjøre dette legger vi til et nytt oppsett og kaller det Parameters_Autoregistrering(bare det) og i den første cellen skriver vi Dokumentasjon.<Наименование документа> (eller Referanse bøker.<Наименование справочника> ).

Nå, når du kobler til utskriftsskjemaet, vil vi bli bedt om å bruke alternativer for automatisk registrering.

Kollegaer!

Vi fortsetter temaet rapportering i 1C. Nylig hadde vår klient et problem med å overføre dokumentasjon fra 1C 8.3.

applikasjon tilleggsinformasjon i et trykt skjema, nummerering av utskriftsark, angivelse av dato, klokkeslett og brukeren som har utstedt rapporten.

Vi dekket et lignende eksempel i 8.2-konfigurasjonen i forrige utgivelse. Nå skal vi se på utskriftsinnstillingene som gjør at alt dette kan gjøres i 8.3-konfigurasjonen.

Dessuten er mye av dette automatisert i 8.3.

Så hvordan kan du inkludere informasjonen ovenfor på trykk? Hva bør gjøres i dette tilfellet?

Vi tilbyr vår oversikt over alternativer, kanskje det også vil være nyttig for deg.

Alternativ 1. Direkte fra det trykte skjemaet til den genererte rapporten eller dokumentet:

Du danner en utskrevet form av fakturaen for betaling og ringer den gjennom Ch. meny - Tabell - Utskriftsinnstillinger - Topp- og bunntekst og konfigurer etter behov.
Dette gjøres en gang for alle FORMATERT utskriftsskjema.

Sette opp overskriftsfelt

Vær oppmerksom på ikonene i øvre venstre hjørne av skjemaet:

Dette er i rekkefølge: sidetall, antall sider, dato og klokkeslett. Flytt musen til ønsket plassering i topp- eller bunnteksten og klikk på ønsket ikon. Etter å ha klikket på OK, når de skrives ut, vil disse dataene vises i det trykte skjemaet der du spesifiserte.

Alternativ 2. Konfigurert for enhver utskrift (rapporter, dokumenter, sertifikater) fra programmet

Hvis du ikke vil sette opp topptekst og bunntekst manuelt hver gang, kan du sette opp generell form topp- og bunntekst for utskrift.

Det ser slik ut:

Her flere muligheter for å vise informasjon i trykte skjemaer: dataene "Rapportnavn" og "Bruker" legges til. Dette er bare vårt tilfelle.

Valget av data i topptekst og bunntekst utføres som beskrevet i alternativ 1, bare i stedet for ikoner velger vi tekstknappene "Tid", "Dato", "Rapportnavn", etc. Men essensen av dette endres ikke . Etter å ha spesifisert nødvendig informasjon på de riktige stedene i skjemaet, lagres innstillingen.

Når du skriver ut et skjema, vil alle spesifiserte data vises i det.

Alternativ 3: Redigere oppsettet i brukermodus

Hvorfor vurderer jeg også denne metoden her, som har sin egen funksjonalitet og som strengt tatt ikke gjelder for temaet som vurderes.

For det skjer ofte at du må bruke en kombinasjon av denne metoden og utskriftsinnstillinger for å oppnå ønsket resultat. Redigering av utskrivbare oppsett lar oss tegne noen ting vi trenger rett i oppsettet til denne utskrivbare.

Oppsett endres i seksjonen Administrasjon - Skriv ut skjemaer, rapporter, behandling - Skriv ut skjemaoppsett.

Her er et eksempel på redigering av faktura-ordre-oppsettet (faktura for betaling til kjøperdokumentet):

Vi velger oppsettet, og indikerer ved inngangen at vi vil redigere det og legge til litt tekstinformasjon til slutten.

For eksempel slik:

Vi lagrer endringene og danner det trykte skjemaet.

Og vi trykker med endringer.
Men mulighetene for slik redigering er begrenset.)

Så alternativ 3 er praktisk å bruke for å legge inn informasjon permanent, uendret, alt annet vil kreve utfylling av det trykte skjemaet av programmereren.

Men ofte er dette nok. 🙂

Som kjent - uten papir.. ingen seriøs virksomhet kan klare seg uten. Og når vi sier at det er noen elektroniske dokumenter i 1C, oppstår spørsmålet umiddelbart om hvordan du skriver dem ut i papirform.

Prosessen med å skrive ut et elektronisk dokument 1C kalles en 1C-utskrivbar.

Hvert dokument kan ha flere 1C-utskrivbare. For eksempel er dokumentet Salg av varer og tjenester (dvs. salg) skrevet ut i 1C-utskrivbare former: TORG-12, Faktura, Fraktbrev, Act of Services Rendered, og så videre.

Essensen av 1C-utskrivbare er en mal (av Excel-dokumenttypen) der variabler er satt. Under utskriftsprosessen erstattes variablene med teksten fra det elektroniske dokumentet. Malen lagres vanligvis i konfigurasjonen.

Problemet med å endre standard 1C-utskriftsskjemaet er at det vanligvis ikke er ønskelig å endre standardkonfigurasjonen, ellers vil det være vanskeligere å oppdatere. Derfor dukket det opp ulike metoder for å bruke eksterne utskriftsformer 1C og begynte å finne opp hjulet på nytt.

Det eksterne utskriftsskjemaet 1C er en utskriftsmal som på en eller annen måte lagres separat fra selve konfigurasjonen.

Dette er imidlertid alt teori. Hvordan lage din egen printable? Og enda bedre - hvordan gjøre endringer i den eksisterende?

Hvordan et 1C-dokument skrives ut

For å skrive ut et hvilket som helst 1C-dokument (som kan skrives ut) - må du klikke på Skriv ut-knappen i dokumentet. 1C vil be deg om å velge en 1C som kan skrives ut for dette dokumentet fra listen.

Til venstre for Print-knappen er det vanligvis en knapp for rask tilgang til den sist valgte 1C-utskrivbare.

Utskriftsresultatet ser slik ut. For å skrive det ut til skriveren, må du sette markøren i 1C-utskrivbare, trykk Ctrl + P eller knappen med skriveren på knappelinjen eller i Fil/Skriv ut-menyen.

Utskriftsinnstillinger (marger, papirretning osv.) finner du i menyen Fil/Sideoppsett. Også i brukerinnstillingene kan du sørge for at utskriften gjøres direkte til skriveren.

Hvor kommer dette utskriftsmaterialet fra?

Hvor er det trykte skjemaet 1C

La oss gå til konfiguratoren. Finn i konfigurasjonsvinduet ønsket dokument. La oss åpne Layouts-grenen. Det er de som blir til et 1C-trykkskjema når det skrives ut.

Det vil imidlertid ikke være nok - vi ble tilbudt å velge mange flere alternativer ved utskrift. Faktum er at mange oppsett av 1C-utskriftsskjemaer er skjult andre steder.

La oss gå tilbake opp i 1C-konfigurasjonsvinduet. Åpne grenen Generelt, og deretter grenen Generelle oppsett. Det er her de fleste layoutene ligger. Dette gjelder spesielt for statlig regulerte trykkskjema 1C - TORG 12, Faktura mv.

Det er forresten ikke vanskelig å legge merke til at du vil se flere oppsett av TORG12 eller Faktura. Hvorfor? Det er lett å forklare. Lover og krav endres med jevne mellomrom. Men vi kan ikke bare endre det samme oppsettet – og hvis vi må skrive ut dokumentet fra en dato som er tidligere enn datoen for endringen. Derfor lages det flere oppsett og avhengig av datoen for dokumentet brukes den riktige.

Men det er ikke alt! Det er også utvendige oppsett. Hvor er de lagret?

La oss gå tilbake til 1C Enterprise-modus. Gjennom brukermenyen med administrative rettigheter Operasjoner / Kataloger, velg en katalog Ekstern behandling.

Linjene i denne katalogen, som ser ut som en utskrivbar, legger til utskriftsalternativer for dokumentet som er spesifisert i tabellen Tilbehør til utskriftsmaterialet (på bildet er dette Salg av varer av tjenester).

For at dette skal fungere må du gjøre en ekstern behandling som i sin objektmodul har en Print() prosedyre merket Export som organiserer utskriftsprosessen.
Men vi går foran oss selv. La oss først se hvordan det utskrivbare 1C-oppsettet er organisert.

Layout av det trykte skjemaet 1C

Oppsettet til det trykte skjemaet 1C er som følger.

Som du kan se, er den delt inn i blokker. Blokker kan være horisontale (navn til venstre) eller vertikale (navn øverst).

Selve layouten, i den formen den er i, skrives ikke ut. Individuelle blokker trykkes. Programmereren i utskriftsbehandlingsprosedyren spesifiserer rekkefølgen på blokkene og antall repetisjoner av hver blokk. Resultatet er et trykt skjema.

For å tilordne en region, velg flere rader (eller flere kolonner) og velg Tabell/Navn/Tildel navn fra menyen. For å fjerne - det er også en Fjern navn-kommando.

Navnet er nødvendig for at området skal kunne nås fra programkoden. Tittelen kan tildeles ikke bare til rader eller kolonner, men ganske enkelt til flere celler. For å gjøre dette, velg cellene og velg den samme menyen.

Men som standard vises ikke vilkårlige cellenavn. For å se dem, velg menypunktet Tabell/Navn/Vis navngitte celler.

Så i dag lærte vi at 1C-utskriftsskjemaet er dannet ved hjelp av en layout. Oppsettet består av blokker - smart - navngitte områder.

Typiske (vanligvis brukte) blokker for utskriftsskjema:

  • Topptekst – viser tittelen på dokumentet
  • Linje - en linje i tabellen vises, denne blokken gjentas så mange ganger du trenger for å skrive ut linjer
  • Bunntekst – viser slutten av dokumentet.

Nå må vi forholde oss til

Det er ingen hemmelighet at selv om i vår tid stadig flere selskaper går over til elektronisk dokument omsetning, det gamle ordtaket "Uten et stykke papir du ..." mister ikke sin relevans. Det har seg slik at tilsynsorganene av en eller annen grunn først og fremst er interessert i papirdokumenter. Derfor, hvis du aktivt bruker programmet 1C: Regnskap eller Enterprise for økonomikontroll, er det viktig å vite hvordan du skriver ut et elektronisk dokument opprettet ved hjelp av programmet.

Utskrivbare skjemaer i 1C lar deg transformere et elektronisk dokument til en trykt versjon.

For å gjøre dette har utvikleren gitt et utmerket verktøy - Print Constructor. Med den kan du lage dokumenter der du kan spesifisere alle data du trenger, og ikke bare noen få standardskjemaer. Dette gjelder spesielt for de dokumenter som ikke har en strengt regulert form, som ikke i noe tilfelle kan endres. Dette inkluderer spesielt utført arbeid, enkelte fakturaer eller betalinger.

I denne veiledningen foreslår vi å forstå egenskapene til utskriftsdesigneren, vurdere hvilke typer utskriftsskjemaer som kan være og hvordan de skiller seg fra hverandre. Vi vil også vise med et eksempel hvordan du skriver ut det opprettede skjemaet.

Til å begynne med er det verdt å finne ut hva som generelt er en utskrivbar i 1C 8. Dette er en 1C regnearkmal (som Excel), der det er angitt noen variable linjer som er fylt med data fra programmet når dokumentet er tegnet opp.

Det finnes to typer utskriftsmateriale:

  • Intern (innebygd). De er lagret i programkonfigurasjonen, så det er bedre å ikke endre dem, siden det kan oppstå problemer under oppdateringen senere.
  • Ekstern - lagret separat fra programinnstillingene. Og med deres hjelp kan du lage og forberede deg på utskrift av et dokument av nesten hvilken som helst kompleksitet uten å påvirke konfigurasjonen av 1C 8-programmet.

Hvordan velge allerede forberedte oppsett? Etter at du har utført en inntekts- eller utgiftsoperasjon, for eksempel, har skrevet ut en fullføringshandling, klikker du på "Skriv ut"-knappen for å skrive ut dokumentene. Listen viser en liste over skjemaer for utskrift, som allerede er fylt ut med innlagte data om transaksjonen og din bedrift. Ved å klikke på den typen dokument du trenger åpner du et forhåndsvisningsvindu slik at du kan forsikre deg om at dataene som er utfylt er korrekte. Skriv ut-knappen sender dokumentet til skriveren.

Med det grunnleggende ute av veien, la oss finne ut hvor alle utskriftene dine er lagret. La oss gå videre til neste spørsmål.

Hvor lagres utskriftsmateriale?

Du kan se de innebygde utskriftene både i konfiguratormodus og i normal bedriftsmodus. I det første tilfellet må du trykke på den tilsvarende knappen i startvinduet når du starter programmet. Du vil se programmenyen, finne grenen "Realisering av varer og tjenester", som inneholder elementet "Layouts". Den inneholder ofte bare to elementer - "Faktura" og "Act". Hvor er da alle andre, for listen er mye mer omfattende? De gjemmer seg bare et annet sted. Du må åpne grenen "Generelt" - "Generelle oppsett", nesten alle oppsett er lagret i den.

I det andre tilfellet må du gå til menydelen "Administrasjon" - "Skriv ut skjemaer, rapporter og behandling" - "Skriv ut skjemaoppsett". Den vil vise alle dokumentoppsett. Det er bemerkelsesverdig at de kan redigeres i samme meny.

Angående ytre former, da må du først enten opprette dem gjennom konfiguratormodus, eller ved å laste ned en ferdig fil, og deretter koble dem til i menyen "Administrasjon" - "Skriv ut skjemaer, rapporter og behandling" - "Ytterligere rapporter og behandling". Vi skal snakke om dette litt senere.

Opprette et enkelt skjema gjennom den innebygde Print Constructor

En slik utskrivbar innebærer ikke muligheten for dyp redigering, siden dette vil medføre en endring i konfigurasjonen av programmet, samt ytterligere vanskeligheter ved oppdatering av det. Men hvis du er helt fornøyd med standardskjemaet, eller hvis du vil fordype deg i vanskelighetene ved å lage et eksternt skjema, er denne metoden helt egnet for deg.

  1. Først av alt, start i konfiguratormodus, finn dokumentet du trenger, for eksempel Realisering av varer og tjenester, i dokumentegenskapene, gå til Handlinger - Konstruktører - Utskriftsdesigner.
  2. Når du blir bedt om et jobbalternativ, velger du Vanlige skjemaer.
  3. Gi den nye layouten et navn, for eksempel "Fakturautskrift".
  4. Velg detaljene du vil se i overskriften på dokumentet. Dessuten må de velges i den rekkefølgen de skal vises i. For å velge må du markere elementet i venstre kolonne med markøren og trykke på pilen midt på skjermen slik at attributtet vises i høyre kolonne.
  5. Merk detaljene som skal vises i tabelldelen. Valget av detaljer følger samme prinsipp som i forrige avsnitt.
  6. På samme måte velger du detaljene i bunnen av dokumentet.
  7. siste trinn opprette, velg om du vil skrive ut umiddelbart uten forhåndsvisning, om du trenger tabellbeskyttelse, og bekreft deretter opprettelsen av skjemaet med OK-knappen.

Opprette en ekstern utskriftsvennlig

Skjemaer opprettet gjennom Print Designer kan sammenlignes med en visuell programeditor, når du ikke skriver inn all koden manuelt, men bare komponerer den fra de foreslåtte elementene. Det eksterne skjemaet er en fil med manuelt skrevet programkode, som beskriver fremgangsmåten for å vise data på skjermen. Dette er det som lar deg redigere det trykte skjemaet, som du vil, og spesifisere absolutt alle data i hvilken som helst sekvens.

En ekstra fordel er at selv om du ikke forstår eller rett og slett ikke vil forstå vanskelighetene med 1C 8-programmering, kan du overlate denne prosedyren til fagfolk. De kan forberede seg på deg ønsket form, vil gi den til deg i form av en ferdig fil, som du bare aktiverer med noen få knappeklikk.

Nå mer om selve prosedyren. Tenk på eksemplet med å lage et "Konto"-oppsett for dokumentet "Implementering (handlinger, fakturaer)".

  1. Åpne 1C 8-programmet i konfiguratormodus.
  2. Klikk Fil - Ny - Ekstern behandling, gi den et navn (den skal ikke inneholde mellomrom), og klikk deretter Handlinger - Åpne objektmodul.
  3. I inntastingsfeltet som åpnes, skriv inn følgende kode (verdier som kan endres til dine egne er uthevet i gult):

Funksjon DetailOnExternalProcessing() Export
RegistrationParameters = Ny struktur;
AssignmentArray = New Array;
Array of Assignments. Add("Dokument. Realisering av varer av tjenester"); //Spesifiser dokumentet som vi gjør en ekstern utskrift til. form
RegistrationParameters.Insert("View", "PrintForm"); //kan være - Utskriftsskjema, fylle ut et objekt, tilleggsrapport, lage relaterte objekter ...
RegistrationParameters.Insert("Assignment", Assignment Array);
Registreringsparametere.Insert("Navn", "Ordre for salg av varer"); //navn som behandlingen vil bli registrert under i katalogen for ekstern behandling
RegistrationParameters.Insert("SafeMode", FALSE);
RegistrationParameters.Insert("Versjon", "1.0");
RegistrationParameters.Insert("Informasjon", "Dette utskrivbare skjemaet ble opprettet som et eksempel");
CommandTable = GetCommandTable();
AddCommand(CommandTable, "External Order", "External Order", "ServerMethod Call", True, "PrintMXL");
RegistrationParameters.Insert("Kommandoer", CommandTable);
ReturparametereRegistrering;
EndFunction // ExternalProcessing Details()
GetCommandTable() funksjon
Kommandoer = Ny verditabell;
Commands.Columns.Add("View", New TypeDescription("String"));//hvordan beskrivelsen av det utskrivbare skjemaet vil se ut for brukeren
Commands.Columns.Add("Identifier", NewTypeDescription("String")); //utskriftsskjema layout navn
Commands.Columns.Add("Bruk", NewTypeDescription("String")); //Call ServerMethod
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));
Commands.Columns.Add("Modifier", NewTypeDescription("String"));
Lagretur;
EndFunctions
Prosedyre AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "")
NewCommand = CommandTable.Add();
NewCommand.View = Vis;
NewCommand.Identifier = Identifikator;
NewCommand.Use = Bruk;
NewCommand.ShowAlert = ShowAlert;
NewCommand.Modifier = Modifikator;
Sluttprosedyre

  1. Lagre oppsettet for utskrift som en fil til en hvilken som helst mappe på harddisken, og navngi den deretter.

Sett inn prosedyren for å starte utskrift fra programmenyen i det samme dokumentet (kommandoene uthevet i gult må samsvare med linjen):

AddCommand(CommandTable, "Ekstern ordre", "Ekstern ordre"):
Prosedyreutskrift (Array of Objects, Collection of Print Forms, Print Objects, Output Parameters) Eksporter
PrintManagement.OutputSpreadsheetDocumentToCollection(
Samling trykte skjemaer,
"Ekstern ordre"
"Ekstern ordre"
GeneratePrintForm(ArrayObjects,PrintObjects);
Sluttprosedyre // Print()

  1. Sett inn et utskrivbart skjemautfyllingsoppsett ved å klikke på navnet på det eksterne skjemaet i nedre venstre hjørne og velge "Layouts" - "Add" - "Spreadsheet Document", gi det et navn. Deretter fyller du ut regnearket med de nødvendige dataene. For eksempel:
    • Ordre for varenr. [ReleaseNumber] fra [ReleaseDate] - høyreklikk - Egenskaper - Layout - Fylling - Mal.
    • Lag kolonnene du vil skal vises i dokumentet.
    • Velg de angitte cellene, klikk Tabell - Navn - Tildel et navn - skriv inn navnet "Overskrift".
    • Kopier linjen med tabelloverskriftene, velg dem, høyreklikk - Egenskaper - Layout - Fylling - Parameter.
    • Velg linjen, navngi den, for eksempel "String TH".
    • Lag en bunntekst: skriv Total, cellen som totalbeløpet skal vises i, navn SumTotal, velg "Parameters" i egenskapene.
    • Spesifiser den ansvarlige, i egenskapene til cellen for å vise etternavnet, spesifiser "Parametere".
    • Velg de nederste radene og navngi området "bunntekst".
  2. Skriv nå funksjonen for å generere et trykt skjema i inndatavinduet:

Funksjon GeneratePrintForm(ReferenceToDocument,PrintObjects)
SpreadsheetDocument = Nytt SpreadsheetDocument;
SpreadsheetDocument.PrintParameterName = "PRINT_PARAMETERS_InvoiceForVRTU";
ProcessingLayout = GetLayout("InvoiceForPaymentExternal");
// fyll inn overskriften
AreaHat = LayoutProcessing.GetArea("Hat");
AreaHeader.Parameters.DocumentNumber = LinkToDocument.Number;
AreaHeader.Parameters.DocumentDate = LinkToDocument.Date;
AreaHeader.Parameters.OrganizationName = LinkToDocument.Organization.Name;
//viser overskriften i et regnearkdokument
SpreadsheetDocument.Output(RegionHeader);
//fyll inn PM-linjene
StringScope =ProcessingLayout.GetRegion("StringP");
For hver gjeldende rad fra ReferenceToDocument.Products Loop
FillPropertyValues(RowArea.Parameters, CurrentRow);
SpreadsheetDocument.Output(StringArea);
EndCycle;
//fyll bunntekst
AreaFooter = LayoutProcessing.GetArea("Footer");
AreaFooter.Parameters.QuantityTotal = LinkToDocument.Products.Total("Quantity");
AreaFooter.Parameters.AmountTotal = LinkToDocument.Products.Total("Amount");
RegionFooter.Parameters.OwnerName = LinkToDocument.Manager.Name;
//skriv ut bunnteksten i et regnearkdokument
SpreadsheetDocument.Output(RegionFooter);
SpreadsheetDocument.AutoScale = sant;
Returner regnearkdokument;
EndFunctions

  1. Lagre endringene i dokumentet.
  2. Nå må du aktivere det opprettede skjemaet. For dette:
    • Gå til "Administrasjon" - "Skriv ut skjemaer, rapporter og behandling" - "Tilleggsrapporter og behandling".
    • Klikk på "Opprett", velg den eksterne skjemafilen i utforskeren, bekreft oppføringen med "Lagre og lukk"-knappen.
  3. For å sjekke, gå til Salg - Implementering (handlinger, fakturaer), klikk på "Skriv ut", velg skjemaet ditt og kontroller at det er riktig utfylt.
  4. Skriv ut dokumentet om nødvendig.

Konklusjon

Vi gjennomgikk sammen med deg et eksempel på å lage et utskrivbart skjema gjennom Print Designer og gjennom det eksterne skjemaopprettingsverktøyet. Vi håper at alt ordner seg for deg. Legg igjen spørsmålene dine i kommentarfeltet.

Livet går videre, lovgivningen endres, utvikleren slipper konfigurasjonsoppdateringer, og igjen har vi et valg: installer oppdateringen selv eller ring programmereren igjen for å "levere en ny utgivelse" ...

La oss bli kjent med mekanismen for å endre utskriftsskjemaer uten å endre konfigurasjonen.


I praksis for hver regnskapsfører som bruker 1C, har det noen gang vært behov for å avgrense konfigurasjonen for seg selv: hvem korrigerte nøyaktigheten til prisen eller beløpet på kvitteringsfakturaen, hvem satte inn logoen og korrigerte utseende utgiftsfaktura. Alt ville være bra, men slike endringer akkumuleres over tid, og når tiden kommer for å oppdatere utgivelsen, oppstår et dilemma: enten mister du alle endringene som er gjort, eller ringer programmereren for å overføre alle endringene til den nye utgivelsen (selvfølgelig, mot en ekstra avgift). Hvordan være? For på en eller annen måte å forenkle oppdateringen av konfigurasjoner, opprettet utviklerne en ny mekanisme: "Ekstern behandling, utskrift av skjemaer, behandling for å fylle ut tabelldeler". I dag vil vi bare vurdere en del av denne mekanismen - trykkplater.


Ethvert emne læres best ved eksempel. La oss sette oss følgende oppgave: å legge til konfigurasjonen muligheten til å skrive ut en faktura (dokument "Salg av varer og tjenester") med firmalogoen vår. I tillegg er det nødvendig at inskripsjonene i overskriften på dokumentet "leverandøren" og "kjøper" ble uthevet med fet skrift, og til slutt er det nødvendig at det nederst i dokumentet er et sted for signaturen til sikkerhetstjenesten som tillot forsendelsen.


La oss introdusere to tilleggsbetingelser:

  • Den nye utskrivbare bør erstatte den gamle utskrivbare. "Faktura"
  • Vi kan ikke endre konfigurasjonen fordi vi ønsker å bruke automatisk oppdateringskonfigurasjon i fremtiden

Vel, hva er oppgaven? Virker det for komplisert? Vel, jo vanskeligere det er, jo mer interessant, og jo mer vil du løse det. Så gå på jobb.


Vi starter databasen vår i konfiguratormodus. Åpne konfigurasjonen ved å velge kommandoen fra hovedmenyen "Konfigurasjon > Åpne konfigurasjon". Vi vil ikke i noe tilfelle endre selve konfigurasjonen. Vi vil bruke den som en prototype. Vi vil gjøre hovedarbeidet her, men vi vil redigere ekstern behandling. Opprett en ekstern behandlingskommando i hovedmenyen "Fil > Ny". Velg type dokument "Ekstern behandling". For den første behandlingen, angi navnet "Bedriftsfaktura"


Viktig! Behandlingsnavnet må ikke inneholde mellomrom, akkurat som variabelnavn.


La oss nå gjøre litt "plagiering". La oss kopiere oppsettet "Faktura" fra dokumentet "Salg av varer og tjenester". For å gjøre dette, finn den i grenen "Dokumentasjon" konfigurasjonstreet. Utvid denne grenen ved å klikke på ikonet «+» og finne oppsettet vi trenger "Faktura"(det står i tråden "Layouts"). For å kopiere dette objektet, må du velge dette oppsettet i treet og utføre kommandoen "Rediger > Kopier"(den samme handlingen skjer ved kombinasjon CTRL+C). La oss nå gå til behandlingen vi opprettet, velg etiketten i treet "Layouts" og i hovedmenyen, velg elementet - Rediger > Lim inn (CTRL+V). Resultatet skal se ut som figur 1.


Dobbeltklikk nå for å åpne oppsettet.

Hva er en "layout"

La oss si noen ord om hensikten med oppsettet.

Oppsett- Oppbevaring "byggeklosser", områder som, i likhet med murstein, et regnearkdokument bygges fra, som vi pleide å kalle et trykt skjema. Områder er definert ved hjelp av horisontale og vertikale seksjoner eller deres skjæringspunkter. Vår layout har kun horisontale seksjoner: "Overskrift", "Leverandør", "Kjøper", "Tabelloverskrift", "Linje" (se fig. 2). Område - et sett med celler. Som i MS Excel kan celler slås sammen, tekst og bakgrunnsfarger, fonter og så videre kan endres. Alle celleinnstillinger kan vises og endres i celleegenskaper-vinduet. Du kan kalle opp innstillingsvinduet ved å høyreklikke på cellen og velge kontekstmenyelementet "Egenskaper"(det samme resultatet oppnås med hurtigtasten Alt+Enter).


En celle kan inneholde en av tre typer verdier:

  1. tekst– en verdi av denne typen vil bli skrevet ut i samme form;
  2. parameter– en celle av denne typen inneholder navnet på en variabel, hvis verdi vil bli skrevet ut.
  3. prøve– celler av denne typen er en kombinasjon av det første og andre alternativet. En celle kan inneholde tekst og variabler. For at programmet skal skille tekst fra en variabel, må variabler være omsluttet av hakeparenteser: "I dag er [dato]".

Viktig! Tabelleditoren viser verdien av celler av den andre og tredje typen i trekantede parenteser. I figur 2, en celle med tekst "Kjøper"- har form av tekst, og til høyre for cellen "Introduserer kjøperen"- parameter.

Hvorfor forteller jeg alt dette? Nå vet du i hvilke celler du enkelt kan endre innholdet, og i hvilke det er uønsket å endre noe, siden du må gjøre endringer i utskriftsalgoritmen.

La oss nå gå tilbake til problemet vårt. Vi har laget prosessering, kopiert layouten og er klare til å endre den selv. La oss først se nærmere på det.

Hva er i utskriftsoppsettet

Layoutstrukturen til alle dokumenter er veldig lik. Ved å granske ett dokument nøye, kan vi håndtere andre. Første del "Overskrift". Når denne delen vises, vil tittelen på dokumentet bli generert, bestående av type, dato og nummer på dokumentet. Avsnitt følger. "Leverandør" og "Kjøper", der programmet vil vise informasjon om henholdsvis leverandør og kjøper. Mer interessant avsnitt "Ytterligere informasjon", som utviklere bruker for å vise annen informasjon om dokumentet, for eksempel informasjon om kontrakten med nummer og dato. Det særegne med denne delen er at den kan vises mange ganger, og hver gang kan den inneholde annen informasjon. Hva og når som skal skrives ut er beskrevet i utskriftsalgoritmen.

Dette fullfører overskriften på dokumentet. Overskriften etterfølges vanligvis av en tabelldel. Interessant nok beskriver oppsettet to alternativer for å vise den tabellformede delen: "Bordhatt", "String" og "HatTablePlaces" og "StringPlaces". Avhengig av om kolonnen er fylt eller ikke "Steder" i dokumentet vil det første eller andre utdataalternativet i den tabellformede delen av dokumentet bli brukt. Den nysgjerrige leser må allerede ha lurt på: hvorfor i utdatadelen av overskriften "Pris" og "Sum" er omsluttet av trekantparenteser, som om de var variabler? Så det er, dette er variabler der, avhengig av innstillingene til dokumentet, vil inskripsjonen vises "Pris", "Pris med mva" eller "Pris uten mva" og tilsvarende for summen.

Vel, nedenfor i oppsettet er det seksjoner ved hjelp av hvilke resultatene av dokumentet og signaturen vises.

Redigere oppsettet

Logoen ville vært fin å plassere over informasjonen om leverandør og kjøper. Jeg foreslår at du redigerer layoutområdet "Overskrift". Du må redusere størrelsen på cellen med innholdet "Overskriftstekst". Denne cellen består av flere sammenslåtte celler. Endre størrelsen som følger:

  1. Kopier innholdet i den sammenslåtte cellen forsiktig "Overskriftstekst"(for å gjøre dette, velg cellen og bruk kommandoen Rediger > Kopier eller CTRL+C)
  2. Etter å ha valgt denne cellen, velg elementet i hovedmenyen "Tabell - Slå sammen", som vil føre til motsatt effekt - den sammenslåtte cellen vil bli delt opp i mange originale celler
  3. La oss nå velge et mindre antall celler - i stedet for cellen i den andre kolonnen, starter vi sammenslåingen fra den sjette kolonnen, avslutter den i kolonne 32, - og klikker igjen på knappen "Kombinere"
  4. team Rediger > Lim inn (CTRL+V) lim inn innholdet i den gamle sammenslåtte cellen i den nye sammenslåtte cellen
  5. Vi vil ganske enkelt fjerne de frigjorte cellene i kolonnene 2 - 5 (velg og trykk på Delete-tasten)

Nå kan du sette inn et bilde med logo på den ledige plassen. For å gjøre dette, velg menyelementet "Tabell > Bilder > Bilde ...". Finn en fil med logoen vår på disken og klikk " OK". La oss nå flytte bildet til den ledige plassen. Resultatet skal se ut som figur 3.


La oss nå fremheve verdien i cellene "Leverandøren" og "Kjøper"(Fig. 4). For å gjøre dette, finn parameteren i egenskapene til cellen "Skrift" og gjør det dristig.



Og til slutt gjenstår det å legge til signaturen til sikkerhetstjenesten. Denne informasjonen vil bli plassert i seksjonen "Signaturer". For å få plass til signaturer må du flytte seksjonen fra hverandre. Velg linje 37, høyreklikk på den og velg "Skyv fra hverandre", og så to ganger. I en av de tilføyde linjene vil vi plassere en plass for signaturen til sikkerhetstjenesten. Som et resultat skal alt bli som i figur 5.



Viktig! Den typiske konfigurasjonen bruker to språk: russisk og ukrainsk. Oppsettet lagrer representasjonen av teksten på begge språk (celledesignet er vanlig). For å gå inn i den ukrainske versjonen av inskripsjonen vi la til, må du gå til egenskapene til cellen og i feltet "Tekst" trykk på knappen "Søk". Et vindu åpnes for å legge inn representasjonen av teksten på forskjellige språk (fig. 6).

Hvordan sikre utskrift

Så oppsettet er klart. Nå er det helt riktig å gjøre algoritmen for å skrive den ut.

For at vi smertefritt skal kunne integrere denne layouten i konfigurasjonen og bruke den, må behandlingen vi opprettet tilfredsstille følgende betingelser:

  1. Trenger å lage rekvisitter i behandlingen "ObjectReference" med type "AnyLink"
  2. Du må lage en prosedyre i behandlingsmodulen "Print() Export" uten parametere og pass på å spesifisere nøkkelordet " Eksport"

Det første elementet er nødvendig slik at utskriftsalgoritmen vet hvor den skal hente data for utskrift, og den andre er selve utskriftsalgoritmen. La oss oppfylle disse betingelsene.

På vinduspanelet velger du redigeringsvinduet for vår behandling (i figur 7). Et vindu med et tre med gjenstander fra vår behandling åpnes. Velg en gren "Forutsetninger" og trykk på knappen "Legge til",. Egenskapsvinduet åpnes. Skriv inn navnet - "ObjectReference" og spesifiser typen "AnyLink". Nå kan vi gå videre til teksten til utskriftsmodulen. Vi vil ikke skrive det fra bunnen av, i stedet vil vi kopiere det fra dokumentet "Salg av varer og tjenester".



For å gjøre dette finner vi i konfigurasjonstreet blant dokumentene "Salg av varer og tjenester", høyreklikk på den og velg "Åpne objektmodul"(Se figur 8).



Dette vil åpne dokumentmodulen. Vi trenger den første funksjonen "Skriv ut dokument". Teksten må velges og kopieres. Det er veldig praktisk å velge teksten til funksjonen når den er slått sammen, men du må også velge linjen under den, ellers risikerer vi å kopiere bare tittelen.

Se i figur 9, vi har markert overskriften og linjen under den. Etter det kopierer du til utklippstavlen. Hovedmeny Rediger > Kopier (eller CTRL+C).



Vi husket teksten i utklippstavlen, nå går vi tilbake til behandlingen "Bedriftsfaktura". Klikk på knappen "Handlinger > Open Object Module"(Fig. 10).



Lim inn den kopierte teksten: Rediger > Lim inn (eller CTRL+V).

Nå er det nødvendig å rette den kopierte teksten litt, siden den ble skrevet for å skrive ut dokumentet fra selve dokumentet, og vi går fra ekstern behandling. Til dette trenger du:

  1. Gi funksjon nytt navn til "Skriv ut"
  2. Erstatte "Dette objektet""ObjectReference"
  3. Erstatte "Dette objektet""ObjectReference"
  4. Erstatte "Bankkontoorganisasjon""ReferenceToObject.Organizations bankkonto"
  5. Erstatte "Produkter. Resultat""ReferenceToObject.Products.Result"

For disse handlingene kan du bruke hovedmenyen "Rediger > Erstatt".

Etter det, sørg for å sjekke syntaksen. For å gjøre dette er det en magisk kombinasjon CTRL + F7. Som et resultat bør en melding vises: "Ingen syntaksfeil funnet!"

Vel, på dette har vi fullført alt det skitne arbeidet. Nå kan vi for eksempel lagre resultatene av arbeidet vårt i en fil "Bedriftsfaktura.epf". For å gjøre dette, må du aktivere vinduet for denne behandlingen og lagre det ved å bruke hovedmenyen til programmet "Fil > Lagre som...". Behandler filnavn - "Bedriftsfaktura.epf"(det vil bli tilbudt som standard). Du kan lagre den midlertidig på skrivebordet, slik at du kan finne den senere.

Viktig! Som du kan se, gjorde vi ingen endringer i konfigurasjonen vår. For alle de ovennevnte handlingene trenger du ikke engang å fjerne den fra støtten (det vil si aktivere muligheten til å endre).

Vi kobler ekstern behandling til konfigurasjonen

Nå kan vi koble behandling til vår faktura. For å gjøre dette, start i modus. Vi går til menyen "Service", hvor det er tre punkter knyttet til mekanismen "Ekstern behandling, utskrift av skjemaer, behandling for utfylling av tabelldeler". I vårt tilfelle trenger vi bare varen "Eksterne utskriftsskjemaer"(se fig. 11).



Dette vil åpne katalogen. "Ekstern behandling", med utvalg etter type "skriv ut skjemaer". Den vil lagre en liste over alle eksterne utskriftsskjemaer med angivelse av hvilke dokumenter de er for og i hvilke tilfeller de må vises.



Viktig! Selve behandlingen vil bli lagret i databasen sammen med andre data, det vil si at etter å ha lagret behandlingen inne i databasen, trenger vi ikke en ekstern fil.

Vi må lage et nytt element i katalogen. Klikk Sett inn. Vurder nå innholdet i elementet. I navnet gjør vi meningsfulle Kort beskrivelse essensen av denne formen, for eksempel, "Bedriftsfaktura". Som enhver annen oppslagsbok har den også en kode. La oss la det være som standard. View-attributtet er fylt ut som standard og kan ikke redigeres – "Skriv ut skjema". Og det siste attributtet til header-elementet er en kommentar. Her som vanlig mer detaljert om formålet med det trykte skjemaet. I tillegg til overskriften har elementene i denne katalogen to faner. Den andre inneholder informasjon om å begrense tilgangsrettigheter til denne behandlingen. Dette emnet er utenfor rammen av denne artikkelen (vi vil snakke om dette og andre tilgangsrettighetsinnstillinger i konfigurasjonen uten å fullføre det i en av de neste utgavene).

La oss se nærmere på den første fanen.

Fanen inneholder fire kolonner. Objektrepresentasjon– hvilken type dokument vi ønsker å bruke vår utskrivbare til,

Utvalg– under hvilke betingelser dette trykkskjemaet skal være tilgjengelig. For eksempel har vi redesignet det trykte fakturaskjemaet og oversatt det til engelsk. Og vi ønsker for klienter fra mappen "Europeisk" i stedet for standard utskriftsvennlig "Salgsfaktura" skrevet ut ny form, på engelske språk. For å gjøre dette kan du bruke kolonnen "Utvalg". Et eksempel på et slikt utvalg er vist i figur 13.



Men i vår oppgave er det ikke nødvendig med utvalg.

Utskrivbar fil- spesifiserer filen som layout- og utskriftsprosedyren skal hentes fra. I denne cellen må du velge filen vi lagret på skrivebordet.

Utskiftbar trykkplate- hvis vi vil at det trykte skjemaet vi opprettet skal erstatte en av standardene for dette dokumentet, må vi spesifisere hvilken som skal erstattes. Hvis det ikke er noe å velge, vil en ekstra utskriftsbar vises.

I vårt tilfelle må vi det "Bedriftsfaktura" skrives ut i stedet for den vanlige fakturaen. For å gjøre dette, velg i dette feltet "Salgsfaktura".

Vi lagrer nå alle dette elementet. Og åpne enhver faktura.

Det skal se ut som figur 14.



Vel, på dette er oppgaven som vi satte oss selv i begynnelsen av artikkelen fullført. Vi mener at vi har klart å illustrere mulighetene som bruken av den eksterne prosesseringsmekanismen åpner for brukeren.

For å konsolidere ferdighetene dine, kan du prøve å legge til et ekstra utskrivbart skjema "Til lager" for dokumentet "Mottak av varer og tjenester", som vil gjenta den vanlige fakturaen, men uten priser og beløp, og vil også inneholde felt for å legge inn akseptert mengde.