1s 8 creazione di un modulo di stampa esterno. Pubblicazioni

Istruzioni

Aprire il programma 1C:Enterprise versione 8. Prestare attenzione alla voce di menu "Servizio" - "Moduli di elaborazione e stampa esterni". Con il suo aiuto è possibile archiviare report esterni, elaborazioni, moduli stampati, nonché elaborazioni per il riempimento di elementi tabulari. Puoi anche collegare un modulo esterno invece di modificarne uno esistente, il che comporterebbe un'interferenza con la configurazione del programma.

Avviare il programma 1C:Enterprise in modalità configuratore, quindi creare un'elaborazione esterna, per fare ciò eseguire il comando “File” - “Nuovo”. Nella finestra che appare, seleziona “Elaborazione esterna”. Sullo schermo verrà visualizzato un nuovo modulo di elaborazione esterna. Dategli il nome “Esterno”. Quindi aggiungi un nuovo attributo chiamato “Riferimento oggetto”, specificane il tipo – “Documento. Collegamento. Vendita di beni e servizi." Per creare un documento stampabile per un diverso tipo di documento, utilizzare il tipo di collegamento appropriato.

Aggiungi un nuovo layout facendo clic sul pulsante corrispondente nella nuova finestra del modulo. Chiamalo "Layout", crea un'area chiamata "Intestazione", assegnagli il parametro "Testo intestazione". Quindi fare clic sul pulsante “Azioni”, selezionare il comando “Apri modulo oggetto”. Successivamente inserisci il testo del modulo, puoi utilizzare l'esempio pubblicato sul sito http://www.uasoft.com.ua/content/articles/315/.

Avvia il programma 1C:Enterprise, vai al menu Strumenti, seleziona Moduli di stampa esterni. Aggiunge una nuova voce all'elenco dei moduli. Per fare ciò, selezionare il file di elaborazione creato e, nella sezione tabellare, indicare che il modulo appartiene al documento "Vendite di merci". Verificare che la nuova lastra di stampa funzioni correttamente. Per fare ciò, apri il documento creato, traccialo, quindi nella parte inferiore dello schermo fai clic sul pulsante "Stampa", seleziona l'opzione "Modulo di stampa esterno".

Fonti:

  • come modificare un modulo stampato in 1c

Per creare e modificare moduli oggetto, il programma 1C:Enterprise fornisce uno speciale editor di moduli (o Form Designer). I moduli oggetto della soluzione applicativa sono progettati per rappresentare visivamente i dati mentre si lavora con il programma. L'editor del modulo contiene diverse schede che offrono la possibilità di modificare tutti gli elementi del modulo.

Avrai bisogno

  • computer, programma 1C

Istruzioni

Utilizzando l'editor del modulo, puoi aggiungere uno o più elementi “Gruppo – Pagine” al modulo; per fare ciò, fai clic sul segno più verde nell'angolo in alto a sinistra dell'editor nella scheda “Elementi”.
Nella modalità 1C:Enterprise, tutti gli elementi del gruppo esistenti verranno visualizzati ciascuno in una scheda separata. Per posizionarlo sopra o sotto quello di lavoro, nella finestra “Proprietà” di un particolare gruppo, alla voce “Visualizza”, selezionare l'apposito comando.

Puoi anche aggiungere elementi al modulo trascinando i dettagli richiesti nell'albero degli elementi. Per semplificare la navigazione nei controlli del modulo durante la modifica o l'immissione di dati, imposta l'ordine che preferisci, disponendo gli elementi nell'albero e subordinandoli ad altri elementi e impostando le proprietà degli elementi del gruppo in base alle tue esigenze.
Per modificare i dettagli del modulo - modificarli, crearne di nuovi o eliminarli, utilizzare il pannello nell'area dell'albero dei dettagli nella scheda corrispondente.

Per modificare l'interfaccia di comando, vai alla scheda appropriata. Vedrai un albero dei comandi, i cui rami principali sono il "Pannello di navigazione" e il "Pannello di comando". Alcuni comandi vengono aggiunti automaticamente all'albero dell'interfaccia dei comandi, ma puoi anche aggiungerli tu stesso trascinando i comandi necessari dall'elenco dei comandi globali (generali) o dall'elenco dei comandi del modulo.

I comandi del modulo vengono modificati nell'elenco corrispondente. Puoi aggiungerli, rimuoverli dall'elenco, impostare le proprietà per ciascun comando utilizzando la tavolozza delle proprietà, che puoi richiamare facendo clic sull'icona della matita nella riga di comando dell'elenco.
Per modificare i parametri del modulo, vai alla scheda "Parametri", dove puoi anche aggiungerli, eliminarli e impostare le proprietà desiderate.

Video sull'argomento

