Meny
Är gratis
registrering
Hem  /  Problem / 1s zup extern tryckplatta. Lägga till en extern utskriftsbar till basen

1s ZUP extern tryckplatta. Lägga till en extern utskriftsbar till basen

Den här artikeln beskriver hur man ansluter en extern tryckt form till 1C-databasen med exempel på "Trade Management 11.2" -konfigurationen

Konfigurationen "Trade Management 11.2" är konfigurationen på formuläret "MANAGED"!

Vår instruktion "visar" hur man ansluter en extern utskrivbar form i 1C-infobasen med konfigurationen på "MANAGED" -formulär, nämligen:

  • "Redovisning 3.0"
  • "Trade Management 11.2"
  • "Lön och personalhantering 3.1"
  • "Integrated Automation 2.0"
  • "Management för småföretag 1.6"
  • "Retail 2.2"
  • och andra liknande konfigurationer.

För att ansluta en extern tryckplatta i 1C måste vi gå igenom 11 steg.

1 - Meny "NSI och administration" (I andra konfigurationer, till exempel i Enterprise Accounting 3.0, kan det bara kallas "Administration"). 2 - Välj "Tryckta blanketter, rapporter och bearbetning" (se bilden nedan ↓)

3 - Expandera undermenyn "Rapporter och bearbetning" (I andra konfigurationer, t.ex. i Enterprise Accounting 3.0, kanske denna undermeny inte visas, så gå direkt till nästa steg). 4 - Vi sätter ett "kryss" i Användningen av ytterligare rapporter och bearbetning. 5 - Gå till avsnittet: Ytterligare rapporter och bearbetning. (se bild nedan ↓) ()

6 - Tryck på knappen "Skapa". (se bild nedan ↓)

I nya versioner av 1C (från och med augusti 2016) har programmet en inbyggd varningsmekanism om farorna med att använda okända externa processorer som kan innehålla "virus"; i tidigare versioner av programmet kommer varningen inte att inträffa! Om den har uppstått är det nödvändigt att ansluta en extern tryckplatta - 7 - tryck på knappen "Fortsätt". (se bild nedan ↓)

8 - Välj den katalog där bearbetningen finns. 9 - Vi väljer det (den bearbetning vi behöver). 10 - Tryck på knappen "Öppna". Eller istället för steg 9 och 10 kan du helt enkelt dubbelklicka på det externa utskrivbara vi behöver i urvalsfönstret. (se bild nedan ↓)

Om vi \u200b\u200bbehöver lägga till en placering för tillagd bearbetning (till exempel är detta en universell form av ett kontrakt från vår webbplats och vi behöver kommandot för att skriva ut det här formuläret för att visas i något objekt, som inte initialt visas) - 11 - klicka på placeringsraden ("Plats i:", kanske "Placering:") och välj nödvändiga kataloger och dokument. 12 - Vi slutför stegen för att ansluta ett externt utskriftsformulär genom att klicka på knappen "Spara och stäng". (se bild nedan ↓)

Det är allt! Grattis! Extern tryckplatta är ansluten! Har vi gjort allt rätt? Låt oss kolla ...

Innan inspelning och stängning märkte vi att denna externa utskriftsbarhet placeras i dokumentet Försäljning av varor och tjänster, vilket innebär att vi kan öppna alla dokument av typen: "Försäljning av varor och tjänster". tryck på "Skriv ut" -knappen och se - ett fönster för att välja utskrivbara formulär har dykt upp, bland dem finns - 13 - extern tryckplatta ansluten av oss (se bilden nedan ↓)

Nu säkert - allt. Vi hoppas att den här artikeln var till hjälp för dig.

Fråga:

Snälla berätta var i 1C ZUP 3 lägga till organisationsbankuppgifter så att de visas på medarbetarcertifikat? Till exempel i Inkomstintyg (fri form) från katalogen Personal.

Svar:

Seminarium "Lifehacks på 1C ZUP 3.1"
Analys av 15 livshacks för redovisning i 1s ZUP 3.1:

KONTROLLISTA för kontroll av löner i 1C ZUP 3.1
VIDEO - månatlig självkontroll av redovisning:

Lön i 1C ZUP 3.1
Steg-för-steg-instruktion för nybörjare:

Faktum är att i 1C ZUP finns det inget behov av att lagra information om organisationens löpande konto. Det används inte i något dokument. Därför matas inte denna information någonstans i programmet och det finns ingenstans för dem att komma in i den tryckta formen.

