Come configurare smartphone e PC. Portale informativo
  • Casa
  • finestre8
  • Aggiungere un modulo di stampa esterno a 1c 7.7. Copia di un report esterno nella directory infobase

Aggiungere un modulo di stampa esterno a 1c 7.7. Copia di un report esterno nella directory infobase

Nei documenti per i quali è prevista la stampa di eventuali moduli stampati, a sinistra del pulsante Foca C'è un pulsante di elenco.

Dopo aver fatto clic su questo pulsante, all'utente viene presentato un elenco di moduli stampabili tra cui scegliere. Il primo modulo nell'elenco è standard, i restanti moduli sono registrati come esterni.

Elaborazione Registrazione di moduli di stampa esterni progettato per il collegamento di nuovi moduli di stampa esterni. I moduli collegati sono offerti nell'elenco dei moduli stampabili dei documenti.

La finestra di dialogo di elaborazione contiene una tabella con un elenco di stampabili esterni. Per ogni tipologia di documento, elenco o elemento di elenco è possibile assegnare un numero qualsiasi di moduli stampati esterni.

In un gruppo Moduli di stampa esterni per viene specificato un documento o una directory per cui è collegato un modulo stampato. Il gruppo comprende tre interruttori:

  • Documenta- il modulo stampabile apparirà nell'elenco di stampa della finestra di dialogo del documento selezionato di seguito;
  • Elenco delle directory- il modulo stampato apparirà nell'elenco di stampa della directory selezionata di seguito;
  • Elemento di directory- il modulo stampabile apparirà nell'elenco di stampa della finestra di dialogo dell'elemento del libro di consultazione selezionato di seguito.

Tutti gli stampabili esterni vengono archiviati in una sottodirectory Moduli Prn catalogare ESTFORME. All'avvio dell'elaborazione, il programma legge i moduli esterni memorizzati in questa directory. Ogni riga della tabella contiene il nome testuale del file esterno, il nome del file e il nome del pulsante che verrà assegnato nel documento (directory) per richiamare il modulo di stampa.

Sotto l'elenco sono presenti i pulsanti per lavorare con file esterni.

Pulsante Aprire apre il file esterno selezionato. Questo apre l'elaborazione Foca, che richiede di specificare un documento specifico (o un libro di consultazione) che deve essere stampato utilizzando un modulo esterno.

Premendo un pulsante Aggiornamento riempie l'elenco dei moduli di stampa esterni. Il pulsante deve essere utilizzato dopo aver registrato nuovi stampabili esterni nella sottodirectory Moduli Prn.

Pulsante Modifica utilizzato per lavorare con un elenco di file esterni. Quando si preme il pulsante Modifica Accanto si apre un menu di quattro voci:

  • Cambia il nome;
  • Pulsante Cambia;
  • Aggiungi alla lista;
  • Rimuovi dall'elenco.

Quando si seleziona un articolo Cambia nome il nome del testo del file esterno verrà visualizzato per la modifica in una finestra di dialogo separata.

Dopo la modifica, nell'elenco apparirà il nuovo nome del file esterno al posto del precedente.

Quando si seleziona un articolo Pulsante Modifica il nome testuale del pulsante verrà visualizzato per la modifica nella stessa finestra di dialogo. Dopo la modifica, nell'elenco verrà visualizzato anche il nuovo nome del pulsante.

Paragrafo Aggiungi all'elenco ti permette di aggiungere un nuovo modulo esterno all'elenco. Quando selezioni questo elemento, si aprirà un elenco di file di moduli esterni situati nella sottodirectory Moduli Prn catalogare ESTFORME. Le informazioni sul nome del file e sul nome del pulsante vengono archiviate in un file di testo con estensione efd. Questi nomi vengono automaticamente inclusi nell'elenco. Possono essere modificati se necessario.

Paragrafo Rimuovi dall'elenco dopo un'ulteriore richiesta, rimuove dalla lista la riga che descrive il file esterno. In questo caso, il file stesso non viene eliminato, quindi può essere aggiunto nuovamente all'elenco in seguito.