Il piano dei conti, utilizzato in contabilità per visualizzare le attività economiche di un'impresa, supporta una gerarchia a più livelli: conto - sottoconti. Affinché l'utente possa visualizzare i dati contenuti nel piano dei conti e correggerli, il sistema 1C consente di modificare la forma del conto. Inoltre, la forma stampata della fattura può essere modificata in qualsiasi altro documento in 1C.

Avrai bisogno

  • - personal computer con 1C.

Istruzioni

Per ogni conto o sottoconto viene fornita la contabilità analitica. Pertanto, quando si crea e successivamente si modifica un piano dei conti in 1C, è possibile fornire il numero richiesto di sottoconti, ovvero oggetti di contabilità analitica. Inoltre, le modifiche agli account e ai sottoconti possono essere apportate sia da un utente che lavora con un sistema di contabilità automatizzata sia da uno sviluppatore di software.

Come aggiungere (registrare) un modulo stampato esterno (o elaborazione) in 1C Accounting 8.3 (revisione 3.0)

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

Spesso un contabile necessita di un modulo stampato aggiuntivo per uno dei documenti standard 1C: Contabilità 8.3 (revisione 3.0). Oppure è necessaria un'ulteriore elaborazione, ad esempio per compilare automaticamente un documento o inserirne uno nuovo in base ad esso. Di solito qualcuno ha già sviluppato una funzionalità del genere e può essere trovata o ordinata da un programmatore. E ora che la revisione è stata ricevuta, non resta che aggiungerla al reparto contabilità. Come farlo? Maggiori informazioni su questo argomento di seguito, passo dopo passo.

1. Apri 1C Accounting 3.0 e seleziona la sezione “Amministrazione” -> “Stampa moduli, report ed elaborazioni” nel pannello di sinistra:

2. Qui, trova e seleziona "Rapporti ed elaborazioni aggiuntivi", dopo aver selezionato la casella di controllo "Rapporti ed elaborazioni aggiuntivi" a sinistra:

3. Fare clic sul pulsante "Aggiungi da file...".

4. E seleziona il file con modulo di stampa o elaborazione esterna (estensione epf).

5. Nella nuova finestra fare clic sul pulsante "Salva e chiudi".

6. Apri il documento desiderato e assicurati che un'altra opzione del modulo stampabile appaia nel pulsante di stampa o in un elemento nel menu "Crea in base a" o in un nuovo pulsante sulla barra degli strumenti del modulo. Pronto!

Cordiali saluti, Vladimir Milkin(insegnante e sviluppatore).

La vita continua, la legislazione cambia, lo sviluppatore rilascia aggiornamenti di configurazione e ancora una volta abbiamo una scelta: installare noi stessi l'aggiornamento o chiamare nuovamente il programmatore per "installare una nuova versione"...

Facciamo conoscenza con il meccanismo per modificare i moduli di stampa senza modificare la configurazione.


Nella pratica di ogni contabile che utilizza 1C, c'è sempre stata la necessità di modificare la configurazione da soli: alcuni hanno modificato l'accuratezza del prezzo o dell'importo nella fattura, altri hanno inserito un logo e modificato l'aspetto della fattura. Andrebbe tutto bene, ma molte di queste modifiche si accumulano nel tempo e quando arriva il momento di aggiornare la release si pone un dilemma: o perdere tutte le modifiche apportate, oppure chiamare un programmatore per trasferire tutte le modifiche alla nuova release (di corso a pagamento). Come essere? Per semplificare in qualche modo l'aggiornamento delle configurazioni, gli sviluppatori hanno creato un nuovo meccanismo: "Elaborazione esterna, moduli stampati, elaborazione per la compilazione di parti tabulari". Oggi esamineremo solo una parte di questo meccanismo: la stampa dei moduli.


Qualsiasi argomento si impara meglio con l'esempio. Poniamoci il seguente compito: aggiungiamo alla configurazione la possibilità di stampare una fattura (document “Vendita di beni e servizi”) con il logo della nostra azienda. Inoltre, è necessario che nell'intestazione del documento siano presenti le iscrizioni "fornitore" E "acquirente" sono stati evidenziati in grassetto ed infine è necessario che in calce al documento vi sia uno spazio per la firma del servizio di sicurezza che ha autorizzato la spedizione.


Introduciamo due ulteriori condizioni:

  • Il nuovo modulo stampato dovrebbe sostituire il vecchio modulo "Fattura"
  • La configurazione non può essere modificata, poiché in futuro desideriamo utilizzare l'aggiornamento automatico della configurazione

Bene, qual è il compito? Sembra troppo complicato? Bene, più è complesso, più è interessante e più vuoi risolverlo. Allora mettiti al lavoro.


Lanciamo il nostro database in modalità Configuratore. Aprire la configurazione selezionando il comando nel menu principale "Configurazione > Apri configurazione". Non modificheremo la configurazione stessa in nessun caso. Lo useremo come prototipo. Faremo il lavoro principale qui, ma modificheremo l'elaborazione esterna. Creiamo un'elaborazione esterna con un comando nel menu principale "File > Nuovo". Selezione del tipo di documento "Trattamento esterno". Per la prima elaborazione impostiamo un nome "Fattura con marchio"