Det finns två alternativ. Ange antingen denna information manuellt i det genererade formuläret varje gång eller ange informationen en gång in tryckplattans layout (avsnitt av Administration-menyn - Skriv ut formulär, rapporter och bearbetning - Skriv ut formulärlayouter).

Det är bekvämare att använda det andra alternativet.

I listan med layouter måste du hitta layouten för önskat utskriftsformulär (namnet på layouten sammanfaller med namnet på själva formuläret) och klicka på Ändra-kommandot. I fönstret som öppnas måste du göra nödvändiga korrigeringar och skriva ner dem.

När du har sparat layouten visas dessa ändringar varje gång den här rapporten genereras för någon anställd.

För att vara den första att veta om nya publikationer, prenumerera på mina blogguppdateringar:

God dag.

Idag vill jag berätta för dig hur du skapar externa utskrivbara formulär för konfigurationen "Lön och personalhantering 3.0". Som du vet använder ZUP 3.0 ett bibliotek med standardundersystem, vilket innebär att bearbetningsstrukturen ser helt annorlunda ut. När jag först var tvungen att skapa en tryckt blankett för en BSP hanterade formulär (då var det UT 11), först och främst gick jag till ITS-skivan för att hitta detaljerad dokumentation om vilka exportförfaranden, med vilka parametrar som ska bearbetas och hur allt fungerar. Här gjorde ITS mig lite besviken, tk. allt berättas om hur procedurerna ska se ut i dokumentmodulen och i den externa tryckta formen är parametrarna för "print" -proceduren ordnade, så jag var tvungen att leta efter information i andra källor och välja delsystem från insidan.

Låt oss börja. Vad vi får i slutet kan användas som en mall.

Steg ett - uppenbart. Vi skapar ny behandling... Låt oss ge det ett godtyckligt namn: "PrintPrint".

Steg två. Låt oss skapa en layout. Eftersom vi har ett testfall kommer jag att skapa den enklaste layouten utan en enda parameter.

Steg tre - Det mest intressanta. Vi öppnar objektmodulen och börjar programmera. Enligt BSP måste den (bearbetning) rapportera vad den kan göra, till vilka objekt den är fäst, hur den heter när den registrerar en extern bearbetning. På frågan vad den kan hantera ska den returnera en lista med kommandon - det här är en värdetabell. I vårt fall kan bearbetning visa en utskrivbar, så det kommer bara att finnas ett kommando. För att skapa en värdetabell definierar vi ett par procedurer som alltid kommer att vara desamma i alla externa tryckformer:

// procedur som förbereder strukturen för kommandotabellen

Funktion GetCommandTable ()

// Skapa en tom kommandotabell och kolumner i den
Kommandon \u003d NewValuesTable;

// Hur beskrivningen av det utskrivbara kommer att se ut för användaren
Kommandon.Kolumner.Add ("Visa", ny typbeskrivning ("sträng"));

// Namnet på vår layout, så att vi kan urskilja det åberopade kommandot vid tryckbehandling
Commands.Columns.Add ("Identifier", New TypeDescription ("String"));

// Så här ska bearbetningskommandot kallas
// Möjliga alternativ:
// - Formuläröppning - i detta fall bör identifierarkolumnen innehålla namnet på det formulär som systemet måste öppna
// - CallClientMethod - anropa klientexportförfarandet från bearbetningsformulärsmodulen
// - CallServerMethod - anropa serverexportförfarandet från bearbetningsobjektmodulen
Commands.Columns.Add ("Usage", New DescriptionTypes ("String"));

// Nästa parameter anger om en varning ska visas när bearbetningen startar och slutar. Det är inte meningsfullt när du öppnar ett formulär
Kommandon.Kolumner.Add ("ShowAlert", ny typbeskrivning ("Boolean"));

// För utskrivbar måste innehålla raden PrintMXL
Kommandon.Kolumner.Add ("Modifier", ny typbeskrivning ("String"));

Återkomst av kommandot;

EndFunction

// Skapar en ny rad i kommandotabellen

Funktion AddCommand (CommandTable, View, Identifier, Usage, ShowNotification \u003d False, Modifier \u003d "")
NewCommand \u003d CommandTable.Add ();
Nytt team. Visa \u003d Visa;
Nytt team. ID \u003d ID;
Nytt team. Använd \u003d Använd;
Nytt team. Visa varning \u003d Visa varning;
Nytt team. Modifier \u003d Modifier;
EndFunction

