Casa / Lezioni di Windows / Aggiunta di un report esterno al database. Aggiunta di un report esterno al database Report esterni per 1s 8.3 come fare

Aggiunta di un report esterno al database. Aggiunta di un report esterno al database Report esterni per 1s 8.3 come fare

La creazione di report è una delle funzioni principali di qualsiasi sistema contabile. Quali tipi di report esistono in 1C Accounting 3.0, come sono configurati i report in 1C Accounting 8.3 e quali strumenti esistono per creare nuovi report: lo vedremo oggi.

Tipi di report standard

Il programma di contabilità 1C dell'azienda è inizialmente preinstallato con un'ampia gamma di report che consentono di ottenere tutte le informazioni necessarie. Il loro elenco completo è presentato nella sezione "Rapporti/Rapporti standard":

Inoltre, ciascuna sezione del programma presenta altri tipi di rapporti standard, ad esempio i rapporti sugli stipendi in 1C 8.3 sono archiviati nella sezione "Stipendi e personale/Rapporti sugli stipendi".

In ogni report esiste la possibilità di “personalizzazione aggiuntiva” del report, ovvero è possibile aggiungere o rimuovere alcuni campi aggiuntivi, aggiungere raggruppamenti, selezioni, ecc.

Consideriamo l'opzione di configurazione utilizzando l'esempio di aggiunta di un campo aggiuntivo al report standard "Bilancio del conto" (selezionare il conto 10). Per fare ciò, dal pulsante "Mostra impostazioni", vai su "Campi aggiuntivi", aggiungi un nuovo campo e nel modulo di selezione vai al campo di cui abbiamo bisogno, ad esempio, per riflettere il numero dell'articolo nel report, seleziona il Campo “Numero articolo”, che si trova all'interno del campo “Nomenclatura” (per espandere il campo è necessario cliccare su “+”):


Dopo aver fatto clic su "Genera", viene visualizzato il campo aggiuntivo che abbiamo selezionato.

Ad esempio, si consideri una situazione in cui il report richiede di includere l'intero elenco di elementi contenenti la parola "boot" nel nome. Cosa devo fare? Facendo clic su "Mostra impostazioni", vai alla scheda "Selezione", aggiungi un nuovo campo e nella finestra che appare, aprendo il campo "+" "Nomenclatura", seleziona "Nome".


Dopo aver generato il report, riceviamo una nomenclatura che contiene solo il valore che abbiamo specificato nel nome.

Generazione di report per documento

Nella sezione "Rapporti standard" è presente un rapporto universale che consente di visualizzare informazioni da oggetti di configurazione come:

  • Documento;
  • Elenco;
  • Registro dei cumuli;
  • Registro delle informazioni;
  • Registro di calcolo.

Diamo un'occhiata ad esempi di situazioni in cui un report aiuterà l'utente a non ricorrere allo sviluppo di report esterni, ma a utilizzare un meccanismo di impostazioni standard.

Ad esempio, dobbiamo generare un report che rifletterà tutti i beni ricevuti da una controparte specifica per un determinato periodo. Per fare ciò, nell'intestazione del rapporto, seleziona dall'elenco a discesa il tipo di oggetto – “Documento”, il tipo di oggetto – “Ricevuta (atti, fatture)”, e indica il tipo – “Merci”.




*Il campo Controparte inizialmente non è presente.

Nel campo “Tipo confronto” impostare “Uguale”, in “Valore” selezionare dalla directory la controparte desiderata.


Nella parte superiore del report, indica il periodo richiesto e genera il report.


Puoi salvare le impostazioni che abbiamo effettuato: per farlo clicca sul pulsante “Altro/Salva”.

Consideriamo una situazione in cui, per generare correttamente la rendicontazione regolamentata, è necessario verificare per documento tutti i movimenti del registro “Contabilità IVA separata”.

Per fare ciò, nell'intestazione del report, selezionare il tipo di oggetto dall'elenco a discesa - "Registro di accumulo", nel campo successivo selezionare il tipo di oggetto - "Contabilità IVA separata", nell'ultimo campo selezionare il tipo - "Saldi e fatturato”.

Affinché il report visualizzi le informazioni nel contesto dei documenti, fare clic sul pulsante "Mostra impostazioni" per accedere alle impostazioni del report, quindi alla scheda "Indicatori", aggiungere un nuovo campo e nella finestra visualizzata selezionare il pulsante " Campo “Registrar” (“Registrar” è il documento che contiene un movimento formatosi lungo il registro di cumulo). Per impostazione predefinita, il campo appena aggiunto si riflette in fondo all'elenco dei campi: utilizzando le "frecce blu" spostiamo il campo "Registrar" in cima all'elenco.


In questo articolo, abbiamo esaminato quali opzioni esistono per lavorare con il reporting in 1C Accounting 8, come utilizzare le impostazioni del report e quali informazioni possono essere ottenute utilizzando un report universale.

Consideriamo la creazione di un report esterno in 1C 8 senza utilizzare un sistema di composizione dei dati. Per creare un report esterno utilizzeremo la configurazione Contabilità 2.0, i dati iniziali: “Scrivi un report sul conto contabile 62 in cui verrà visualizzato il fatturato per il periodo specificato nel contesto Controparti E Contratti delle controparti.