Importante! Il nome dell'elaborazione non deve contenere spazi, proprio come i nomi delle variabili.


Ora facciamo un po' "plagio". Copiamo il layout "Fattura" dal documento "Vendite di beni e servizi". Per fare questo, lo troveremo nel ramo "Documentazione" albero di configurazione. Espandi questa discussione facendo clic sull'icona «+» e trova il layout di cui abbiamo bisogno "Fattura"(è nel thread "Layout"). Per copiare questo oggetto, è necessario selezionare questo layout nell'albero ed eseguire il comando "Modifica > Copia"(la stessa azione si verifica con la combinazione CTRL+C). Ora andiamo all'elaborazione che abbiamo creato, selezioniamo un'etichetta nell'albero "Layout" e nel menu principale seleziona la voce - "Modifica > Incolla" (CTRL+V). Il risultato dovrebbe assomigliare alla Figura 1.


Ora fai doppio clic per aprire il layout.

Che cos'è un "layout"

Diciamo alcune parole sullo scopo del layout.

Disposizione- magazzinaggio "costruzioni", aree dalle quali, come mattoni, viene costruito un documento tabellare, che siamo abituati a chiamare modulo stampato. Le aree sono definite utilizzando sezioni orizzontali e verticali o le loro intersezioni. Il nostro layout ha solo sezioni orizzontali: “Intestazione”, “Fornitore”, “Acquirente”, “Intestazione tabella”, “Riga” (vedi Fig. 2). Un'area è un insieme di celle. Come in MS Excel, è possibile unire le celle, modificare i colori del testo e dello sfondo, i caratteri e così via. Tutte le impostazioni della cella possono essere visualizzate e modificate nella finestra delle proprietà della cella. È possibile richiamare la finestra delle impostazioni facendo clic con il tasto destro sulla cella e selezionando la voce del menu contestuale "Proprietà"(lo stesso risultato si ottiene con la scorciatoia da tastiera Alt+Invio).


Una cella può contenere uno dei tre tipi di valori:

  1. testo– un valore di questo tipo verrà stampato nella stessa forma;
  2. parametro– una cella di questo tipo contiene il nome di una variabile il cui valore verrà stampato.
  3. campione– le celle di questo tipo sono una combinazione della prima e della seconda opzione. La cella può contenere testo e variabili. Affinché un programma possa distinguere il testo da una variabile, le variabili devono essere racchiuse tra parentesi quadre: "Oggi è [Data]".

Importante! L'editor di tabelle visualizza i valori delle celle del secondo e terzo tipo tra parentesi triangolari. Nella Figura 2 c'è una cella con testo "Acquirente"- sembra testo e si trova a destra della cella "Presentazione dell'acquirente"- parametro.

Perché sto raccontando tutto questo? Ora sai in quali celle puoi facilmente modificare il contenuto e in quali non è desiderabile modificare nulla, poiché dovrai apportare modifiche all'algoritmo di stampa.

Torniamo ora al nostro compito. Abbiamo creato la lavorazione, copiato il layout e siamo pronti a modificarlo a nostro piacimento. Per prima cosa, diamo un'occhiata più da vicino.

Cosa è incluso nel layout stampabile

La struttura del layout di tutti i documenti è molto simile. Dopo aver esaminato attentamente un documento, possiamo capirne altri. Prima sezione "Titolo". Quando viene visualizzata questa sezione verrà generata un'intestazione del documento, composta dal tipo, dalla data e dal numero del documento. È seguito da sezioni "Fornitore" e "Acquirente", in cui il programma visualizzerà rispettivamente le informazioni sul fornitore e sull'acquirente. La prossima è una sezione più interessante "Informazioni aggiuntive", che gli sviluppatori utilizzano per visualizzare altre informazioni sul documento, ad esempio informazioni sul contratto con il suo numero e data. La particolarità di questa sezione è che può essere visualizzata più volte, e ogni volta può contenere informazioni diverse. Cosa stampare esattamente e quando è descritto nell'algoritmo di stampa.

Questo completa l'intestazione del documento. L'intestazione è solitamente seguita da una sezione tabellare. È interessante notare che il layout descrive due opzioni per visualizzare la parte tabellare: "Intestazione tabella", "Stringa" e "HeaderTablePlaces" E "StringLuogo". A seconda se la colonna è piena o meno "Mest" nel documento verrà utilizzata la prima o la seconda opzione per visualizzare la parte tabellare del documento. Il lettore curioso probabilmente si sarà già chiesto: perché nella sezione di output dell'intestazione "Prezzo" E "Somma" sono posti tra parentesi triangolari come se fossero variabili? Esatto: si tratta di variabili in cui, a seconda delle impostazioni del documento, verrà visualizzata l'iscrizione "Prezzo", "Prezzo con IVA" O "Prezzo senza IVA" e allo stesso modo per l'importo.