Extern bearbetningsinformation () Funktionsexport
Registreringsparametrar \u003d Ny struktur;
AssignmentArray \u003d New Array;
Array of Appointments.Add ("Document.PriemNaRabotu");
Registreringsparametrar. Infoga ("Visa", "Utskriftsformulär"); // kan vara - FillingObject, AdditionalReport, Skapa LinkedObjects ...
Registreringsparametrar.Insert ("Assignment", Array of Assignments);
Registreringsparametrar. Infoga ("Namn", "Hej värld"); // namn under vilket behandlingen kommer att registreras i den externa bearbetningskatalogen
Registreringsparametrar. Infoga ("Version", "1.0");
Registreringsparametrar. Infoga ("Säkert läge", SANT);
Registreringsparametrar. Infoga ("Information", "SAMPLE"); // så kommer beskrivningen av utskriftsformuläret för användaren att se ut
CommandTable \u003d GetCommandTable ();
AddCommand (CommandTable, "Hello World", "Layout", "CallServerMethod", True, "PrintMXL");
Registreringsparametrar.Insert ("Commands", CommandTable);
Returregistreringsparametrar;
EndFunction

Egentligen måste du peka runt i den varje gång du skapar en ny extern tryckplatta. Från en kod kan du se att vi kommer att binda den till dokumentet "Hiring", så du skriver din egen. Det tryckta formuläret kommer att kallas "Hello World", igen ändrar vi det till vårt eget. Här i mallen kommer det att vara bekvämt att skriva en tydlig bileberda så att den blir iögonfallande, för att inte glömma att korrigera den senare, enligt min mening "Hello world" kommer till nytta. Versionen är för dig själv, skriv vad du vill, den kommer att visas i form av ett element i den externa bearbetningskatalogen. Ordet "SAMPLE" syns också endast i form av en referensbok med tryckta former. Lägg sedan till ett kommando, här skickas namnet på knappen till den andra parametern, detta är vad användaren kommer att se i dokumentet i menyalternativet "skriv ut".

Denna uppsättning av tre procedurer räcker för att behandlingen ska läggas till i katalogen för extern bearbetning, all denna förvirrande kod är servicekod och har inget att göra med utskriftsalgoritmen. Faktum är att författarna till BSP tvingade oss att programmera så hårt, om du tidigare omedelbart började skriva "Skriv ut" -funktionen, nu när du skriver bearbetning från grunden, och inte enligt en modell, kommer du att spendera tid på tjänsten . Tidigare var registreringsparametrar valfria och specificerades i behandlingslayouten, nu ser allt mycket mer allvarligt ut. Första intrycket när jag såg det här var coolt, det finns så många möjligheter, allt är enhetligt ... men i praktiken skapar jag alltid bara ett kommando i ett arbetsflöde och bifogar det till ett dokument. De där. Jag behöver faktiskt två rader för registrering: objektnamn, knappnamn. Och här är allt så ... men jaha, det är inte för mig att döma.

Steg fyra - inte mindre intressant.

PRINT-funktion?

Men nej, nu inte en funktion utan ett förfarande.

Hur returnerar jag layouten?

Skicka det till funktionen för den globala modulen för utskriftsundersystemet.

Okej

Här är texten till denna procedur:

Utskriftsprocedur (ArrayObjects, PrintForm Collection, PrintObjects, OutputParameters) Export
Om utskriftskontroll. Du måste skriva ut layout (PrintForm Collection, "Layout")
Hantera utskrift. Mata ut ett tabelldokument till en samling (samling av utskriftsformulär,
"Layout", "Layout",
GenerateTabDocumentPattern (ArrayObjects, PrintObjects));
EndIf;
Slut på proceduren

Nu för förtydliganden. Den första raden i förfarandet innehåller ett något obegripligt tillstånd. Faktum är att när utskriftsproceduren anropas skickar systemet oss en värdetabell som anger vad vi behöver skriva ut. Faktum är att funktionen PrintManagement.NuzhnoPostatMaket (...) kontrollerar om det finns en rad i värdetabellen där kolumnen "NameVREG" innehåller en rad med namnet på layouten. I praktiken är det i de flesta fall värdelöst, för vår bearbetning kommer att kunna bilda endast en tryckplatta. De där. detta tillstånd kan utelämnas och det påverkar inte prestandan.

Nästa utskriftshantering.OutputTableDocumentInCollection (...) - det lägger bara till tabelllayouten där det behövs, så att den sedan kan visas på skärmen. Om du behöver visa ditt kalkylarkdokument i ditt fönster (inte i standardfönstret), ring inte den här proceduren, utan skriv bara din kod här.