La questione della necessità di stampare un gran numero di documenti in 1C è stata sollevata più di una volta e su Internet è possibile trovare un numero considerevole di trattamenti dedicati alla risoluzione di questo problema. Questa domanda si è presentata di recente davanti a me nella seguente formulazione: "Ho bisogno di un'elaborazione che mi permetta di stampare molte fatture, il modulo di stampa è "TORG-12 (modulo 2011)" (abbiamo un tale modulo di stampa esterno - nota dell'autore) ".

Senza ulteriori indugi, prendo come base lo stesso modulo stampato esterno, appendo ogni sorta di cose carine nella finestra di dialogo per la selezione delle fatture, correggo il codice e, voilà, tutto è pronto! Inoltre - altro: "E devo anche stampare queste fatture in massa, ma nella forma stampata "TORG-12 (Prom)" (abbiamo anche un modulo stampato esterno - nota dell'autore). Qui era già necessario fare qualcosa di più universale nel caso in cui, dopo qualche tempo, fossero nuovamente necessari nuovi documenti o nuovi moduli stampati.

Ho trovato la seguente soluzione: lezioni! La conclusione: avvolgiamo ogni modulo stampato esterno in una classe e lo chiamiamo dall'elaborazione della stampa di documenti in blocco. Le modifiche al modulo stampato esterno della classe sono piuttosto piccole e richiedono meno tempo di quanto descritto in questo articolo. È necessario migliorare quanto segue:

  • - dichiarare la variabile “Document” e la procedura di esportazione “Print()”;
  • - eliminiamo definitivamente la procedura “On Opening()”;
  • - copiare la tabella sorgente dall'elaborazione nel file “.mxl” (poiché la classe non la vedrà all'interno dell'elaborazione, ecco perché è una classe) e, di conseguenza, sostituire l'espressione come “Table.SourceTable(“Table” );” a un'espressione come “Table.SourceTable(glCatalogPechForm + “Torg12.mxl”);";
  • - per ottenere una coperta con un mucchio di documenti e non un mucchio di coperte per un documento, rimuovi la dichiarazione come "Tabella = CreaOggetto("Tabella");" e “Table.InitialTable(glCatalogPechForm + “Torg12.mxl”);” dalla procedura “Print()” e inserirlo nel modulo di elaborazione (aggiungilo alla fine del modulo). Di conseguenza, dichiariamo la variabile “Table” come variabile del modulo;
  • - rimuoviamo anche un'espressione come “Table.Display()” dalla procedura “Print()”, aggiungiamo invece una procedura di esportazione “Display()” con una sola riga: “Table.Display();”. Chiameremo questo metodo dopo il ciclo con il metodo "Print();".
  • - per poter stampare un nuovo documento su una nuova pagina, alla fine della procedura “Print()”, aggiungere una riga come “Table.NewPage()”;
  • - controlla il modulo per la presenza di righe come "Table.RepeatWhenPrintingLines();". Altrimenti ci sarà una sorpresa!
  • - e ovviamente provvedere al caricamento del componente esterno 1срр.dll (se già non lo avete) e descrivere le classi in defcls.prm.

Di conseguenza abbiamo:

  1. L'elaborazione è universale: può essere implementata in qualsiasi configurazione.
  2. Utilizzando l'esempio fornito in questa elaborazione, è possibile stampare qualsiasi documento in qualsiasi formato di stampa interno o esterno. Quando viene rilasciato un nuovo modulo di stampa, viene semplicemente aggiunto all'elaborazione.
  3. Il codice di elaborazione è diventato estremamente conciso e comprensibile (e contiene circa un centinaio di righe). Per aggiungere un nuovo documento, devi solo aggiungere alcune righe di codice alla fine del modulo tramite copia e incolla. Per aggiungere un nuovo stampabile a un documento esistente, devi solo aggiungere una riga di codice.
  4. Per chi non conosce l'OOP, questo è un ottimo esempio di cosa sono le classi e come usarle nella pratica.

Se la procedura di stampa si trova nel modulo del modulo documento, allora la logica di funzionamento è la stessa: copiamo la procedura “Print()” e la racchiudiamo in una classe. È vero, qui ci saranno ulteriori miglioramenti: dovrai aggiungere un collegamento al documento (cioè ciò che viene trasmesso dal contesto a un modulo stampato esterno).