Bene, di seguito nel layout ci sono le sezioni con l'aiuto delle quali vengono visualizzati i risultati del documento e della firma.

Modifica del layout

Sarebbe carino posizionare il logo sopra le informazioni sul fornitore e sull'acquirente. Suggerisco di modificare l'area di layout "Titolo". È necessario ridurre la dimensione della cella contenente il contenuto "TitoloTesto". Questa cella è composta da diverse celle unite. Modifichiamo la dimensione come segue:

  1. Copiamo attentamente il contenuto della cella unita "TitoloTesto"(per fare ciò è necessario selezionare la cella e utilizzare il comando "Modifica > Copia" o scorciatoia da tastiera CTRL+C)
  2. Dopo aver selezionato questa cella, seleziona la voce nel menu principale "Tabella - Unisci", che porterà all'effetto opposto: la cella unita verrà divisa in molte celle originali
  3. Ora selezioniamo un numero minore di celle - invece della cella 2 della colonna, inizieremo a unirle dalla colonna 6, terminando alla colonna 32 - e facciamo nuovamente clic sul pulsante "Unisci"
  4. Squadra "Modifica > Incolla" (CTRL+V) inserisci il contenuto della cella unita precedente nella nuova cella unita
  5. Cancelliamo semplicemente le celle liberate nelle colonne 2 – 5 (selezionale e premi il tasto Canc)

Ora puoi inserire un'immagine con un logo nello spazio libero. Per fare ciò, seleziona la voce nel menu "Tabella > Immagini > Immagine...". Trova il file con il nostro logo sul disco e fai clic su “ OK" Ora spostiamo l'immagine nello spazio libero. Il risultato dovrebbe apparire come nella Figura 3.


Ora evidenziamo i valori nelle celle in grassetto "Fornitore" E "Acquirente"(Fig. 4). Per fare ciò, trova il parametro nelle proprietà della cella "Font" e imposta lo stile su grassetto.



E infine resta da aggiungere la firma del servizio di sicurezza. Pubblicheremo queste informazioni nella sezione "Firme". Per avere spazio per le firme è necessario espandere la sezione. Seleziona la riga 37, fai clic con il pulsante destro del mouse su di essa e seleziona "Espandere" e così via per due volte. In una delle righe aggiunte inseriremo un posto per la firma del servizio di sicurezza. Di conseguenza, tutto dovrebbe apparire come nella Figura 5.



Importante! In una configurazione tipica vengono utilizzate due lingue: russo e ucraino. Il layout memorizza la rappresentazione del testo in entrambe le lingue (il design delle celle è generale). Per inserire la versione ucraina dell'iscrizione che abbiamo aggiunto, devi andare nelle proprietà della cella e nel campo "Testo" premi il bottone "ricerca". Si aprirà una finestra per l'inserimento di rappresentazioni testuali in diverse lingue (Fig. 6).

Come garantire la stampa

Quindi, il layout è pronto. Ora è il momento di lavorare sull'algoritmo per stamparlo.

Per poter integrare senza problemi questo layout nella configurazione e utilizzarlo, l'elaborazione che abbiamo creato deve soddisfare le seguenti condizioni:

  1. È necessario creare oggetti di scena durante l'elaborazione "Collegamento oggetto" con tipo "Qualsiasi collegamento"
  2. È necessario creare una procedura nel modulo di elaborazione "Stampa() Esporta" senza parametri e assicurati di specificare la parola chiave " Esportare"

Il primo punto è necessario affinché l'algoritmo di stampa sappia dove ottenere i dati per la stampa, mentre il secondo è l'algoritmo di stampa stesso. Soddisfiamo queste condizioni.

Nel pannello della finestra, seleziona la finestra per modificare la nostra elaborazione (nella Figura 7). Si aprirà una finestra con un albero di oggetti per la nostra elaborazione. Selezione di un ramo "Requisiti" e premere il pulsante "Aggiungere",. Si aprirà la finestra delle proprietà dell'attributo. Inseriamo il nome - "Collegamento oggetto" e indicare la tipologia "Qualsiasi collegamento". Ora possiamo passare al testo del modulo di stampa. Non lo scriveremo da zero; lo copieremo invece dal documento "Vendite di beni e servizi".



Per fare ciò, trova nell'albero di configurazione tra i documenti "Vendite di beni e servizi", fai clic destro su di esso e seleziona "Apri modulo oggetto"(vedere Figura 8).



Questo aprirà il modulo del documento. Abbiamo bisogno della prima funzione "StampaDocumento". Il suo testo deve essere selezionato e copiato. È molto comodo evidenziare il testo di una funzione quando questa è compressa, ma bisogna evidenziare anche la riga sottostante, altrimenti si rischia di copiare solo il titolo.

