1s 8.2 hur man ändrar liggande utskriftsformat. Använda inställningar för utskriftsalternativ

Kunskap om hur man byter skrivare i 1C, samt innehav olika sätt Att ansluta och ställa in skrivare hjälper till att påskynda utskriften och förbättra kundservicen.

Hur man ansluter en skrivare

Utskriftsenheten är ansluten i två steg:

  1. För att ansluta en utskriftsenhet till en PC, anslut dem med en tråd och installera en drivrutin som matchar skrivarenhetens modell, PC OS och version 1C. För att skriva ut från en fjärrserver måste du installera en universell drivrutin på servern och på den lokala maskinen och öppna själva skrivaren för nätverksåtkomst.
  2. När utskriftsenheten visas på datorn måste du ansluta den till 1C-programmet. För att göra detta, starta programmet, lägg till en ny enhet och ange de grundläggande skrivarparametrarna i lämpliga fält. När du skriver ut på distans måste du välja önskad skrivare manuellt varje gång.

Hur man ändrar och konfigurerar en skrivare

Om flera skrivare är anslutna till PC:n kommer 1C: Enterprise att använda den som anges i standardinställningarna. Men bara tills användaren väljer en annan skrivare när han ställer in utskrift av ett dokument. Efter detta kommer programmet att fokusera på det sista valet. Du kan ändra utskriftsenhet i "Sidinställningar" när du ställer in dokumentets utskriftsinställningar.

Det mest problematiska problemet vid utskrift är skillnaden mellan etikettstorlekarna. Hur justerar man dokumentstorleken?

  1. Ange etikettmåtten i 1C: Arkiv-menyn och sedan Sidalternativ.
  2. Hitta skrivare i kontrollpanelen, välj barskrivaren och anropa dess snabbmeny. Skapa ett formulär med etikettstorlekar i Print Server Properties. I framtiden, när du skriver ut från 1C, välj detta formulär.

Det här är grundinställningarna för en utskriftsenhet i 1C. De återstående inställningarna varierar beroende på programversion - 1C 8.3 eller 1C 7.7. Om problem uppstår rekommenderar vi att du kontaktar specialister för att felsöka programmet.

Varje elektroniskt dokument 1C kan skrivas ut på papper och detta görs med 1C tryckformulär. Printables består av namngivna block, såsom sidhuvud, rad och sidfot.

Hur göra tryckt formulär– det är redan klart. Hur man bryter det i block - också. Men hur sker utskrift av det hela i 1C? Och särskilt - hur visar man inte bara texten i layouten, utan innehållet i det elektroniska dokumentet?

Detta är vad vi kommer att titta på just nu.

Förbereder en layout för utskrift i 1C

Till att börja med måste du börja med det enklaste och fylla i layouten för utskrift i 1C med statisk text och tabellrader. När allt kommer omkring måste någon göra det här tråkiga jobbet?

Vi placerar statisk text för utskrift i 1C

Ett bra ställe att börja skulle vara att placera namnet på vår utskrivbara. Markera flera celler i rad och välj menyalternativet Tabell/Slå samman. Som ett resultat kommer flera celler att slås samman till en.

Nu kommer vi att skriva namnet på dokumentet i den här cellen. Eftersom det här är en rubrik vill vi tydligen göra den med fet, stor font (se bild) och placera den i mitten.

Vi placerar designen av layouten för utskrift i 1C

Vi har ett namngivet område String. I den, när den skrivs ut i 1C, kommer varje rad i tabellen i produktdokumentet att visas. Vi skulle nog vilja att bordet skulle se ut som ett bord när det trycks i 1C? Då måste du dra gränser för det.

För att göra detta, välj radcellerna och välj knappen Kanter på panelen. Vi valde alternativet Border Everywhere – det ritar cellkanter från alla sidor samtidigt. Om du behöver begränsa dig till endast en sida, måste du välja lämplig knapp.

För att säkerställa att linjerna som används för att rita gränser inte är desamma som de vanliga, markerar du cellerna och högerklickar. Välj Egenskaper i menyn som visas.