Svantaggi: ho già scritto di righe di codice come “Table.RepeatWhenPrintingLines();”, con l'aiuto delle quali nella pagina successiva viene visualizzato il titolo della parte tabellare del documento. Poiché la stragrande maggioranza dei miei documenti sta in una pagina, ho commentato queste righe e rimosso intestazioni e piè di pagina dai moduli stampati. Se qualcuno ha bisogno di produrre queste righe, l'elaborazione dovrà essere modificata. Ma questo è un difetto nell'implementazione specifica, non nell'idea stessa.

Di norma, un utente del programma 1C: Enterprise 7.7 può aggiornare autonomamente la propria configurazione di lavoro. Di seguito vengono forniti consigli per l'aggiornamento di una tipica configurazione non modificata. Se la configurazione è stata modificata, sono state apportate modifiche a documenti, report o moduli stampati, non è consigliabile aggiornare personalmente la configurazione. Si consiglia di chiamare un tecnico qualificato per effettuare l'intervento di aggiornamento.

Come collegare in modo indipendente report esterni e moduli stampati esterni alla configurazione nel programma 1C:Enterprise 7.7

Copia di un report esterno nella directory infobase.

Il file di report esterno ha l'estensione "ert". Questo è un rapporto esterno diretto. In genere, un file di report esterno è accompagnato da un file di descrizione con estensione "efd". Questo file è necessario affinché il programma “trovi” immediatamente il report e non abbia bisogno di collegarlo manualmente. Ad esempio, il file di report esterno si chiamerà “Application Log.ert”, quindi il file di descrizione si chiamerà “Application Log.efd”. Questi due file (o uno se non esiste un file con estensione efd) devono essere copiati nella directory del database di lavoro.
Per fare ciò, devi prima trovare la directory del database di lavoro. Successivamente, è necessario trovare la directory "ExtForms" nella directory del database di lavoro.

Se stai copiando un modulo stampato esterno, devi trovare la directory "PrnForms" nella directory "ExtForms". È necessario copiare entrambi i file nella directory trovata (ExtForms per report esterni e PrnForms per moduli stampati esterni).

Connessione a un programma di report esterno utilizzando un'elaborazione speciale.

Per connettersi ad un database di report esterno è necessario aprire il report “Funzioni avanzate” accedendo al menu “Strumenti” - “Funzioni avanzate”.

Se hai copiato correttamente il report esterno e il file con estensione efd, il tuo report esterno apparirà nell'elenco dei report esterni.
Se il file di configurazione efd non viene copiato, è necessario effettuare le seguenti operazioni:

Dall'elenco a discesa, seleziona il file di report esterno desiderato (che è stato copiato nella directory ExtForms). Se il file richiesto non è nell'elenco, ciò potrebbe essere per due motivi: 1) Il file è stato copiato nella cartella sbagliata, ovvero è necessario verificare nuovamente attentamente che la copia sia stata corretta nel capitolo “Copia di un report esterno sul directory della base dati." 2) Il file è stato copiato correttamente ed è già nell'elenco dei report esterni. In questo caso, è necessario rivedere attentamente l'elenco dei report esterni e trovare il report appena aggiunto.
Dopo aver selezionato il file si aprirà una finestra in cui è necessario specificare il nome del report esterno. Inserisci un nome personalizzato.

Fare clic sul pulsante "OK".

Successivamente, il tuo file esterno apparirà nell'elenco dei file esterni.

Collegamento di un modulo di stampa esterno (aggiuntivo) al programma.

Per collegare un modulo di stampa esterno, è necessario selezionare dal menu "Strumenti" - "Registrazione moduli di stampa esterni".

Successivamente, seleziona per quale documento, o per quale elemento o elenco della directory devi collegare un modulo stampato esterno.
Ad esempio, colleghiamo un modulo stampato esterno per il documento "Spedizione di merci, prodotti". Per fare ciò, è necessario selezionare la voce "Documento" nel gruppo "Moduli stampati esterni per".

Successivamente, seleziona "Spedizione di merci, prodotti" dal menu.

I moduli stampati esterni collegati dovrebbero apparire nella tabella.


Se la tabella contiene il modulo che ti serve, è stata connessa automaticamente.

Se il modulo richiesto non è presente nella tabella, è necessario effettuare le seguenti operazioni: Fare clic sul pulsante “Cambia…” e selezionare “Aggiungi all'elenco” nel menu a discesa.

Nell'elenco che si apre, devi selezionare il modulo che hai copiato nella directory PrnForms.