Vedi nella Figura 9, abbiamo evidenziato il titolo e la riga sottostante. Successivamente, copialo negli appunti. Menu principale "Modifica > Copia" (o CTRL+C).



Abbiamo memorizzato il testo negli appunti, ora passiamo nuovamente alla nostra elaborazione "Fattura con marchio". Fare clic sul pulsante "Azioni > Apri modulo oggetto"(Fig. 10).



Incolla il testo copiato: "Modifica > Incolla" (o CTRL+V).

Ora è necessario modificare leggermente il testo copiato, poiché è stato scritto per stampare un documento dal documento stesso e lo stiamo raccogliendo da un'elaborazione esterna. Per fare questo è necessario:

  1. Rinominare la funzione in "Stampa"
  2. Sostituire "Questo oggetto" SU "Collegamento oggetto"
  3. Sostituire "Questo oggetto" SU "Collegamento oggetto"
  4. Sostituire "Conto bancario dell'organizzazione" SU "Collegamento al conto bancario Object.Organization"
  5. Sostituire "Prodotti. Riepilogo" SU "LinkToObject.Products.Totale"

Per queste azioni è possibile utilizzare la voce del menu principale "Modifica > Sostituisci".

Successivamente, è necessario verificare la sintassi. Esiste una combinazione magica per questo: CTRL+F7. Di conseguenza, dovrebbe apparire il seguente messaggio: "Nessun errore di sintassi trovato!"

Bene, con questo abbiamo completato tutto il lavoro sporco. Ora possiamo salvare i risultati del nostro lavoro, ad esempio, in un file "Fattura con marchio.epf". Per fare ciò è necessario rendere attiva la finestra per questa elaborazione e salvarla utilizzando il menu principale del programma "File > Salva con nome...". Nome del file in elaborazione – "Fattura con marchio.epf"(sarà offerto per impostazione predefinita). Puoi salvarlo temporaneamente sul desktop in modo da poterlo ritrovare più velocemente in seguito.

Importante! Come hai visto, non abbiamo apportato alcuna modifica alla nostra configurazione. Per tutte le azioni sopra descritte, non è nemmeno necessario rimuoverlo dal supporto (ovvero abilitare la possibilità di modifica).

Collegamento dell'elaborazione esterna alla configurazione

Ora possiamo collegare l'elaborazione alla nostra fattura. Per fare ciò, avvia in modalità. Vai al menù "Servizio", dove sono presenti tre punti relativi al meccanismo “Lavorazioni esterne, stampa modulistica, lavorazioni per compilazione parti tabellari”. Nel nostro caso, abbiamo bisogno solo dell'oggetto "Moduli di stampa esterni"(vedi Fig. 11).



Questo aprirà la directory "Trattamento esterno", con selezione per tipologia "moduli stampati". Memorizzerà un elenco di tutti i moduli stampati esterni, indicando a quali documenti sono destinati e in quali casi devono essere mostrati.



Importante! L'elaborazione stessa verrà archiviata nel database insieme ad altri dati, ovvero dopo aver salvato l'elaborazione all'interno del database non avremo bisogno di un file esterno.

Dobbiamo creare un nuovo elemento nella directory. Clic Inserire. Ora diamo un'occhiata al contenuto dell'elemento. Nel nome includiamo una breve descrizione significativa dell'essenza di questa forma, ad esempio, "Fattura aziendale". Come ogni altra directory, ha anche un codice. Lasciamolo come predefinito. L'attributo type è compilato per impostazione predefinita e non può essere modificato – "Stampa modulo". E l'ultimo elemento dell'intestazione è un commento. Qui, come al solito, ci sono maggiori dettagli sullo scopo del modulo di stampa. Oltre all'intestazione, gli elementi di questa directory hanno due segnalibri. Il secondo contiene informazioni sulla limitazione dei diritti di accesso a questo trattamento. Questo argomento va oltre lo scopo di questo articolo (parleremo di questa e di altre impostazioni dei diritti di accesso senza modificare la configurazione in uno dei prossimi numeri).

Diamo uno sguardo più da vicino alla prima scheda.

La scheda contiene quattro colonne. Rappresentazione dell'oggetto– il tipo di documento per il quale vorremmo utilizzare il nostro modulo di stampa,

Selezione– una condizione alla quale il modulo stampato dovrebbe essere disponibile. Ad esempio, abbiamo ridisegnato il formato stampato della fattura e lo abbiamo tradotto in inglese. E vogliamo per i clienti dalla cartella "Europeo" invece di un modulo stampato standard "Fattura di vendita" Un nuovo modulo è stato stampato in inglese. Per fare ciò, puoi utilizzare la colonna "Selezione". Un esempio di tale selezione è mostrato nella Figura 13.



Ma nel nostro compito non sono necessarie selezioni.

File del modulo stampabile– indica il file da cui prendere l'impaginazione e la procedura di stampa. In questa cella devi selezionare il file che abbiamo salvato sul desktop.