I det vanliga egenskapsfönstret kan du välja typ och färg på linjer för att rita gränser.

Vi placerar bilder och annat glitter för utskrift i 1C

Många frågar - hur placerar man något annat än text på en 1C-utskriven blankett? Till exempel en bild.

Det är väldigt enkelt. Dessutom ska jag genast säga att streckkoden (om du behöver skriva ut den) också är en bild.

Låt oss placera markören på valfri cell. Välj menyn Tabell/Siffror. Detta är en hel undermeny som låter dig infoga i en layout för utskrift i 1C inte bara en bild eller ett ritat objekt, utan även objekt från utanför 1C, registrerade på datorn med hjälp av en COM-klass (till exempel en rullgardinslista kontrollera).

För den som är intresserad av att skapa komplexa mönster för utskrift i 1C på en layout, ta även en titt på rullgardinsmenyn Tabell/Utskriftsinställningar. Här kan du ställa in upprepningsområdet på varje sida, sidhuvud och sidfot samt utskriftsområde.

Hur man placerar innehållet i ett elektroniskt dokument vid utskrift i 1C

För att placera innehållet i ett elektroniskt dokument på en layout vid utskrift i 1C används ersättningsmetoden. Den består av två delar.

Del ett. Det är nödvändigt att placera parametrar på layouten som du kommer att ersätta värden i när du skriver ut i 1C.

Låt oss placera markören i cellen. Låt oss ange namnet på parametern (i ett ord, utan mellanslag eller annat skräp). Låt oss sedan gå in på egenskaperna för denna cell (som nämnts ovan) och välj Fyllning = Parameter.

Del två. Ersättning av värden utförs inte när du programmerar i konfiguratorn, utan vid tidpunkten för utskrift av dokumentet i 1C. Följaktligen, med hjälp av programmering, måste du ange för 1C vad som måste ersättas i denna parameter.

Detta görs på följande sätt:

Layout = GetLayout("LayoutName");
regionSomething = Layout.GetArea("AreaName");
regionSomething.Parameters.ParameterName = "Vad jag vill ersätta från databasen";

Som du kan se får vi helt enkelt själva layouten efter namn, sedan ett av dess områden, och sedan kommer vi helt enkelt åt parametern med dess namn.

Naturligtvis kan värdet vara antingen en sträng eller ett tal, eller det värde som anges i dokumentet.

Hur man skriver ut en layout i 1C

När layouten är klar är det dags att tänka på att programmera utskriftsprocessen i 1C.

Utskrift i 1C programmeras vanligtvis med flera procedurer som finns i dokumentobjektmodulen. .

Print()-proceduren är vanligtvis markerad med Export och styr utskriften av ett dokument i 1C med hjälp av parametern LayoutName, som förmedlar vad du vill skriva ut.

För varje layoutalternativ utförs PrintLayoutName()-proceduren, som specificerar utskriften av en specifik layout. Det är vad vi ska titta på nu.

Programmering av utskrift i 1C består av tre punkter.

Innan vi skriver ut ett elektroniskt dokument i 1C måste vi begära dess data från databasen. Uppenbarligen, för att skriva ut ett dokument, brukar användaren "skriva in" det (öppnar dess formulär) och klicka på knappen Skriv ut. Därför skulle man i utskriftsproceduren helt enkelt kunna hänvisa till dokumentdetaljerna (vad detta är - diskuteras här) med namn.

Detta anses dock vara fult, inte universellt osv. Till exempel kommer plötsligt behandling av massutskrift av dokument att användas (hur ofta används detta?). Därför är det vanligt i utskriftsproceduren att göra en databasfråga som begär dokumentdata. Till exempel, så här:

Request = Ny begäran;
Query.Text = "VÄLJ
Datum för,
Siffra,
Organisation
FRÅN
Document.DocumentName
VAR
Länk = &DocumentForPrint";
Request.SetParameter("DocumentForPrint", Länk);
Select = Query.Run().Select();
Selection.Next();

Punkt 2. Fylla i layouten för utskrift i 1C