Jag vill också lägga till att utskriftsproceduren utförs på klienten och om det behövs kan du öppna ett godtyckligt formulär här för att fråga ytterligare information användaren behöver skriva ut.

Därefter är FormTabDocumentObject (...) en funktion som vi måste skriva i bearbetningsmodulen och som returnerar ett kalkylarkdokument. I 100 av 100 fall kommer det att vara en server, eftersom vi måste få värdet av attributen från objekten som listas i parametern "ArrayObjects".

Steg fem - vi bildar en layout.

Hurra, vi kommer äntligen till algoritmen för att forma layouten, ta emot data etc.

Men i vårt urval kommer vi att agera prosaiskt och jag kommer inte ens kommentera här)))

GenerateTabDocumentPattern-funktion (ArrayObjects, PrintObjects)
tabDoc \u003d Nytt TabularDocument;
layout \u003d Hämta layout ("Layout");

AreaHeat \u003d Layout.GetArea ("Header");
tabDoc.Display (areaHap);

Retur av tabDocs;
EndFunction

Det är allt, tack för din uppmärksamhet

Gå till Service->Ytterligare rapporter och bearbetning->Ytterligare externa tryckplattor.

Blanketten för listan över referensboken med externa utskrivbara formulär har öppnats. Klicka på i toppmenyn i listan Lägg till... Ett formulär för att skapa ett katalogföremål visas.

Tryck på knappen Öppna och välj filen med önskat utskriftsformulär. Därefter, om nödvändigt, ställ in önskat namn (Namnfält).

Om den utskrivbara innehåller parametrar för automatisk registrering kommer ett meddelande om detta att dyka upp. Tryck JaOm detta inte är fallet måste du själv ange till vilket dokument detta formulär ska länkas. För att göra detta, lägg till en rad i tabellavsnittet "Utskrivbart ägande", där du väljer typ av dokument i fältet "Objektrepresentation" till vilken vi länkar formuläret ... Eftersom det i vårt exempel handlar om avskrivning av material väljer vi dokumentet Krav-faktura.

Därefter går du till valfritt dokument Kravsfraktsedel, klickar på Skriv ut och väljer det formulär du just lagt till.

För BP 3.0, ZUP 3.0, UT 11, KA 2.0, ERP 2.0.

För att visa hur man lägger till en utskrivbar i ett hanterat gränssnitt, visar jag dig lägga till yttre form fakturor för betalning till samma dokument i bokföring 3.0.

Vi går till motsvarande avsnitt i programmet:


Det är nödvändigt att tecknet för att använda externa rapporter och bearbetning är aktiverat, följ hyperlänken till listan över externa objekt:

Klicka på i listan som öppnas Skapa en:


Välj önskad fil i dialogrutan:


Kortet för det externa objektet fylls i: i placeringen ser vi vilken typ av basobjekt som formuläret ska bifogas och strax under dess namn:


Låt oss skriva och stänga formen för det skapade externa objektet.

Låt oss nu gå till valfritt dokument Faktura för betalning till köparen och visa utskriftsmenyn:


Överväg att skriva det enklaste utskrivbara i 1s 8.1 - 8.2 till exempel konfiguration Företagsredovisning 2.0... Låt oss säga att du vill skriva en extern utskriftsbar för ett dokument: visa dokumentets grunddata, såväl som från tabellavsnittet Produkter: nomenklatur, pris, kvantitet och belopp.

Du kan ladda ner det resulterande exemplet genom att.

I konfiguratorn 1C Företag 8 skapa extern bearbetning (Arkiv-\u003e Ny-\u003e Extern bearbetning), ställ in namnet, skapa det nödvändiga för det externa utskrivbara ReferenceObject med typ DocumentLink.Realization of GoodsServices.

Skapa en layout för en tryckplatta

Lägg till ny layout, lämna layouttypen Kalkylarkdokument... Skapa tre områden på layouten: Hatt, data och Källare... Detta kan göras genom att markera önskat antal rader och klicka på menyn Tabell-\u003e Namn-\u003e Tilldela namn (Ctrl + Skift + N).

Därefter börjar vi placera text och parametrar i områdena. Vi visar i rubriken namnet på det tryckta formuläret, dokumentnummer och organisation, och rita också gränserna för tabellhuvudet och skriv namnen på kolumnerna. När du skapar en parameter i cellegenskaperna ställer du in egenskapen på fliken Layout Fyllning i värde Parameter.