Piastra di stampa sostituibile– se vogliamo che il modulo stampato che abbiamo creato sostituisca uno di quelli standard per questo documento, allora dobbiamo indicare quale deve essere sostituito. Se non c'è nulla da selezionare, verrà visualizzato un modulo stampato aggiuntivo.

Nel nostro caso, dobbiamo farlo "Fattura con marchio"è stata stampata al posto della consueta fattura. Per fare ciò, seleziona in questo campo "Fattura di vendita".

Ora salviamo questo elemento. E apri qualsiasi fattura.

Dovrebbe apparire come mostrato nella Figura 14.



Bene, questo conclude il compito che ci eravamo prefissati all'inizio dell'articolo. Riteniamo di essere stati in grado di illustrare le possibilità che l'utilizzo del meccanismo di elaborazione esterna apre all'utente.

Per consolidare le tue capacità, puoi provare ad aggiungere autonomamente alla configurazione un ulteriore modulo stampato “Al magazzino” per il documento “Ricevuta di beni e servizi”, che ripeterebbe la solita fattura, ma senza prezzi e importi, e inoltre contengono campi per inserire la quantità accettata.

Buon pomeriggio.

Oggi voglio raccontarti come creare moduli stampati esterni per la configurazione “Gestione Stipendi e Personale 3.0”. Come sai, ZUP 3.0 utilizza una libreria di sottosistemi standard, il che significa che la struttura di elaborazione appare completamente diversa. Quando ho dovuto realizzare per la prima volta un modulo stampato per il BSP nei moduli gestiti (allora era UT 11), la prima cosa che ho fatto è stata andare sul disco ITS per trovare lì una documentazione dettagliata su quali procedure di esportazione, quali parametri dovrebbero essere elaborato e come funziona il tutto. Qui mi ha deluso un po', perché... lì viene detto tutto su come dovrebbero apparire le procedure nel modulo del documento, e nel modulo stampato esterno i parametri della procedura di "stampa" vengono riorganizzati, quindi ho dovuto cercare informazioni in altre fonti e armeggiare con il sottosistema dall'interno .

Bene, cominciamo. Ciò che otteniamo alla fine può essere utilizzato come modello.

Primo passo- ovvio. Creiamo una nuova elaborazione. Assegniamogli un nome arbitrario: "Stampa Esempio".

Passo due. Creiamo un layout. Dato che abbiamo un esempio di prova, creerò il layout più semplice, senza un singolo parametro.

Passo tre- Il più interessante. Aprire il modulo oggetto e iniziare a programmare. Secondo il BSP, quando si registra un'elaborazione esterna, essa (l'elaborazione) deve indicare cosa può fare, a quali oggetti è allegato e come si chiama. Quando viene chiesto quale elaborazione può eseguire, dovrebbe restituire un elenco di comandi: questa è una tabella di valori. Nel nostro caso, l'elaborazione può produrre un modulo stampato, quindi ci sarà un solo comando. Per generare una tabella di valori definiremo un paio di procedure che saranno sempre le stesse in tutti i moduli stampati esterni:

//procedura che prepara la struttura della tabella dei comandi

Funzione OttieniComandoTabella()

// Crea una tabella comandi vuota e colonne al suo interno
Comandi = Nuova TabellaValori;

// Come apparirà all'utente la descrizione del modulo stampato
Commands.Columns.Add("Visualizza", NewTypeDescription("Riga"));

// Il nome del nostro layout, in modo da poter distinguere il comando chiamato nell'elaborazione della stampa
Commands.Columns.Add("Identificatore", New TypeDescription("String"));

// Imposta il modo in cui deve essere chiamato il comando di elaborazione
// Opzioni possibili:
// - OpeningForm - in questo caso, la colonna identificatore dovrebbe indicare il nome del modulo che il sistema aprirà
// - CallClientMethod - chiama la procedura di esportazione del client dal modulo del modulo di elaborazione
// - Chiama ServerMethod - chiama una procedura di esportazione del server dal modulo dell'oggetto di elaborazione
Commands.Columns.Add("Utilizzo", New TypeDescription("Riga"));

// Il parametro successivo specifica se deve essere mostrata una notifica all'inizio e alla fine di un processo di elaborazione. Non ha senso quando si apre il modulo
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));

// Per un modulo stampato, deve contenere la stringa PrintMXL
Commands.Columns.Add("Modificatore", New TypeDescription("Riga"));

Squadra di ritorno;

EndFunction

//Crea una nuova riga nella tabella dei comandi

Funzione AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "")
NuovoComando = TabellaComandi.Add();
Nuova squadra. Visualizza = Visualizza;
Nuova squadra. Identificatore= Identificatore;
Nuova squadra. Utilizzo = Utilizzo;
Nuova squadra. MostraAlert= MostraAlert;
Nuova squadra. Modificatore= Modificatore;
EndFunction