Utskrift i 1C görs i ett kalkylarksdokument. Detta är ett speciellt 1C-objekt som låter dig visa tabeller, som Excel, på skärmen och i tryck. Naturligtvis skrivs layouten ut, eller snarare dess ytor en efter en.

Därför måste vi först skaffa ett kalkylarksdokument, sedan en layout. Vi skriver ut områdena en efter en och fyller i layoutparametrarna.

TabDoc = Nytt TabularDocument;
Layout = GetLayout("LayoutName"); //eller GetGeneralLayout("")

areaHeader = Layout.GetArea("Header");
TabDoc.Output(regionCap);

regionRow = Layout.GetArea("Row");
Medan du väljerDocumentLines.Next() loop
regionLine.Parameters.Product = SelectionDocumentLines.Product;
TabDoc.Output(regionString);
EndCycle;

areaCap = Layout.GetArea("Sidfot");
TabDoc.Output(regionFootroom);

Punkt 2. Skriva ut ett dokument i 1C

Den sista punkten är att mata ut det mottagna dokumentet till skärmen eller skrivaren. I typiska konfigurationer används en standardprocedur för detta (var och en kan ha sin egen), till exempel Universal Mechanisms.PrintDocument().

I andra fall kan du helt enkelt använda standardfunktionerna för TabularDocument-objektet: TabDoc.Show() eller TabDoc.Print() .

De flesta utbildningsmaterial om programmering i 1C-systemet beskriver bildandet av tryckta formulär baserat på ett objekt "Tabelldokument"är begränsade till att visa det färdiga formuläret på skärmen. För användarna är det mycket viktigare hur dokumentet kommer att se ut när det skrivs ut. Här spelar förutom en väldesignad layout även tryckparametrar en roll.

Nästan alla tillgängliga parametrar i dialogrutan för utskriftsinställningar (skrivarinställningar, sidegenskaper) kan specificeras direkt när ett kalkylarksdokument genereras.

Låt oss titta på egenskaperna och metoderna för ett kalkylarksdokument relaterade till utskriftsinställningar (i de givna exemplen är "TabDoc" ett objekt av typen "Kalkylarksdokument").

Fast egendom "Skrivarnamn" Låter dig ange en annan skrivare än standard för utskrift. Namnet måste matcha skrivarnamnet som konfigurerats i systemet:

TabDoc. Skrivarnamn = "HP LaserJet 3050 Series PCL 6";

När du skriver ut ett parti dokument kan du spara tid genom att ställa in sorteringsalternativet:

TabDoc. ParseByCopies = sant;

Antalet exemplar kan anges på följande sätt:

TabDoc. Antal instanser= 5 ;

Naturligtvis kan du ställa in fälten:

TabDoc. FieldLeft = 20 ; //Vänster marginal är 20 mm, andra marginaler är 10 mm (standard)

Några fler sidegenskaper:

TabDoc. Orienteringssida= Orienteringssida. Landskap;
TabDoc. InstancesOnPage= 2 ; //det kommer att finnas 2 sidor på arket
TabDoc. Autoskala = sant; //liknande skalinställningarna för "sidbredd".

Om det behövs kan du ange ett specifikt skalningsvärde i procent (egenskap "Skriv ut skala").

Fast egendom "Sidstorlek" låter dig ställa in standard sidformat - " A 3”, “A4”, “A 5” (full lista tillgängliga alternativ i Hjälp 1C).

TabDoc. Sidstorlek = "A3" ; // bokstaven A måste vara engelska

För en icke-standard pappersstorlek (anpassad) kan du ange sidhöjd och bredd (i mm):

TabDoc. PageSize = "Anpassad" ; //icke-standardstorlek
TabDoc. Sidhöjd = 350 ;
TabDoc. PageWidth = 350 ;

Även i ett kalkylarksdokument kan du styra utmatningen av sidhuvuden och sidfötter och deras innehåll. Detta görs med hjälp av egenskaper "Sidhuvud" Och "Sidfot". Till exempel:

TabDoc. Sidhuvud. Output = sant; //huvudet kommer att skrivas ut
TabDoc. HeaderSizeTop= 7 ; //sidfotsstorlek 7 mm (standard 10 mm)
TabDoc. Sidhuvud. Vertikal position= Vertikal position. Topp ;
TabDoc. Sidhuvud. Hemsida= 2 ; //sidfoten visas från den andra sidan
FontFooter=New Font("Courier New", 8,True);
TabDoc. Sidhuvud. Teckensnitt = FontFooter; //sned typsnitt
TabDoc. Sidhuvud. TextInCenter = "Sidhuvud";
TabDoc. Sidhuvud. TextHöger = "Sida[&PageNumber] av [&PagesTotal]"; //paginering
TabDoc. Sidhuvud. TextLeft = "[&Datum]" ; //Det aktuella datumet

Det genererade dokumentet skickas för utskrift med metoden "Typ()". Det finns två möjliga köpalternativ.

1) Direkt till skrivaren:

TabDoc. Print(.NotUse);
TabDoc. Print(true);

2) Före utskrift visas en utskriftsdialogruta:

TabDoc. Skriv ut ( DialogUsageModePrint. Använda sig av );
TabDoc. Print(false);

Dessutom kan du styra hur dokumentet delas upp i sidor. Du kan uppskatta antalet sidor i ett dokument baserat på de aktuella skrivarinställningarna:

TabDoc. Antal sidor();

Att använda metoder "CheckOutput()" Och "CheckAttach()" Du kan bestämma om ett kalkylarksdokument eller en mängd kalkylarksdokumentområden får plats på sidan i höjd och bredd med de aktuella skrivarinställningarna.

Man bör komma ihåg att driften av de tre sista metoderna beror på den installerade skrivaren. Om metoden inte kan hitta den, kastas ett undantag.

Metoder låter dig tvinga infogning av sidbrytningar"OutputVerticalPageSeparator()" Och "OutputHorizontalPageSeparator()".

Således kan du styra utskriften sida för sida och kontrollera sidfyllningen:

Om inte TabDoc. CheckOutput ( Array av OutputAreas) Sedan
TabDoc. OutputHorizontalPage Separator();
endIf;

En viktig egenskap hos 1C:Enterprise 8.2-plattformen är den strikta separeringen av egenskaper och metoder efter exekveringskontext. Även om alla ovanstående egenskaper är tillgängliga i alla sammanhang, är metoderna som anges inte tillgängliga på den tunna klienten. Undantaget är metoden "Print()", vars tillgänglighet är begränsad till klientdelen av uppenbara skäl. Detta innebär att bildningen av ett kalkylarksdokument ska ske på servern och det ska skickas för utskrift i en klientprocedur.

Jag stötte på ett konstigt problem - 1C väljer inte standardskrivaren

Mer exakt, inte riktigt så - 1C använder inte standardskrivaren för separat tryckformulär endast på en specifik dator. På resten skrivs samma formulär ut korrekt med "standard"-skrivaren. Dessutom kan formuläret vara vilket som helst - faktura, utgiftsschema, etc.

Standardskrivaren är korrekt installerad, utskriftsinställningarna i 1C och i andra program skiljer sig inte - vid utskrift från Word, Excel fungerar allt.

"öppna det utskrivna formuläret och ändra den hårdkodade skrivaren"

togs inte på allvar, eftersom på andra datorer fungerade ett liknande tryckt formulär korrekt. En sökning i Windows-registret och i 1C-registren, att döma av berättelserna, gav inget användbart. Antagandet att standardskrivarinställningarna gick förlorade endast för en specifik 1C-användare eller en Windows-användare bekräftades inte - auktorisering under andra användare hjälpte inte.

Löser standardskrivarproblemet i 1C

Välj önskad utskriftsform, klicka på förhandsgranskningen och ändra indragsvärdet i popup-fönstret (det spelar ingen roll, då returnerar vi det som det var) och skriv ut. I det här fallet kommer 1C att komma ihåg standardskrivaren för detta formulär och spara alla parametrar. Om du ändrar någon inställning kommer utskriftsinställningarna att skrivas över.