I området Data skapa parametrar för att visa raderna i tabellavsnittet ( Nomenklatur, pris etc.) och i området Källare för summor efter kvantitet och belopp.

Programmering

Låt oss gå till modulen för det utskrivbara objektet Åtgärder-\u003e Öppna objektmodulen.

Låt oss skapa en exportfunktion som krävs för utskrivbara formulär. Skriv ut ().

Funktionsutskrift () Exportera EndFunction

I funktionen skapar du en variabel för kalkylbladsdokument, där det tryckta formuläret visas, får vi layout och layoutområden.

TabDoc \u003d nytt TabularDocument; Layout \u003d Hämta layout ("Layout"); Rubrikområde \u003d Layout.GetArea ("Rubrik"); DataScope \u003d Layout.GetScope ("Data"); AreaFooter \u003d Layout.GetArea ("sidfot");

Fyll i parametrarna hattar och visa den i kalkylbladsdokument.

Captions.Parameters.TextHeader \u003d + ReferenceObject.Number; AreaHaps.Parameters.Organization \u003d ReferenceObject.Organization; TabDok.Display (Caps area);

För att få raderna i tabellavsnittet Produkter vi använder begäran.

Begäran \u003d ny begäran; Request.SetParameter ("Länk", LinkOnObject); Request.Text \u003d "VÄLJ | Försäljning av varor, tjänster, varor, nomenklatur, | Försäljning av varor, tjänster, varor, belopp, | Försäljning av varor, tjänster, varor, pris, | Försäljning av varor, tjänster, varor, kvantitet | FRÅN | Document.Realization ofGoodsServices.Goods AS Försäljning avGoodsServicesGoods | VAR | Implementering av GoodsServicesGoods.Link \u003d & Länk ";

Skicka rekvisita till begäran-parametern ReferenceObjectför att ange i tillståndet VARatt vi bara behöver uppgifterna i dokumentet som vi visar utskrivbara utifrån. För att hämta en fråga, kör vi först den och hämtar sedan raderna.

Selection \u003d Query.Run () Välj ();

Därefter fyller du i områdets parametrar i slingan Data för varje rad i dokumentvalet och visa dem i kalkylbladsdokument... I cykeln beräknar vi också de totala värdena kvantitet och summor... Vi fyller inte i varje parameter separat utan använder proceduren FillPropertyValues \u200b\u200b((<Приемник>, <Источник>) av globalt sammanhang, det kopierar fastighetsvärdena <Источника> i fastigheter <Приемника> ... Matchning sker med fastighetsnamn. Du kan läsa mer om detta i syntaxassistent 1C Enterprise 8.

TotalSum \u003d 0; Total kvantitet \u003d 0; While Fetch.Next () Loop FillPropertyValues \u200b\u200b(ScopeData.Parameters, Fetch); TotalSum \u003d TotalSum + Sample.Sum; TotalQuantity \u003d TotalQuantity + Sample.Quantity; TabDok.Display (ScopeData); Cykelns slut;

Fyll i och visa området Källare.

AreaBoard.Parameters.TotalQuantity \u003d TotalQuantity; AreaBoard.Parameters.TotalSum \u003d TotalSum; TabDok.Display (Area Basement);

Returnerar det fyllda kalkylarkdokumentet från funktionen Skriv ut ().

återlämnande av TabDoc;

Om du använder en av de typiska konfigurationerna, efter att ha returnerat kalkylarkdokumentet 1C visar själva det tryckta formuläret. Du kan också använda kalkylarkdokumentmetoden för utdata Visa ().

5. Ansluta det utskrivbara till dokumentet

I typiska konfigurationer 1C 8 det finns en katalog för registrering av externa utskrivbara formulär Externa behandlingar... För att ansluta, gå till menyn i företagsläge Service-\u003e Ytterligare rapporter och bearbetning-\u003e Ytterligare externa utskrivbara formulär.

Lägg till ett nytt element i katalogen, ladda det utskrivbara från disken och välj typ av dokument.

Nu i dok Försäljning av varor och tjänster ett nytt utskriftsbart visas.

Automatisk registrering av utskrivbar

För att undvika att manuellt måste välja typ av dokument när du ansluter utskriftsformuläret kan du konfigurera automatisk registrering... För att göra detta, lägg till en ny layout och namnge den Auto-registrering_Parametrar(bara detta sätt) och i sin första cell skriver vi Dokument.<Наименование документа> (eller Uppslagsverk.<Наименование справочника> ).

Nu, när vi ansluter ett utskrivbart, kommer vi att uppmanas att använda det parametrar för automatisk registrering.