Funzione InformazioniSuExternalProcessing() Esporta
Parametri di registrazione = Nuova struttura;
ArrayDestinations = Nuovo array;
Array di assegnazioni.Add("Document.Hiring");
Parametri di registrazione.Insert("Visualizza", "PrintForm"); //forse: riempimento di un oggetto, report aggiuntivo, creazione di oggetti correlati...
Parametri di registrazione.Insert("Destinazione", Array di destinazione);
Parametri di registrazione.Insert("Nome", "Hello World"); //nome con il quale verrà registrato il trattamento nella directory dei trattamenti esterni
Parametri di registrazione.Insert("Versione", "1.0");
Parametri di registrazione.Insert("SafeMode", TRUE);
Registration Parametri.Insert("Informazioni", "SAMPLE");//questo è come apparirà all'utente la descrizione del modulo stampabile
TabellaComandi = OttieniTabellaComandi();
AddCommand(CommandTable, "Hello World", "Layout", "CallServerMethod", True, "MXL Print");
Parametri di registrazione.Insert("Comandi", CommandTable);
ReturnRegistrationParameters;
EndFunction

In realtà, dovrai armeggiarlo ogni volta che crei un nuovo modulo di stampa esterno. Dal pezzo di codice è chiaro che lo collegheremo al documento “Assunzione”, di conseguenza scriverai il tuo. Il nostro modulo stampato si chiamerà "Hello World", ancora una volta lo cambieremo con il nostro. Qui sarebbe conveniente scrivere nel template un cartellone pubblicitario evidente in modo che attiri l'attenzione, per non dimenticare di correggerlo in seguito; secondo me “Hello world” torna utile. La versione è per te, scrivi quello che vuoi, verrà visualizzato sotto forma di elemento nella directory dell'elaborazione esterna. La parola "SAMPLE" è visibile anche solo sotto forma di elenco di moduli stampati. Successivamente aggiungiamo un comando, qui il secondo parametro è il nome del pulsante, questo è ciò che l'utente vedrà nel documento alla voce di menu “stampa”.

Questo insieme di tre procedure è sufficiente per aggiungere l'elaborazione alla directory dell'elaborazione esterna; tutto questo codice confuso è servizio e non ha nulla a che fare con l'algoritmo di stampa. In effetti, gli autori del BSP ci hanno costretto a programmare in modo così difficile che se prima iniziavi immediatamente a scrivere la funzione "Stampa", ora quando scrivi l'elaborazione da zero, e non secondo un campione, perderai tempo il servizio. Prima i parametri di registrazione erano facoltativi e venivano indicati nel layout di elaborazione, ora tutto sembra molto più serio. La prima impressione quando l'ho visto è stata fantastica, tante possibilità, tutto è unificato... ma in pratica creo sempre un solo comando in un'unica elaborazione e lo collego a un documento. Quelli. infatti mi servono due righe per la registrazione: nome dell'oggetto, nome del pulsante. E qui è tutto così... beh, vabbè, non sta a me giudicare.

Passo quattro- non meno interessante.

Funzione STAMPA?

Ma no, ora non è una funzione, ma una procedura.

Come posso ripristinare il layout?

Invialo alla funzione del modulo del sottosistema di stampa globale.

Va bene

Ecco il testo di questa procedura:

Procedura Stampa (matrice di oggetti, raccolta di PrintForms, PrintObjects, parametri di output) Esporta
Se PrintManagement.NeedPrintLayout(CollectionPrintForms, "Layout") Allora
Gestione stampa.Output TabularDocumentIntoCollection(CollectionofPrintForms,
"Disposizione", "Disposizione",
GenerateTabDocumentSample(Array di oggetti, Oggetti di stampa));
finisci se;
Fine della procedura

Ora per un chiarimento. La prima riga della procedura contiene una condizione leggermente poco chiara. Il fatto è che quando chiamiamo la procedura di stampa, il sistema ci passa una tabella di valori, che indica cosa dobbiamo stampare. In sostanza la funzione ManagePrint.NeedPrintLayout(...) verifica la presenza nella tabella dei valori di una riga in cui nella colonna "Nome" è presente una riga con il nome del layout. In pratica, nella maggior parte dei casi la cosa è inutile, perché... la nostra elaborazione potrà generare un solo modulo stampato. Quelli. Questa condizione può essere omessa e non influirà sulle prestazioni.

Successivamente, Gestione stampa.Output TabularDocumentIntoCollection(...) - questo è ciò che aggiunge il layout tabellare dove è necessario, in modo che possa poi essere visualizzato sullo schermo. Se devi mostrare il documento del tuo foglio di calcolo nella tua finestra (non in una standard), non chiamare questa procedura, ma scrivi semplicemente il tuo codice qui.

Aggiungo inoltre che la procedura di Stampa viene eseguita sul client e, se necessario, è possibile aprire qui un modulo gratuito per chiedere all'utente informazioni aggiuntive necessarie per la stampa.