1. Crea un rapporto

Innanzitutto creiamo un file di report esterno; per fare ciò portiamoci su 1s 8 nella modalità Configuratore, andiamo al menu File -> Nuovo oppure fare clic sull'icona nuovo documento.

Selezionare l'elemento dall'elenco Rapporto esterno. Dopo aver creato il report esterno, assegnagli un Nome (ad esempio Rapporto più semplice) e salvarlo su disco. Aggiungeremo anche due dettagli: Inizio periodo E Fine del periodo tipo data, ne avremo bisogno per limitare l'intervallo di tempo per il campionamento dei dati durante la generazione di un report.

2. Creare un layout di report esterno

Per generare un report in 1C 8, è necessario un layout, si tratta di un modello per la visualizzazione dei dati in cui sono impostati tutti i parametri necessari, vengono disegnate tabelle, ecc. Aggiungiamo un nuovo layout; per fare ciò, selezioniamo l'elemento nell'albero dei metadati del report Layout e premere il pulsante Aggiungere, durante la creazione, seleziona la tipologia per il layout documento di foglio di calcolo.

Il nostro layout avrà 4 aree:

  • Intestazione - in quest'area visualizzeremo il nome del report, il periodo per il quale è stato generato e l'intestazione della tabella;
  • Dati della controparte: in quest'area visualizzeremo i dati della controparte in una tabella;
  • DatiAccordo controparte - in quest'area visualizzeremo i dati sull'accordo della controparte in una tabella;
  • Piè di pagina: in quest'area verranno visualizzati i valori totali dell'intero report per i campi Entrate e Uscite.

Iniziamo a creare aree di layout. Per creare un'area nel layout, selezionare il numero di righe richiesto e fare clic Tabella menu -> Nomi -> Assegna nome(O Ctrl+Maiusc+N). Alla regione Un berretto Scriviamo il nome del report: Fatturato 62 conteggi, disegna utilizzando lo strumento frontiere intestazione del report e impostare anche i parametri Inizio periodo E Fine del periodo. Utilizzando i parametri è possibile visualizzare i dati necessari nel report; di questo ci occuperemo nella fase successiva di sviluppo, ovvero durante la scrittura del codice del report. Per creare un parametro nel layout, selezionare la cella desiderata, scrivere al suo interno il nome del parametro (senza spazi), cliccarci sopra con il tasto destro, selezionare la voce nel menu che si apre Proprietà. Nelle proprietà della cella nella scheda Disposizione seleziona l'imbottitura Parametro.

Successivamente, il nome del parametro nella cella verrà racchiuso tra parentesi angolari("<>“). Di conseguenza, la zona Un berretto dovrebbe assomigliare a questo:

In zona Controparte Dati creeremo i parametri per la visualizzazione del nome della controparte, nonché per le entrate e le uscite per il conto 62, utilizzando lo strumento frontiere Progettiamo l'area come una riga di tabella.

In zona Accordo controparte dati Creiamo i parametri per visualizzare il nome del contratto, nonché per le entrate e le uscite per il conto 62, utilizzando lo strumento Bordi progetteremo l'area come una riga della tabella. Facciamo un piccolo rientro prima del parametro Contratto di controparte(questo può essere fatto dividendo e unendo le celle. Fare clic con il tasto destro sulla cella -> Unisci O Cella divisa), è necessario affinché la segnalazione possa vedere che la linea per il contratto è più bassa nella gerarchia rispetto alla linea per la controparte.

In zona Seminterrato Creiamo i parametri per i totali delle entrate e delle uscite.

Di conseguenza, dovremmo ottenere un layout come questo:

3. Creare un modulo di rapporto

Per visualizzare i dati, impostare il periodo di formazione e il pulsante Modulo il nostro rapporto richiederà un modulo. Per creare un modulo, individuare l'elemento nella struttura dei metadati del report esterno Forme e premere il pulsante Aggiungere. Nella prima pagina del progettista del modulo, non è necessario apportare alcuna modifica, è sufficiente fare clic sul pulsante Ulteriore.

Nella pagina successiva del designer, seleziona entrambi i dettagli disponibili ( Inizio periodo, Fine del periodo) per il posizionamento nel modulo.

Di conseguenza, otterremo questo modulo:

Ma non ci accontentiamo di questa forma; apportiamo alcune modifiche:

  • Trasciniamo il pulsante Modulo dal pannello inferiore del report verso l'alto (questo sarà più comodo per l'utente);
  • Allunga la forma verticalmente e orizzontalmente;
  • Sistemiamo i campi Inizio periodo E Fine del periodo orizzontalmente;
  • Aggiungiamo un elemento di controllo Campo documento foglio di calcolo al modulo (il nostro report verrà visualizzato al suo interno), diamogli un nome TabDoc;
  • Creiamo un pulsante di selezione del periodo (quando cliccato, apparirà una finestra di dialogo con una comoda scelta del periodo desiderato). Non scriveremo ancora il codice del programma, quindi posizioneremo semplicemente il pulsante accanto ai campi del punto.

Di conseguenza, il nostro modulo sarà simile a questo:

4. Programmazione

Dopo aver creato il modulo di report, iniziamo a programmare. Innanzitutto, creiamo una procedura per visualizzare una finestra di dialogo di selezione del periodo (abbiamo già creato un pulsante per questo nella fase precedente). Fare clic con il tasto destro sul pulsante e selezionare la voce di menu Proprietà, nelle proprietà del pulsante vai alla scheda Eventi, dove utilizzando il pulsante con l'icona della lente di ingrandimento creeremo una procedura Pulsante1Premere nel modulo del modulo.

Puoi passare dal modulo al relativo modulo utilizzando le schede nella parte inferiore del modulo

Per richiamare il modulo di selezione del periodo utilizzeremo la procedura standard Contabilità 2.0 da un modulo comune Utilizzo delle finestre di dialogo - HandlerPeriodSettingPress, è necessario trasmettergli i dettagli del report come parametri Inizio periodo E Fine del periodo.

Procedura Pulsante1Premere(Elemento) Utilizzo di Dialogs.PeriodSettingHandlerPressing(PeriodStart,PeriodEnd); Fine della procedura

Passiamo ora alla scrittura del codice che genererà e visualizzerà il nostro report. Il modulo del modulo ha già una procedura PulsanteGeneraPremi, che verrà eseguito alla pressione del pulsante Modulo, è lì che scriveremo il nostro codice. Iniziamo inizializzando le variabili necessarie. Prima di tutto, creiamo una variabile for campi del documento del foglio di calcolo in cui inseriremo i dati, questo non è necessario, è solo che la registrazione delle chiamate diventerà più breve, il che significa che il codice del programma sarà più comprensibile per la lettura.

TabDoc = FormElements.TabDoc;

Otteniamo il layout del report esterno utilizzando la funzione OttieniLayout(<ИмяМакета>) , passeremo il nome del layout come parametro e, se tale layout esiste, la funzione lo troverà.

Disposizione = GetLayout("Layout" );

Dopo aver ricevuto il layout, creiamo variabili per ciascuna delle sue aree, utilizziamo il metodo layout per questo OttieniArea(<ИмяОбласти>) .

AreaHeader = Layout.GetArea("Intestazione" ); AreaDataAccount = Layout.GetArea( "Dati contraente"); AreaDataContract = Layout.GetArea("DataContract" ); AreaFooter = Layout.GetArea("Piè di pagina");

Cancellamo il campo del documento del foglio di calcolo. Ciò è necessario affinché ogni volta che viene generato un nuovo report, i vecchi dati vengano cancellati.

TabDoc.Clear();

Ora che l'inizializzazione delle variabili è completata, passiamo a riempire e visualizzare una per una le aree del layout. Cominciamo con l'intestazione. Se ricordi, abbiamo creato due parametri in quest'area Inizio periodo E Fine del periodo, passeremo lì i valori del periodo di generazione del report, per questo utilizzeremo la proprietà Opzioni aree di disposizione.

AreaHeader.Parameters.PeriodStart = Inizio Periodo; AreaHeader.Parameters.EndPeriod = EndPeriod;

Niente più azioni con l'area Un berretto Il produttore non è necessario, quindi visualizzeremo il suo campo in un foglio di calcolo.

TabDoc.Output(AreaHead);

Successivamente, scriveremo una query nel database, con la quale prenderemo il fatturato dell'account 62 dal registro contabile Autoportante. Definiamo una variabile in cui verrà posizionata la nostra richiesta.

Richiesta = nuova Richiesta;

Prima di iniziare a scrivere il testo della richiesta, passiamogli i parametri necessari. Poiché stiamo scrivendo una richiesta di fattura 62 contabilità, quindi prima di tutto creeremo un parametro per essa

Request.SetParameter("Account62", Piani dei conti. Autoportante. Trova per codice("62" ));

È inoltre necessario inserire nella richiesta il periodo di generazione del report. Non dimenticare che disponiamo di dettagli di report speciali per il periodo di generazione e li passiamo come parametri.

Request.SetParameter("Inizio del periodo", Inizio del periodo); Request.SetParameter("Fine del periodo", Fine del periodo);

Iniziamo a scrivere il testo della query, lo faremo utilizzando il query designer. In molti tutorial scrivono che è necessario essere in grado di scrivere una query sia manualmente che utilizzando un costruttore, ma in pratica non è così. Nei compiti che un programmatore 1C affronta costantemente, la priorità è scrivere codice in modo rapido ed efficiente e quando si scrive manualmente una query nel database, questo è quasi impossibile da ottenere; trascorrerai molto tempo prezioso riproducendo correttamente tutte le strutture di query e trovare errori di battitura che hai fatto durante la scrittura, ecc. Pertanto, non perdere tempo cercando di scrivere query manualmente, ma utilizza il costruttore di query. Ti farà risparmiare tempo e ti consentirà di scrivere query complesse senza troppi sforzi. Per iniziare a scrivere il testo della richiesta, scriviamo in codice:

Richiesta.Testo = "" ;

Successivamente, posiziona il cursore tra le virgolette, fai clic con il pulsante destro del mouse e seleziona Costruttore richiesta. Si aprirà la finestra di progettazione della query.

Ora dobbiamo selezionare la tabella del database 1C 8 di cui abbiamo bisogno. Abbiamo bisogno di una tabella virtuale Rivoluzioni registro contabile Autoportante. Troviamolo sul lato sinistro della finestra del designer

Spostiamolo in zona Tabelle e iniziamo a compilare i parametri. Per tutte le tabelle di query virtuali esiste uno speciale set di parametri che consente di selezionare i dati necessari dalla tabella principale (nel nostro caso, la tabella principale Registro contabile Autoportante). Apriamo la finestra dei parametri della tabella virtuale.

Compiliamo i parametri per il periodo che abbiamo passato alla richiesta. Per utilizzare un parametro nel testo della richiesta, è necessario scrivere il simbolo prima del suo nome e commerciale(&)

Resta da compilare la condizione per il conto contabile. contabilità. Per fare ciò, trova la riga nei parametri della tabella virtuale Condizione del conto e scriveremo lì

Conto IN GERARCHIA (&Conto62)

Puoi anche utilizzare il costruttore delle condizioni facendo clic sul pulsante con tre punti.

Non è necessario imporre ulteriori condizioni al tavolo virtuale, quindi clicchiamo sul pulsante OK nella finestra dei parametri della tabella virtuale. Successivamente, dobbiamo selezionare i campi di cui abbiamo bisogno dalla tabella Autoportante. Fatturato(vale a dire: Controparte, contratto di controparte, entrate e spese). Per visualizzare l'elenco dei campi disponibili nella tabella che abbiamo selezionato, fare clic sul simbolo “+” accanto al suo nome. Successivamente, trascina i campi richiesti nell'area più a destra del Designer query, chiamata: Campi. Se apriamo il piano dei conti, vedremo quello per il conto 62 analisi su Per la controparte si tratta del Subconto1, e da Contratto di Controparte – Subconto2.

Pertanto, dai campi della tabella virtuale selezioniamo Sottoconto1 E Sottoconto2. Poiché abbiamo bisogno di entrate e uscite in base all'importo, selezioniamo anche i campi Importo FatturatoDt E Importo FatturatoKt

Compiliamo gli alias dei campi che abbiamo selezionato; per farlo andiamo sulla scheda Unioni/Alias e impostare i nomi dei campi richiesti.

Poiché nel nostro report i dati verranno visualizzati gerarchicamente (la Controparte è al primo livello e tutti i suoi contratti al secondo), configureremo la visualizzazione dei dati nella gerarchia utilizzando Totali. Andiamo alla scheda nel designer Risultati. Trascinare in sequenza nei campi di raggruppamento Controparte E Contratto di controparte, e in finale In arrivo E Consumo.

Questo completa il lavoro nel costruttore della query, fai clic sul pulsante OK e vediamo che il testo della nostra richiesta appare nel codice del programma.

Query.Text = "SELEZIONA | Autoportante Fatturato.Subconto1 AS Controparte, | Contratto Autoportante Fatturato.Subconto2 AS Controparte, | Autosufficiente Fatturato.Importo FatturatoDt AS Ricevuta, | Fatturato autosufficiente.Importo FatturatoKt AS Spese|DA | Registro contabile Autocontabilità Fatturati (&Inizio periodo, &Fine periodo, Conto IN GERARCHIA (&Conto 62),) AS Autocontabilità Fatturato|RISULTATI | IMPORTO(Entrate), | IMPORTO(Spese) |PO | Controparte, | Contratto di controparte";

Dopo che abbiamo finito di scrivere la richiesta, iniziamo a compilare le aree Controparte Dati, Controparte dell'Accordo sui dati E Seminterrato. Completeremo tutte queste aree con i dati ricevuti in fase di esecuzione della richiesta. Poiché la nostra query contiene raggruppamenti( Controparte E Contratto di controparte) seleziona i dati da esso come segue:

SelectionCounterpart = Request.Execute().Select(BypassQueryResult.ByGrouping);

In questo modo riceveremo i record con i totali per tutte le controparti.

Prima di attraversare i dati del campione utilizzando un ciclo, inizializziamo le variabili destinate al calcolo dei risultati complessivi per il report:

Totale entrate = 0; Consumo totale = 0;

Affinché i dati del report vengano visualizzati con una gerarchia (e rotazioni lungo il “+”), impostiamo l'inizio del raggruppamento automatico delle righe del documento foglio di calcolo:

TabDoc.StartAutoGroupingRows();

Tutti i preparativi sono completati, ora iniziamo a scansionare i risultati della query. Eseguiremo l'attraversamento utilizzando un loop Ciao

Mentre Seleziona Account.Next() Ciclo EndCycle ;

All'inizio del ciclo reimpostare i parametri In arrivo E Consumo regione Controparte Dati. Cosa serve? Immaginiamo una situazione in cui la controparte Zio Vasja, il reddito è 10 e la spesa è 5, e per la controparte successiva Zio Petya non c'è entrata né uscita, in questo caso, se non si ripristinano i parametri In arrivo E Consumo, quindi in linea per controparte Zio Petya ci sarà un reddito di 5 e una spesa di 10.

AreaDataAccount.Parameters.Receipt = 0; AreaDataAccount.Parameters.Expense = 0;

Successivamente riempiamo l'area Controparte Dati dati dell'elemento campione

FillPropertyValues(AreaAccountData.Parameters,SelectionAccount);

Dopo aver inserito i dati è possibile visualizzare l'area in documento di foglio di calcolo, Poiché stiamo utilizzando il raggruppamento automatico delle righe, dobbiamo indicare il livello della riga nel raggruppamento (il nostro report avrà due livelli, per le controparti il ​​primo per i contratti).

TabDoc.Output(AreaDataAccount,1);

Ora per questa controparte faremo una selezione in base ai suoi contratti.

Accordo SelectionCounterparty = SelectionCounterparty.Select(BypassQueryResult.ByGroups);

Eseguiremo l'attraversamento utilizzando un loop Ciao.

While SelectionCounterparty Agreement.Next() Loop EndCycle ;

Nel ciclo degli accordi con le controparti, ripristiniamo i parametri In arrivo E Consumo, riempire l'area Contratto dati dal campione e visualizzarlo in un foglio di calcolo al secondo livello di record.

AreaDataContract.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0; CompilaPropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2);

Anche in questo ciclo aggiungeremo i valori attuali alle variabili per il calcolo dei valori totali di entrate e uscite.

Ricevuta Totale = Ricevuta Totale + SelezioneControparteAgreement.Ricevuta; Spesa totale = Spesa totale + Contratto campione della controparte. Spesa;

Questo conclude l'output dei dati nell'area Controparte Dati, Controparte dell'Accordo sui dati completato, non resta che completare il raggruppamento automatico delle righe del documento del foglio di calcolo.

TabDoc.FinishAutoGroupingRows();

Cicli completi responsabili dell'output dei dati nell'area Controparte Dati E Controparte dell'Accordo sui dati Assomiglia a questo:

TabDoc.StartAutoGroupingRows(); Mentre SelectionAccount.Next() Ciclo AreaDataAccount.Parameters.Receipt = 0 ; AreaDataAccount.Parameters.Spesa = 0; FillPropertyValues(AreaAccountData.Parameters,SelectionAccount); TabDoc.Output(AreaDataAccount,1); Accordo SelectionCounterparty = SelectionCounterparty.Select(BypassQueryResult.ByGroups); Mentre SelectionCounterparty Agreement.Next() Ciclo AreaDataAgreement.Parameters.Receipt = 0 ; AreaDataContract.Parameters.Expense = 0; CompilaPropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2); Ricevuta Totale = Ricevuta Totale + SelezioneControparteAgreement.Ricevuta; Spesa totale = Spesa totale + Contratto campione della controparte. Spesa; FineCiclo; FineCiclo; TabDoc.FinishAutoGroupingRows();

Resta da visualizzare i dati definitivi della zona Seminterrato e invia in output l'area stessa documento di foglio di calcolo.

AreaBasement.Parameters.TotalIncoming = Totale in entrata; AreaBasement.Parameters.TotalConsumption = Consumo totale; TabDoc.Output(AreaFooter);

Ciò completa il processo di scrittura di un rapporto esterno per 1C 8 senza utilizzare un sistema di controllo degli accessi. Ora può essere generato in modalità 1C:Enterprise 8 e aggiunto alla directory Elaborazione esternaÈ possibile scaricare il file del report discusso nell'articolo da .

Guarda un video sulla creazione di un stampabile esterno per un'applicazione gestita:

Accedi al sito come studente

Sistema di composizione dati 1C 8.3 per principianti: primo rapporto su SKD

Se non hai letto l'introduzione a questo modulo, leggila: .

Per completare le lezioni ti serviranno 1C 8.3 (non inferiore 8.3.13.1644 ) .

Se hai già installato 1C versione 8.3, usala. In caso contrario, scarica e installa la versione didattica, che 1C produce appositamente per scopi didattici: .

Sul desktop dovrebbe apparire il seguente collegamento:

Per tutte le lezioni di questa serie utilizzeremo il database Gastronom che ho preparato. Coincide completamente con la base che abbiamo utilizzato nei moduli scolastici durante lo studio delle query. Pertanto, mi aspetto che tu abbia familiarità con i suoi libri e documenti di riferimento.

Se lo hai eliminato, scaricalo di nuovo utilizzando quello seguente, decomprimilo e aggiungilo all'elenco dei database.

Infine, il workbench è impostato e ora creeremo insieme il nostro primo report utilizzando il sistema di composizione dei dati. Sarà molto semplice dimostrare le capacità generali di un sistema di composizione dati (abbreviato SKD).

Stabilire un obiettivo

Scopo di questa lezione- creare un report che, in modalità utente, visualizzi un elenco di clienti con i seguenti campi:

  • Nome
  • Pavimento
  • Il colore preferito del cliente.

La relazione deve essere esterna. Ciò significa che verrà creato e configurato nel configuratore e quindi salvato come file separato (esterno) sul computer.

Per generare tale rapporto in 1C, l'utente dovrà avviare il database in modalità utente, aprire questo file e fare clic sul pulsante "Genera".

Andare!

Creazione di un rapporto

Lanciamo il configuratore per il database Gastronom:

Dal menu principale selezionare "File" -> "Nuovo...":

Seleziona "Rapporto esterno":

Creazione di un diagramma di layout dei dati all'interno del report

Si apre la finestra per la creazione di un report esterno. Per il nome inserire: " Lezione 1", quindi premere il pulsante " Aprire il diagramma di composizione dei dati":

La finestra di progettazione della creazione dello schema è stata avviata. Siamo d'accordo con il nome predefinito" Schema di layout dei dati principali" e premi il pulsante " Pronto":

Si è aperta la finestra di lavoro principale, con molte schede e campi, in cui configureremo il nostro schema di layout dei dati.

Non c’è bisogno di spaventarsi: ci sono davvero molte opportunità qui, ma non ne abbiamo bisogno tutte. Soprattutto nella prima lezione.

Ora siamo sul segnalibro " Set di dati"Restiamo lì."

Scriviamo una richiesta tramite il costruttore

Il sistema di composizione dei dati (abbreviato in DCS) ce lo impone dati, che verrà visualizzato all'utente.

La via più facile - scrivere una richiesta alla base. A scuola abbiamo imparato a scrivere e comprendere le richieste, quindi mi aspetto che tu abbia le competenze adeguate.

Clicca su verde segno più e nell'elenco a discesa selezionare la voce " Aggiungi set di dati - Query":

Il nostro compito è scrivere il testo della richiesta in questo campo. Hai già dimenticato come farlo?

Ti do un suggerimento:

In questa query abbiamo selezionato tre campi (" Nome", "Pavimento" E " Colore preferito") dalla tabella" Directory.Client".

Ma non affrettarti a scrivere manualmente questo testo nel campo “Richiesta”.

Ora creeremo visivamente la stessa richiesta, utilizzando solo il mouse. Questo metodo si chiama " Costruttore di query".

Per chiamare questo costruttore, fare clic sul pulsante " Costruttore di query..." nella parte in alto a destra del campo "Richiesta":

Nella finestra che si apre trascina la tabella " Clienti" dalla prima colonna alla seconda per indicare che è da questa tabella che interrogheremo i dati:

È risultato così:

Successivamente, apriremo il tavolo " Clienti"nella seconda colonna per segno" Più"per vedere tutti i suoi campi e trascinare il campo" Nome" dalla seconda colonna alla terza per indicare che da questa tabella dobbiamo interrogare il campo "Nome":

È risultato così:

Facciamo lo stesso con i campi" Pavimento" E " Colore preferito". Il risultato sarà così:

Fare clic sul pulsante "OK" per uscire dal generatore di query e vedere che il testo della query viene automaticamente aggiunto al campo "Query".

Inoltre, in base al testo della richiesta, 1C stessa ha estratto i nomi dei campi (l'area sopra la richiesta) che verranno utilizzati dallo schema di composizione dei dati:

Ora che abbiamo compilato una richiesta, l'ACS sa come ottenere i dati per il report.

Impostazione della presentazione dei dati

Rimane in qualche modo visualizzare questi dati per l'utente sotto forma di modulo stampato. Ed è qui che ACS può fare miracoli!

Per creare un tale miracolo, andiamo alla scheda " Impostazioni" e fare clic sul pulsante di progettazione delle impostazioni ( bacchetta magica):

Nella finestra che si apre, specificare il tipo di rapporto " Elenco" e premi " Ulteriore":

Nella finestra successiva, seleziona (trascinando) i campi che desideriamo visualizzare nell'elenco (trascina tutti quelli a nostra disposizione: " Colore preferito", "Nome" E " Pavimento"):

Otteniamo questo risultato e premiamo il pulsante " OK":

Il designer delle impostazioni si è chiuso e l'elemento " Voci dettagliate":

Il rapporto è pronto, controlliamolo. Per fare ciò, salvare prima il report come file esterno.

Salvare il rapporto come file

Aprire la voce del menu principale " File"->"Salva":

Lo salvo sul desktop con il nome " Lezione 1":

Controllo del report in modalità utente

Infine chiudiamo il configuratore e portiamoci nel nostro database in modalità utente:

Nome utente "Amministratore", nessuna password:

Attraverso il menù selezionare la voce " File"->"Aprire...":

E specifica il file del rapporto (l'ho salvato sul desktop con il nome "Lesson1.erf":

Il modulo di segnalazione si è aperto, fare clic sul pulsante " Modulo":

Pronto! Ecco il nostro stampabile con un elenco di clienti, il loro colore preferito e il sesso:

Il modulo stampabile può essere facilmente stampato. Per fare ciò basta selezionare la voce " File"->"Foca...":

Proprio così, senza programmazione, siamo riusciti a creare un report completo che gli utenti possono aprire nei loro database, generare e stampare.

studenti - rispondo via mail, ma prima guarda.

Accedi al sito come studente

Accedi come studente per accedere ai materiali scolastici

I report 1C 8.3 sono uno speciale oggetto di metadati progettato per creare una presentazione intuitiva dei dati dalle tabelle del database 1C.

Scopriamolo come impostare i report, a cosa servono, in che modo i report esterni differiscono da quelli integrati e in che modo i report differiscono dall'elaborazione.

Per creare o personalizzare un report, è necessario conoscere le funzionalità integrate e . Qualunque cosa si possa dire, la base per la creazione di quasi tutti i report è la query iniziale che riceve i dati. Elaboriamo questi dati e li mostriamo in un formato user-friendly.

I report sono la cosa principale in qualsiasi sistema informativo, quindi 1C ha prestato molta attenzione allo sviluppo dei report e ha creato un gran numero di progettisti e meccanismi per crearli.

Diamo un'occhiata ai metodi di base per la creazione di report

Come creare un report in 1C utilizzando un layout

Creare utilizzando un layout è il modo più di routine. Tuttavia, spesso vi ricorrono per disperazione, perché... in questo metodo, lo sviluppatore scrive completamente ogni azione nel codice, il che significa che possiamo fare qualsiasi cosa. Altri meccanismi non possono vantarsene.

Ma in questo caso, tutti gli elementi, i menu e gli altri "archi" dovranno essere inseriti manualmente, il che richiede molto lavoro.

Ottieni 267 lezioni video su 1C gratuitamente:

Creazione di un report utilizzando la progettazione del modulo di output

La finestra di progettazione del modulo di output è un meccanismo integrato nella piattaforma che semplifica lo sviluppo dei report. Il designer è disponibile solo per i moduli regolari.

Al progettista viene fornita la richiesta e tutti i parametri necessari per il futuro report e lui, a sua volta, genera moduli e moduli di report. Il meccanismo si basa su un oggetto del linguaggio integrato 1C 8.2 - Generatore di report.

Creazione di un report utilizzando Report generico

Il report universale ha ottime funzionalità, una comoda interfaccia di impostazione familiare all'utente:

Report basati sul Data Composition System

Questo è il metodo più progressivo per creare report in 1C, consigliato da 1C stesso. è apparso nella piattaforma 1C nella versione 8.1.

SKD ti consente di creare report semplici senza alcuna linea di programmazione, perché dispone di un costruttore molto flessibile e funzionale per creare uno schema di composizione dei dati:

In tutte le configurazioni recenti, tutti i report vengono scritti utilizzando un sistema di composizione dei dati.

Qual è la differenza tra i report esterni e quelli integrati?

Come è scritto nella documentazione, niente. Il meccanismo di reporting esterno è stato creato per eseguire il debug dei report durante lo sviluppo.

L'unica differenza quando si sviluppa una soluzione è che non è possibile accedere a un report esterno “per nome”, a differenza di un report integrato.

In cosa differisce un report dall'elaborazione?

In realtà, praticamente nulla. La differenza principale è lo scopo dell'utilizzo dell'oggetto: i report sono necessari per visualizzare le informazioni e i report sono necessari per modificare le informazioni.

Le principali differenze nelle proprietà: nei report è possibile specificare lo schema di composizione dei dati di base (DCS) e specificare le impostazioni per il salvataggio dei parametri del report.

La necessità di personalizzare la reportistica esterna può sorgere in caso di tempestive modifiche ai corrispondenti moduli di reporting. Dopotutto, gli enti governativi che approvano i moduli pertinenti non sempre tengono conto del fatto che le imprese hanno bisogno di tempo per preparare il modulo di rendicontazione. Autore - S.A. Kharitonov.

Nelle configurazioni standard per 1C:Enterprise 8, prodotte da 1C, i moduli di segnalazione regolamentati sono inclusi nelle configurazioni e vengono rilasciati insieme ai rilasci di configurazione. Tuttavia, in caso di necessità - ad esempio quando entra in vigore una nuova edizione del modulo di segnalazione - la società 1C rilascia tali moduli di segnalazione sotto forma di rapporti esterni "1C: Enterprise 8" (file con estensione *.erf).

L'uso di report esterni è una soluzione temporanea che dovrebbe essere utilizzata solo fino al rilascio di una versione di configurazione in cui verranno integrate le modifiche necessarie. Pertanto, vengono imposte alcune restrizioni all'uso di report esterni:

  • nel rilasciare un report esterno viene specificato con quale release di configurazione può essere utilizzato;
  • non è garantito che il report esterno supporti i rilasci di configurazione precedenti;
  • quando un utente sta lavorando con una configurazione, non può essere utilizzata più di una versione di un report esterno;
  • l'apertura di un modulo di report richiede più tempo rispetto ad un report implementato come oggetto di configurazione;
  • il caricamento dei dati del report in formato elettronico è molto più lento, ecc.

Un elenco di report esterni emessi per una versione di configurazione specifica può essere visualizzato nella pagina di configurazione del sito di supporto utente di 1C:Enterprise 8 all'indirizzo www.users.v8.1c.ru (nella sezione Informazioni gratuiteè necessario cliccare sul numero di interesse nella colonna con i numeri di versione) o nel modulo Aggiorna informazioni(chiamato tramite pulsante Aggiorna informazioni divisa della migliore squadra ), se nella base informativa è abilitato il servizio di allerta segnalazioni regolamentate.

Nello stesso modulo puoi cliccare sul nome del report esterno per scaricarlo sul tuo computer.

Di norma, i report vengono distribuiti sotto forma di archivio RAR. Per lavorare con un report esterno, l'archivio deve essere decompresso.

L'archivio, insieme al file di report esterno, contiene un file di testo che descrive lo scopo del report e come collegarlo.

Se un report esterno è destinato a sostituire un report regolamentato già esistente nella configurazione, è possibile collegarlo all'infobase semplicemente aprendo il report in modalità 1C:Enterprise (menu File - Apri).

Una volta aperto ti verrà posta una domanda Registrare un report regolamentato esterno nella base informativa? Dopo la risposta il report esterno verrà registrato nell'infobase e immediatamente aperto per creare un nuovo report.

Se rispondi NO, il report non verrà registrato, ma verrà anche aperto per creare un nuovo report. Sarà possibile eseguire tutte le azioni con tale report - creazione, compilazione, stampa - ma il report creato non potrà essere salvato nell'infobase.

Se il report esterno è un nuovo tipo di report regolamentato, il report non potrà registrarsi automaticamente nell'infobase: questa modalità dovrà essere abilitata manualmente. Le istruzioni per la connessione sono disponibili anche nel file di testo contenuto nell'archivio ottenuto dal sito 1C.

Per utilizzare un report esterno, l'utente deve indicare che per questo report regolamentato non verrà utilizzato un oggetto di configurazione interna, ma un report esterno.

Per registrare un report esterno come nuovo tipo di report regolamentati nella directory Rapporti regolamentati necessario (vedi Fig. 1):

1) andare al gruppo di directory in cui si troverà il nuovo tipo di report;
2) creare un nuovo elemento della directory facendo clic sul pulsante Aggiungere nel pannello di comando superiore del modulo directory;
3) sotto forma di elemento di directory, inserire il nome che verrà rilasciato nella directory Rapporti regolamentati e nell'elenco dei tipi di report del modulo Reporting regolamentare e finanziario. Si consiglia inoltre di compilare una descrizione della tipologia di segnalazione;
4) interruttore Utilizzo impostare su file e specificare quale file deve essere utilizzato come report esterno. Dopo aver premuto il pulsante OK nella finestra di dialogo di apertura file, il nome completo di questo report esterno verrà indicato nel campo file del modulo dell'elemento dizionario.

Riso. 1. Registrare un report esterno

Dopo aver premuto il pulsante Scrivi il report esterno viene salvato nell'infobase, dopodiché il nome completo del file esterno viene sostituito con del testo Il rapporto è stato caricato su IB.

La stessa cosa accade quando si preme un pulsante OK, mentre la forma dell'elemento directory Rapporti regolamentati chiude.

Per gli elementi della directory per i quali vengono utilizzati report esterni, dopo il nome del report viene aggiunta la riga (external) sotto forma di elenco di directory.

Dopo che il report esterno è stato caricato nell'infobase, il file del report esterno stesso non è più necessario e può essere eliminato.

Lavorare con un report regolamentato che utilizza un report esterno non è diverso dal lavorare con un oggetto di configurazione, ad eccezione della “risposta lenta” all'apertura e al download dei dati del reporting in formato elettronico.

Come segno di una segnalazione esterna, sul lato destro del pannello di comando superiore viene visualizzata un'iscrizione informativa rossa Rapporto esterno.

Puoi tornare a utilizzare l'oggetto di configurazione "interno" in qualsiasi momento. Per fare ciò, sotto forma di un elemento di directory per il rapporto regolamentato richiesto, è necessario selezionare l'interruttore Utilizzo posizionare un oggetto e salva l'elemento della directory.

Il report esterno in sé non viene eliminato dall'infobase, quindi è possibile anche l'azione opposta. Per eliminare un report dall'infobase, è necessario effettuare le seguenti operazioni:

1) nella rubrica Rapporti regolamentati trovare un report regolamentato a cui è collegato un report esterno: tale report avrà una riga (esterna) aggiunta dopo il nome del report;
2) aprire l'elemento della directory per la modifica con il pulsante Cambia l'elemento corrente;
3) nel campo di selezione del report esterno cliccare sul pulsante X (Cancella). Dopo averlo premuto, il testo Il rapporto è stato caricato su IBè deselezionato, questo è un segno che il report verrà eliminato dall'infobase;
4) chiudere il modulo dell'elemento della directory facendo clic sul pulsante OK.

Il report viene eliminato durante il salvataggio dell'elemento della directory.

Se necessario, il report caricato nell'infobase può essere salvato in un file su disco. Per fare ciò, sotto forma di un elemento di directory Rapporti regolamentatiè necessario fare clic sul collegamento con il testo Carica il report esterno in un file. Si aprirà una finestra di dialogo standard per il salvataggio del file. Per impostazione predefinita, il nome del file è il nome dell'oggetto di configurazione corrispondente.

È importante notare che in una sessione utente con una infobase non è possibile utilizzare più di una versione di un report esterno: ad esempio, se l'utente sta già lavorando con un report regolamentato, che è un report esterno, e lo ha caricato in la directory Rapporti regolamentati un'altra versione di questo report esterno (ad esempio, con il completamento automatico aggiunto), per utilizzare questa versione del report è necessario terminare la sessione in modalità 1C:Enterprise e quindi avviare immediatamente una nuova sessione.