Successivamente, GenerateTabDocumentSample(...) è una funzione che dobbiamo scrivere nel modulo di elaborazione e che restituisce un documento tabellare. In 100 casi su 100 sarà basato su server, perché... dobbiamo ottenere il valore dei dettagli dagli oggetti elencati nel parametro "Object Array".

Passo cinque- creazione di un layout.

Evviva, finalmente arriveremo all'algoritmo di layout, al recupero dei dati, ecc.

Ma nel nostro campione agiremo in modo prosaico e non commenterò nemmeno qui)))

Funzione GeneraTabDocumentSample(Matrice di oggetti, Oggetti di stampa)
tabDoc = Nuovo TabularDocument;
layout = GetLayout("Layout");

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

Restituisci TabDoc;
EndFunction

Questo è tutto, grazie per l'attenzione

I moduli stampati esterni per un'applicazione regolare (per la configurazione Contabilità aziendale 2.0, Gestione salari e risorse umane 2.5, Gestione commerciale 10.3, ecc.) vengono creati in modo molto semplice rispetto ai moduli stampati esterni per un'applicazione gestita.

Perché creare moduli di stampa esterni?

Il vantaggio di un modulo stampato esterno rispetto a quello convenzionale è che consente di evitare di modificare la configurazione della base informativa. Ciò significa che il processo dei successivi aggiornamenti della configurazione non sarà complicato. Inoltre, i moduli stampati esterni, insieme all'elaborazione esterna, sono l'unica opzione per espandere la funzionalità delle versioni base delle configurazioni 1C, che non possono essere modificate affatto.

E un'ultima cosa: i moduli stampati esterni sono più facili da replicare, perché sono un file separato che può essere collegato rapidamente all'infobase.

Come creare un modulo di stampa esterno

Diamo un'occhiata passo dopo passo al processo di creazione di un modulo stampato 1C esterno:

  1. Creiamo elaborazioni esterne. Per fare ciò, seleziona la voce di menu nel configuratore File - Nuovo... E nella finestra di dialogo che si apre: Elaborazione esterna.
  2. Creare un attributo di elaborazione esterna con il nome Riferimento all'oggetto. Il tipo di attributo è un collegamento a una directory o a un documento per il quale viene creato un modulo stampato esterno. Lo stesso modulo può essere utilizzato per diversi tipi di oggetti, in questo caso il tipo di dati dell'attributo Riferimento all'oggetto deve essere composito.
  3. Nel modulo oggetto creiamo una funzione di esportazione con il nome Foca, che dovrebbe restituire un foglio di calcolo stampato già pronto.

Accade spesso che sia necessario modificare leggermente il layout di un modulo stampato esistente e renderlo esterno. Ad esempio, aggiungi il sigillo dell'organizzazione e la firma del manager al layout.

Creazione di un modulo di stampa esterno basato su uno standard con piccole modifiche

Consideriamo questa procedura utilizzando l'esempio della creazione di un modulo stampato esterno di un documento di trasferimento universale per un documento Vendite di beni e servizi 1C: Contabilità. Differirà dal modulo stampato standard per la presenza del sigillo dell'organizzazione.

  1. Creazione di elaborazioni esterne con oggetti di scena Riferimento oggetto, tipo di dati - DocumentLink.Vendita di beni e servizi.
  2. Troviamo il layout del modulo stampato UPD standard (si trova nei layout generali) e lo copiamo (trascinamo) nella finestra di elaborazione esterna. I layout di altri moduli stampati possono trovarsi nei documenti o nei libri di consultazione stessi.
  3. Apportiamo le modifiche necessarie al layout copiato del modulo stampato.
  4. Troviamo la funzione responsabile della generazione del modulo stampato. Questa funzione dovrebbe restituire il documento del foglio di calcolo generato. Copia il suo contenuto nella funzione di esportazione Foca() nel modulo dell'oggetto di elaborazione esterno.
    Nel nostro caso questa è la funzione PrintUniversalTransferDocument() Esporta dal modulo oggetto documento Vendite di beni e servizi.
    Se le modifiche al layout fossero significative (aree e/o parametri modificati), è necessario apportare le opportune modifiche alla funzione di stampa.
  5. Stiamo cercando di salvare l'elaborazione esterna. Tuttavia, probabilmente riceverai messaggi di errore che indicano che mancano alcune procedure e funzioni richiamate dalla funzione di stampa. Queste funzioni e procedure devono essere trovate nel documento di origine e anche copiate nel modulo dell'oggetto di elaborazione esterno. Oppure modifica il collegamento se la funzione o la procedura originale viene esportata.
  6. (non necessario). Per testare un modulo di stampa esterno, è conveniente creare un modulo su cui posizionare gli oggetti di scena Riferimento all'oggetto. Pulsante Eseguire deve chiamare una procedura Foca() dal modulo oggetto. Per fare ciò, all'evento clic del pulsante viene assegnata una procedura: