Come configurare smartphone e PC. Portale informativo
  • casa
  • Errori
  • 1c 8.3 report esterno per il documento. Aggiunta di un report esterno al database

1c 8.3 report esterno per il documento. Aggiunta di un report esterno al database

Considera 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 su 62 conti contabili in cui verranno visualizzati i fatturati per il periodo specificato nel contesto Controparti e Accordi con gli appaltatori.

1. Crea un rapporto

Prima di tutto, creeremo un file di report esterno, per questo andiamo a 1c 8 nella modalità Configuratore, vai al menù File -> Nuovo, oppure clicca sull'icona nuovo documento.

Nell'elenco, seleziona l'elemento Rapporto esterno... Dopo aver creato il report esterno, assegnagli un Nome (ad esempio Rapporto più semplice) e salvarlo su disco. Aggiungeremo anche due oggetti di scena: Inizio del periodo e Fine del periodo genere Data, saranno necessari per limitare l'intervallo di tempo per il campionamento dei dati durante la generazione di un report.

2. Creazione di un layout per un report esterno

Per generare un report in 1c 8, è necessario un layout, questo è un modello per l'output dei dati in cui sono impostati tutti i parametri necessari, vengono disegnate le tabelle, ecc. Aggiungiamo un nuovo layout, per questo, nell'albero dei metadati del report, seleziona l'elemento layout e premere il pulsante Aggiungere, durante la creazione selezioniamo il tipo per il layout Foglio di calcolo.

Il nostro layout avrà 4 aree:

  • Intestazione - in quest'area verrà visualizzato il nome del report, il periodo per il quale è stato generato e l'intestazione della tabella;
  • DataContractor - in quest'area verranno visualizzati i dati sulla controparte nella tabella;
  • Dati contratto appaltatore - in quest'area verranno visualizzati i dati sul contratto di controparte nella tabella;
  • Seminterrato: in quest'area verranno visualizzati i totali per l'intero report per i campi Entrate e Uscite.

Iniziamo a creare le aree di layout. Per creare un'area nel layout, selezionare il numero di righe richiesto e premere Menu Tabella -> Nomi -> Assegna nome(O Ctrl + Maiusc + N). Alla zona Cap scrivi il nome del rapporto: Fatturato 62 conti, disegniamo con lo strumento frontiere intestazione del report, oltre a impostare i parametri Inizio del periodo e Fine del periodo... Utilizzando i parametri, è possibile visualizzare i dati necessari nel report, ci occuperemo di questo nella fase successiva dello sviluppo, ovvero durante la scrittura del codice del programma del report. Per creare un parametro nel layout, selezionare la cella desiderata, scrivere al suo interno il nome del parametro (senza spazi), fare clic destro su di esso, selezionare la voce nel menu che si apre Proprietà... Nelle proprietà della cella su un segnalibro Disposizione seleziona riempimento Parametro.

Successivamente, il nome del parametro nella cella verrà racchiuso tra parentesi angolari ("<>“). Di conseguenza, l'area Cap dovrebbe assomigliare a questo:

Nell'area di Data Contractor creeremo i parametri per la visualizzazione del nome della controparte, nonché per le entrate e le spese per 62 conti, utilizzando lo strumento frontiere Organizziamo l'area sotto forma di una riga di tabella.

Nell'area di Accordo del contraente dei dati creeremo parametri per la visualizzazione del nome del contratto, nonché per le entrate e le spese sul conto 62, utilizzando lo strumento Bordi, organizzeremo l'area sotto forma di una riga di tabella. Facciamo un piccolo rientro davanti al parametro Contratto dell'Appaltatore(Questo può essere fatto dividendo e unendo le celle. Fare clic con il tasto destro su una cella -> Combinare o Rompi la cella), è necessario affinché nella relazione si possa vedere che la riga nell'ambito del contratto è inferiore nella gerarchia rispetto alla riga per la controparte.

Nell'area di Seminterrato Creiamo i parametri per i totali di entrate e uscite.

Di conseguenza, dovremmo ottenere un layout come questo:

3. Creazione di un modulo di rapporto

Per l'output dei dati, impostazione del periodo di formazione e dei pulsanti Dare forma il nostro rapporto avrà bisogno di un modulo. Per creare un modulo, trova l'elemento nell'albero dei metadati del report esterno Forme e premere il pulsante Aggiungere... Nella prima pagina del form designer, non è necessario apportare modifiche, è sufficiente fare clic sul pulsante Ulteriore.

Nella pagina successiva del costruttore, selezioneremo entrambi gli oggetti di scena disponibili ( Inizio del periodo, Fine del periodo) per l'inserimento nel modulo.

Di conseguenza, otteniamo la seguente forma:

Ma in questa forma, non ci soddisfa, apporteremo alcune modifiche:

  • Trascina il pulsante Dare forma dal riquadro in basso del report a quello in alto (questo sarà più conveniente per l'utente);
  • Allunga la forma verticalmente e orizzontalmente;
  • Disporre i campi Inizio del periodo e Fine del periodo orizzontalmente;
  • Aggiungi al modulo un elemento di controllo Campo di un foglio di calcolo (il nostro rapporto verrà visualizzato in esso), assegnagli un nome TabDoc;
  • Creiamo un pulsante per la selezione di un periodo (quando lo premi, verrà visualizzata una finestra di dialogo con una comoda scelta del periodo richiesto). Non scriveremo ancora il codice del programma per esso, quindi posizioneremo semplicemente il pulsante accanto ai campi del periodo.

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

4. Programmazione

Dopo aver creato il modulo di report, iniziamo a programmare. Per cominciare, creeremo una procedura per visualizzare la finestra di dialogo di selezione del periodo (abbiamo già creato un pulsante per questo nel passaggio precedente). Fare clic con il pulsante destro del mouse 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, creare una procedura Pulsante 1 Premere nel modulo modulo.

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

Per chiamare il modulo di selezione del periodo utilizzeremo la procedura standard Contabilità 2.0 dal modulo generale Lavorare con le finestre di dialogo - HandlerSettingPeriodPressing, devi passare i dettagli del rapporto come parametri Inizio del periodo e Fine del periodo.

Procedura Pulsante 1 Premere (Elemento) WorkingWith Dialogues.HandlerPeriodSettingPressing (PeriodBeginning, PeriodEnd); Fine della procedura

Passiamo ora alla scrittura del codice che genererà e visualizzerà il nostro report. C'è già una procedura nel modulo modulo PulsanteFormaPress che verrà eseguito quando si preme il pulsante Dare forma, è lì che scriveremo il nostro codice. Iniziamo inizializzando le variabili richieste. Prima di tutto, creiamo una variabile per campi del documento del foglio di calcolo in cui emetteremo i dati, questo non è necessario, solo la registrazione delle chiamate ad esso sarà più breve, il che significa che il codice del programma sarà più comprensibile per la lettura.

TabDoc = Elementi del modulo.TabDoc;

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

Layout = Ottieni layout ("Layout");

Dopo che il layout è stato ricevuto, creeremo variabili per ciascuna delle sue aree, utilizzeremo il metodo di layout per questo OttieniArea (<ИмяОбласти>) .

AreaHeat = Layout.GetArea ("Intestazione"); ScopeDataContractor = Layout.GetScope ( "Appaltatore dati"); ScopeDataContract = Layout.GetScope ("ContractData"); AreaFooter = Layout.GetArea ("Piè di pagina");

Svuotiamo il campo del documento del foglio di calcolo. Ciò è necessario affinché ad ogni nuova generazione del report i vecchi dati vengano cancellati.

TabDoc.Clear ();

Ora che l'inizializzazione delle variabili è terminata, passiamo al riempimento e alla visualizzazione alternati di aree del layout. Cominciamo dal tappo. Se ricordi, abbiamo creato due parametri in quest'area. Inizio del periodo e Fine del periodo, trasferiremo lì i valori del periodo di generazione del rapporto, per questo utilizzeremo la proprietà Parametri area del layout.

AreaHead.Parameters.PeriodStart = PeriodStart; AreaHead.Parameters.EndPeriod = EndPeriod;

Niente più azioni nell'area Cap il produttore non è necessario, quindi mostriamo il suo campo nel documento del foglio di calcolo.

TabDok.Display (AreaHap);

Successivamente, scriveremo una query nel database, con la quale prenderemo i fatturati sul conto 62 dal registro contabile Autoportante... Definiamo una variabile in cui si troverà la nostra richiesta.

Richiesta = nuova richiesta;

Prima di iniziare a scrivere il testo della richiesta, gli passiamo i parametri richiesti. Dal momento che stiamo scrivendo una richiesta di fattura 62 contabilità, quindi prima di tutto creeremo un parametro per esso

Request.SetParameter ("Account62", Account Plans. Self-supporting.FindByCode ("62"));

È inoltre necessario trasferire alla richiesta il periodo di generazione del report. Non dimenticare che per il periodo di formazione abbiamo dettagli speciali del rapporto e li passiamo come parametri.

Request.SetParameter ("PeriodBeginning", PeriodBeginning); Request.SetParameter ("EndPeriod", EndPeriod);

Iniziamo a scrivere il testo della richiesta, lo faremo usando il costruttore di query. 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 sono costantemente affrontati dal programmatore 1C, la priorità è scrivere codice in modo rapido ed efficiente e quando si scrive manualmente una richiesta al database, questo è quasi impossibile da ottenere, trascorrerai molto tempo prezioso cercando di farlo correttamente riprodurre tutti i costrutti di query, trovare errori di battitura che hai fatto durante la scrittura, ecc. Pertanto, non perdere tempo a provare a scrivere query manualmente, ma usa il costruttore di query. Ti farà risparmiare tempo e ti consentirà di scrivere query complesse senza sforzo. Per iniziare a scrivere il testo della richiesta, scrivi nel codice:

Richiesta.Testo = "";

Dopodiché, posiziona il cursore tra le virgolette, premi il tasto destro del mouse e seleziona la voce Costruttore richiesta. Si aprirà la finestra di progettazione query.

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

Spostiamolo in zona tabelle e inseriamo i parametri. Per tutte le tabelle di interrogazione virtuali esiste un apposito set di parametri che permette di selezionare i dati desiderati dalla tabella principale (nel nostro caso la tabella principale Registro Contabile Autoportante). Apriamo la finestra dei parametri della tabella virtuale.

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

Resta da compilare la condizione per l'account bukh. contabilità. Per fare ciò, troveremo nei parametri della tabella virtuale la riga Condizioni dell'account e scrivi lì

Account nella GERARCHIA (& Account62)

Puoi anche utilizzare il costruttore per elaborare le condizioni facendo clic sul pulsante con tre punti.

Non c'è bisogno di imporre ulteriori condizioni al tavolo virtuale, quindi premi il pulsante ok nella finestra dei parametri della tabella virtuale. Successivamente, è necessario selezionare i campi di cui abbiamo bisogno dalla tabella Fatturato autoportante(vale a dire: Controparte, Accordo di Controparte, Entrate e Uscite). Per vedere l'elenco dei campi disponibili nella tabella che abbiamo selezionato, premi il simbolo "+" accanto al suo nome. Successivamente, trascina i campi richiesti nell'area più a destra del designer query, che si chiama Campi. Se apriamo il piano dei conti, lo vedremo per il conto 62 analisi per La controparte è Subconto1 e da Contratto dell'Appaltatore - Subconto2.

Pertanto, dai campi della tabella virtuale, selezioniamo Sottoconto1 e Subconto2... Poiché abbiamo bisogno delle entrate e delle spese per l'importo, selezioniamo anche i campi ImportoFatturatoDt e ImportoFatturatoKt

Compila gli alias dei campi che abbiamo scelto, per questo andiamo alla 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 sono al secondo), imposteremo l'output dei dati nella gerarchia utilizzando i Totali. Andiamo al segnalibro nel costruttore risultati... Nei campi di raggruppamento, trascina in sequenza Controparte e Contratto dell'Appaltatore, e in finale In arrivo e Consumo.

Questo completa il lavoro nel costruttore di query, premi il pulsante ok e vediamo che il testo della nostra richiesta è apparso nel codice del programma.

Request.Text = "SELEZIONA" | Fatturati autoportanti.Subkonto1 COME Controparte, | Fatturato autoportante.Subkonto2 AS A Contractor's Agreement, | Fatturato autoportante.ImportoFatturatoDt AS Ricevuta, | AutoportanteFatturato.ImportoFatturatoKt AS Consumo| DA | Libro mastro della contabilità.Fatturato autonomo.Fatturato (& inizio e fine periodo, conto IN GERARCHIA (& conto62),) AS Fatturato autosufficiente| RISULTATI | SOMMA (Arrivo), | IMPORTO (Consumo) | Software | Controparte, | Accordo dell'appaltatore";

Dopo aver finito di scrivere la richiesta, iniziamo a riempire le aree Data Contractor, Contraente dell'accordo sui dati e Seminterrato... Riempiremo tutte queste aree con i dati ottenuti durante l'esecuzione della richiesta. Poiché la nostra query contiene raggruppamenti ( Controparte e Contratto dell'Appaltatore) seleziona i dati da esso come segue:

SelectContractor = Query.Run().Select (QueryResultIndo.OnGroups);

Pertanto, riceveremo record con i totali per tutte le controparti.

Prima di attraversare i dati del campione utilizzando un loop, inizializziamo le variabili progettate per calcolare i totali totali per il report:

Totalereddito = 0; Consumo totale = 0;

Affinché i dati del report vengano visualizzati con una gerarchia (e distribuiti lungo "+"), imposteremo l'inizio dell'autoraggruppamento delle righe del documento del foglio di calcolo:

TabDoc.StartAutoGroupLines ();

Tutti i preparativi sono finiti, ora iniziamo ad esaminare i risultati della query. Effettueremo l'attraversamento utilizzando il loop Fino

WhileSelectionContractor.Next () Cycle EndCycle;

All'inizio del ciclo impostare i parametri a zero In arrivo e Consumo le zone Data Contractor... Cosa serve? Immagina una situazione che per una controparte zio Vasya, entrata 10 e spesa 5, e per essa la controparte successiva zio Petya non ci sono né entrate né uscite, in questo caso, se non ripristiniamo i parametri In arrivo e Consumo, quindi in linea per controparte zio Petya otterrai entrate 5 e spese 10.

ScopeDataContractor.Parameters.Prihod = 0; ScopeDataContractor.Parameters.Expense = 0;

Dopodiché riempiamo l'area Data Contractor dati dell'articolo campione

FillPropertyValues ​​(ScopeDataContractor.Parameters, SelectionContractor);

Dopo aver riempito i dati, è possibile visualizzare l'area in Foglio di calcolo Poiché utilizziamo l'autoraggruppamento delle linee, dobbiamo indicare il livello della linea nel raggruppamento (nel nostro report ci saranno due livelli, per gli appaltatori il primo per i contratti è il secondo).

TabDok.Withdraw (ScopeDataContractor, 1);

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

SelectionContractorAgreement = SelectionContractor.Choose (BypassResultResult.On raggruppamenti);

Effettueremo l'attraversamento utilizzando il loop Fino.

Mentre SelectionContractor Agreement.Next () Cycle End of Cycle;

Nel ciclo dei contratti delle controparti, ripristineremo i parametri In arrivo e Consumo, riempi l'area Accordo sui dati dalla selezione e visualizzarlo in un foglio elettronico al secondo livello di record.

ScopeDataContract.Parameters.Prihod = 0; ScopeDataAgreement.Parameters.Expense = 0; Compila i valori della proprietà (ScopeDataContract.Parameters, SelectionContractorAgreement); TabDok.Withdraw (ScopeDataContract, 2);

Inoltre, in questo ciclo, aggiungiamo i valori correnti alle variabili per il calcolo dei valori totali per entrate e uscite.

Reddito totale = Reddito totale + Contratto di selezione del contraente. Reddito; TotalExpense = TotalExpense + SampleContractor Agreement.Expense;

Questo completa l'output dei dati nell'area Data Contractor, Contraente dell'accordo sui dati completato, resta da completare il raggruppamento automatico delle righe del documento del foglio di calcolo.

TabDoc.FinishAutoGroupLines ();

Ciclo completo responsabile dell'emissione dei dati nell'area Data Contractor e Contraente dell'accordo sui dati Assomiglia a questo:

TabDoc.StartAutoGroupLines (); Mentre SampleContractor.Next () Cycle RegionDataContractor.Parameters.Prihod = 0; ScopeDataContractor.Parameters.Expense = 0; FillPropertyValues ​​(ScopeDataContractor.Parameters, SelectionContractor); TabDok.Withdraw (ScopeDataContractor, 1); SelectionContractorAgreement = SelectionContractor.Choose (BypassResultResult.On raggruppamenti); Mentre SelectionDogovKontragenta.Sleduyuschiy () Cycle ScopeDataDogov.Parametry.Prihod = 0; ScopeDataAgreement.Parameters.Expense = 0; Compila i valori della proprietà (ScopeDataContract.Parameters, SelectionContractorAgreement); TabDok.Withdraw (ScopeDataContract, 2); Reddito totale = Reddito totale + Contratto di selezione del contraente. Reddito; TotalExpense = TotalExpense + SampleContractor Agreement.Expense; Fine del ciclo; Fine del ciclo; TabDoc.FinishAutoGroupLines ();

Resta da produrre i totali nell'area Seminterrato e visualizzare l'area stessa in Foglio di calcolo.

AreaBoard.Parameters.TotalIncoming = TotalIncoming; AreaBoard.Parameters.TotalExpense = TotalExpense; TabDok.Display (Area Seminterrato);

Questo completa il processo di scrittura di un rapporto esterno per 1C 8 senza utilizzare l'ACS. Ora può essere generato in 1C: modalità Enterprise 8 e aggiunto alla directory Elaborazione esternaÈ possibile scaricare il file di report considerato nell'articolo di.

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

I report 1C 8.3 sono uno speciale oggetto di metadati progettato per formare 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 il built-in e. Qualunque cosa si possa dire, al centro di quasi tutti i report c'è la richiesta iniziale che riceve i dati. Elaboriamo e mostriamo questi dati in una forma intuitiva.

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

Considera le tecniche di base per la creazione di report

Come creare un report in 1C utilizzando un layout

Creare con un layout è il modo più di routine. Tuttavia, si ricorre spesso alla disperazione, tk. in questo modo, lo sviluppatore prescrive completamente ogni azione nel codice, il che significa che possiamo fare qualsiasi cosa. Altri meccanismi non possono vantarsene.

Ma in questo caso, tutti i faddle, i menu e altri "archi" dovranno essere scritti manualmente, il che richiede molto tempo.

Ottieni gratuitamente 267 tutorial video 1C:

Generazione di un report utilizzando Output Form Designer

Il costruttore del modulo di output è un meccanismo integrato nella piattaforma che facilita lo sviluppo di un report. Il costruttore è disponibile solo per i moduli regolari.

Al progettista viene data la richiesta e tutti i parametri necessari del report futuro e lui, a sua volta, genera i moduli e i moduli di report. Il meccanismo si basa sull'oggetto del linguaggio integrato 1C 8.2 - Generatore di rapporti.

Generazione di un report utilizzando un report generico

Il rapporto universale ha grandi funzionalità, una comoda interfaccia delle impostazioni, familiare all'utente:

Rapporti basati sul sistema di composizione dei dati

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

ACS ti consente di creare report semplici senza alcuna linea di programmazione, perché ha un designer molto flessibile e funzionale per la creazione di uno schema di composizione dei dati:

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

In che modo i report esterni differiscono da quelli integrati

Come è scritto nella documentazione - niente. Il motore di reportistica esterno è stato creato per eseguire il debug dei report durante lo sviluppo.

L'unica differenza quando si sviluppa una soluzione è che non è possibile fare riferimento a un report esterno "per nome", a differenza di un report incorporato.

In che modo il report differisce dall'elaborazione

In pratica, praticamente niente. La differenza principale è lo scopo dell'utilizzo dell'oggetto: i report sono necessari per visualizzare le informazioni, ma per modificare le informazioni.

Le principali differenze riguardano le proprietà: nei report è possibile specificare il Basic Data Composition Scheme (ACS) e specificare le impostazioni per il salvataggio dei parametri del report.

Gli oggetti applicati progettati per ottenere tutti i tipi di tabelle pivot per organizzare i dati in una forma conveniente per l'analisi e la visualizzazione nelle configurazioni 1C sono chiamati report. Come aggiungere un rapporto in 1C, varie opzioni per l'aggiunta, proveremo a rivelare queste e alcune altre domande in questo articolo.

Rapporti ed elaborazione: differenze

Allo stesso tempo, si distinguono da altri oggetti simili - trattamenti:

  1. Possibilità di utilizzare ACS (sistema di collegamento dati);
  2. Con l'aiuto dell'elaborazione, è possibile inserire informazioni, il report serve per visualizzare e organizzare i dati;
  3. La differenza nel formato del file: l'estensione epf indica che si tratta di elaborazione, erf è tipico dei report esterni.

Dal punto di vista di un programmatore, l'utilizzo di questi oggetti è molto conveniente, perché non richiede modifiche ai metadati di configurazione e, quindi, non è necessario espellere gli utenti dal database per aggiornarlo.

Modi per aggiungere un report al database

Con l'aiuto di una guida speciale

Nella maggior parte delle configurazioni fornite da 1C, esiste un libro di riferimento "Elaborazione esterna", che consente di salvare l'elaborazione nel database senza modificare i metadati. Ci sono due modi per entrare in questa directory:

  1. Per le Interfacce Completa e Amministrativa, andando su: Operazioni-> Elenchi-> Elaborazioni esterne;
  2. Tutti gli altri tramite: Servizio-> Rapporti ed elaborazione aggiuntivi.
  3. Successivamente, è necessario scegliere il tipo di modulo che si desidera ottenere.

Quindi, come aggiungere un layout alla directory tramite il modulo, che è mostrato in Fig. 1

Fig. 1 Forma di registrazione di una segnalazione o elaborazione

Prima di tutto, è necessario trovare un nome originale per l'elemento del libro di riferimento, che rifletta il più possibile l'essenza della tabella generata. Il secondo passaggio consiste nel selezionare il tipo di modulo aggiunto. Questo potrebbe essere:

  1. Un stampabile richiamato dal pulsante Stampa o da un altro pulsante in quegli oggetti che sono indicati nella sezione tabellare "Proprietà stampabile";
  2. Compilazione di sezioni tabulari, per sezioni tabulari di documenti e testi di consultazione presentati nella sezione Tabulare "Elaborazioni accessorie per la compilazione di sezioni tabulari";
  3. Trattamento;
  4. Rapporto.

Riso. 2 Campo per la scelta del tipo di rapporto

Nella fase finale è necessario selezionare il file contenente il codice elaborato tra quelli salvati sul disco.

Fig. 3 Scritta che indica la necessità di selezionare un file di report

Dopo aver registrato l'elemento, lo salverai nel database. Durante il ripristino e il trasferimento della base verranno trasferiti anche gli elementi così salvati.

Aggiunta alla configurazione

I passaggi seguenti richiedono l'accesso esclusivo al database.

Entrando nel configuratore e aprendo la configurazione, puoi iniziare ad aggiungere elaborazioni.

Se la configurazione è chiusa per la modifica, devi andare alla voce di menu Configurazione-> Supporto-> Impostazioni supporto. Si aprirà una finestra come in Fig. 4

Riso. 4 Finestra di modifica del supporto

  1. Premere il pulsante "Abilita la possibilità di modifica";
  2. Rispondi affermativamente alla domanda di sistema.

Pertanto, sarai in grado di aggiungere i tuoi elementi ai metadati del database.

Ora, cliccando con il tasto destro sulla riga "Reports" dell'albero di configurazione, è possibile aggiungere alla configurazione un data linker esterno Fig.5.

Riso. 5 Sottomenu per aggiungere un report alla configurazione

Considerazioni per l'immissione del trattamento su moduli gestiti

L'interfaccia costruita su moduli gestiti impone le proprie restrizioni alla visualizzazione di ulteriori gestori aggiunti alla base.

Prima di aggiungere un report a un modulo gestito in 1C, è necessario assicurarsi che sia stato creato utilizzando l'ACS, altrimenti il ​​modulo verrà visualizzato in modo errato.

Dopo aver aperto il programma in modalità Amministrazione, è necessario trovare la voce "Stampa moduli, report ed elaborazione" nel Pannello di navigazione

Riso. 6 Pannello di navigazione 1C 8.3

Spuntando la casella "Report ed elaborazioni aggiuntive" nella finestra che si apre, potrai aggiungere alla base i tuoi progetti per il modulo gestito.

Nel modulo, fai clic sul pulsante "Crea". Ignorando la finestra di avviso, puoi iniziare a scegliere un file.

Molto spesso nelle ultime versioni del programma, il componente aggiuntivo si blocca con un errore che indica: "Metodo oggetto non trovato". Il fatto è che dopo aver creato un gestore utilizzando il sistema di composizione dati, è necessario registrare la funzione InformationOnExternalProcessing () nel suo modulo con il marchio Export, questa funzione dovrebbe restituire i parametri di registrazione:

  1. L'oggetto a cui sarà connesso il gestore;
  2. Il nome con cui verrà registrato nel database;
  3. Nome della squadra.

Successivamente, puoi iniziare a posizionare il rapporto nell'interfaccia. Per fare ciò, fare clic sul comando "Posizionamento".

Riso. 7 Sistemazione

In questo caso, l'attività dell'elemento è regolata dalla selezione del valore corrispondente nel campo "Pubblicazione".

Aggiunta senza posizionamento

Per riscrivere un elemento di riferimento ogni volta che vengono apportate modifiche al codice, tanto più registrare questo gestore nella configurazione è piuttosto un lavoro ingrato. Puoi farne a meno. È sufficiente aprire il file contenente l'elaborazione tramite il menu File-> Apri file. Gli oggetti aperti di recente vengono memorizzati come un elenco nella parte inferiore del sottomenu File.

Rapporti regolamentati

Oltre ai file e ai gestori esterni forniti dalla configurazione, in 1C esiste un altro tipo di report: regolamentato. Queste sono le formazioni di dati che sono regolate dalle autorità fiscali.

Per la natura del lavoro, queste forme sono più simili a un documento. Il periodo di validità di tali gestori raramente supera un quarto; 1C rilascia regolarmente aggiornamenti per loro.

Puoi aprirli dal menu Rapporti-> Rapporti regolamentati. Dopo aver scelto un'opzione di report, il programma la riempirà con i dati del database. Se i dati non sono sufficienti, il programma offrirà di aggiungere manualmente i dati mancanti.

I moduli compilati in modo incompleto vengono salvati con la possibilità di rifornimento. Un documento completamente compilato e verificato può essere stampato su carta o presentato all'ufficio delle imposte in formato elettronico.

Dicono che il nome 1C originariamente significasse la frase "un secondo", ad es. i programmi dovrebbero emettere report rapidamente, "in un secondo". La velocità dei report è molto importante, ma è ancora più importante che i report forniscano le informazioni corrette - scopriamolo usando l'esempio della creazione di un semplice report in 1C 8.3 basato sulla configurazione di Trade Management 10.3. Per creare report corretti, è desiderabile (anche fortemente raccomandato) essere in grado di configurare 1C ed essere in grado di programmare un po' nel linguaggio interno e nel linguaggio di query 1C, sebbene, d'altra parte, la creazione di report sia una grande opportunità per iniziare a padroneggiare queste abilità.

Questa descrizione è educativa per comprendere i principi di base della creazione di report 1C

Come creare un report in 1C 8.3

Per creare un report, è necessario aprire 1C nella modalità configuratore, per questo, nella finestra di avvio di 1C, selezionare la base desiderata nell'elenco e fare clic sul pulsante Configuratore:

Nel configuratore stesso vai nel menu File e seleziona la voce Nuovo:


Nel menu che compare, seleziona la voce Report esterno e premi il pulsante OK:


Si aprirà una nuova finestra del rapporto. Nel campo Nome, inserisci il nome del report, deve essere senza spazi e caratteri speciali:


Come creare un report utilizzando un layout

Questo metodo richiede soprattutto abilità di programmazione in 1C, ma qui non analizzeremo i meccanismi per la ricezione e l'elaborazione dei dati, faremo un semplice report per comprendere il meccanismo per avviare un report e visualizzare un modulo di report sullo schermo:

Nella finestra del report (che si apre durante la creazione di un report) nell'elenco inferiore posizionare il cursore sulla voce Layout e, facendo clic con il tasto destro del mouse, fare clic su Aggiungi nel menu che compare:


Nella finestra di progettazione del layout aperta, è possibile specificare il nome del layout, come tipo di layout deve essere selezionato Documento tabulare, quindi fare clic sul pulsante Fine nella finestra di progettazione:


Si aprirà una finestra di layout che assomiglia a un foglio Excel:


In questo layout, è necessario creare aree: gruppi di righe o colonne che il programma utilizzerà come modelli, sostituire i dati ricevuti dal database al loro interno e visualizzare questi modelli sullo schermo, raccogliendo così il rapporto insieme da queste parti.

Facciamo un report che mostri un elenco della nomenclatura. Per fare ciò, creeremo due aree del layout: l'intestazione del report e la riga dell'articolo.

Per creare un'area di intestazione, fare clic con il tasto sinistro del mouse sull'intestazione della riga (dove è indicato il numero della riga) per selezionare la riga in questo modo (l'intera riga deve essere selezionata con un clic sull'intestazione):


Successivamente, vai al menu Tabella del menu principale, vai al sottomenu Nomi e fai clic sulla voce Assegna nome:


Il programma ti chiederà di specificare il Nome dell'area, anche il nome non deve contenere spazi e caratteri speciali, quindi fai clic su OK, dovrebbe apparire così:


Ora, nell'area creata, è necessario inserire il testo che verrà visualizzato nel report e formattarlo. Per fare ciò, nella prima cella, inserisci il testo, ad esempio "Elenco di nomenclatura". Il lavoro con le celle è simile a Excel.

Per formattare il testo in una cella, fare clic con il tasto destro sulla cella e fare clic su Proprietà. La finestra delle proprietà della cella si aprirà sulla destra. Scorrendo il contenuto della finestra, individua il campo Font e clicca sul pulsante "...":


Nella finestra che si apre, nella sezione Stile, spunta la casella Grassetto e clicca sul pulsante OK:


Il layout dovrebbe assomigliare a questo:


Allo stesso modo, creiamo l'area della riga dell'articolo, basta non evidenziarla in grassetto:


Nell'area della riga, devi indicare che il Nome è un parametro, ad es. che il vero nome dell'elemento verrà inserito lì quando il report verrà stampato. Per fare ciò, aprire le proprietà della cella con il nome e nelle proprietà nel campo Riempimento selezionare il valore del parametro, questo completa l'impostazione del layout:


Torniamo alla finestra principale del report e, nell'elenco in basso, clicchiamo con il tasto destro sulla voce Moduli e facciamo clic su Aggiungi:


Nel designer del modulo del rapporto aperto, premere il pulsante Fine, il modulo del rapporto si aprirà, fare doppio clic sul pulsante Genera:


Di conseguenza, la finestra delle proprietà del pulsante si aprirà sul lato destro dello schermo, nel campo Azione, fare clic sulla lente di ingrandimento:


Successivamente, si aprirà il modulo modulo, in cui è necessario programmare la generazione del report:


Innanzitutto, inserisci il seguente codice al posto del testo selezionato:

// crea un foglio di calcolo che verrà riempito con parti del rapporto e visualizzato sullo schermo
TabDocument = New TabularDocument;
// inoltre, otteniamo il layout che è stato creato durante la creazione del report
Layout = Ottieni layout ("Layout");
// ora è necessario visualizzare l'intestazione del report, per questo otteniamo l'area dell'intestazione dal layout e la visualizziamo in un foglio di calcolo
AreaHeat = Layout.GetArea ("Intestazione");
TabDocument.Display (AreaHap);
// utilizzando una query, otteniamo una selezione di nomi di elementi che dovrebbero essere visualizzati nel report
Richiesta = Nuova Richiesta;
Richiesta.Testo = "
| SCEGLI
| Nome
| DA
| Directory.Nomenclatura
|";
// ottengo l'area della riga della nomenclatura dal layout - faremo riferimento ad essa in un ciclo per visualizzare ogni elemento
AreaString = Layout.GetArea ("Linea");
// processa ogni elemento dalla selezione risultante in un ciclo
Selezione = Query.Esegui().Seleziona ();
Mentre Fetch.Next () Loop
// per visualizzare la riga successiva, è necessario specificare il nome successivo nel parametro area (impostamo il parametro stesso durante la creazione del layout)
RegionString.Parameters.Name = Selection.Name;
// il parametro è stato compilato, ora puoi visualizzare la stringa
TabDocument.Output (AreaString);
Fine del ciclo;
// il documento del foglio di calcolo è formato, ora lo mostriamo sullo schermo
TabDocument.Show ("Elenco di elementi");

Quando il testo viene copiato nel modulo modulo, le righe che iniziano con una doppia barra "//" verranno evidenziate in verde - questi sono commenti, descrivono cosa fa ogni riga di codice:


Riassumiamo quali righe di codice di programma sono necessarie per generare un report:

  1. È necessario creare un documento foglio di calcolo, che verrà riempito con parti del report e visualizzato sullo schermo, questo viene fatto dalla riga "TabDocument = New Tabular Document;"
  2. Devi ottenere il layout del report, da esso otterremo la struttura del report in parti (aree), questo viene fatto dalla riga "Layout = Ottieni layout (" Layout ")"
  3. Per visualizzare ciascuna delle aree, è necessario estrarla dal layout e visualizzarla in un foglio di calcolo, questo viene fatto con le righe "AreaHap = Layout.GetArea (" Header ")" e "TabDocument.Out (AreaHap)"
  4. Se è necessario compilare i parametri, che diventano noti solo durante l'esecuzione del programma, quindi prima di visualizzare l'area, è necessario compilare tali parametri, questo viene fatto dalla riga "AreaString.Parameters.Name = Selection.Name"
  5. E solo quando il documento del foglio di calcolo è riempito con tutte le parti necessarie del rapporto, viene visualizzato sullo schermo, questo viene fatto dalla riga "TabDocument.Show (" Elenco di elementi ")"

E ora puoi controllare il funzionamento del rapporto: apri 1C in modalità aziendale (il pulsante 1C: Enterprise nella finestra di avvio di 1C). Nel menu principale, vai al menu File, fai clic su Apri:


Trova e apri il file di rapporto salvato. Nel modulo che si apre, fai clic sul pulsante Genera:


e otteniamo un elenco della nomenclatura:


Questo è solo uno dei modi per creare report in 1C. Nei prossimi articoli ne analizzeremo altri.

Nel menu in alto, vai a Servizio->->.

Successivamente, apparirà il modulo dell'elenco delle directory. Nel menu in alto, fai clic su Aggiungere.

È stata visualizzata una finestra per l'aggiunta di un nuovo rapporto. Premi il bottone Aprire.

Selezionare il file con il report desiderato e fare clic su Aprire... Dopo aver aggiunto il file, se necessario, modificare il nome del report (come verrà visualizzato nell'elenco). Spingere ok.

Di conseguenza, nell'elenco viene visualizzato un nuovo rapporto.

Successivamente, il rapporto può essere utilizzato, l'aggiunta è completa. Per aprire questo rapporto in un secondo momento, andiamo anche su Servizio->Rapporti aggiuntivi ed elaborazione->Rapporti esterni aggiuntivi.

Per BP 3.0, ZUP 3.0, UT 11, ERP 2.0.

Per aggiungere un report esterno nelle configurazioni 1C: Enterprise 8.3 in un'interfaccia gestita (ad esempio Contabilità 3.0), inseriremo la sezione corrispondente del programma:


È necessario che il segno di utilizzo di rapporti aggiuntivi sia attivato, seguire il collegamento ipertestuale:

Nella lista che si apre, premi il pulsante Creare:


Successivamente, si aprirà immediatamente una finestra di dialogo per la selezione di un file con un rapporto, in cui è necessario selezionare il file desiderato (nel mio caso, questo è un file con un'analisi dei costi pianificati-effettivi).

Ora devi configurare struttura ricettiva(il luogo del programma in cui sarà disponibile il report):


Selezioniamo arbitrariamente la sezione desiderata del programma dall'elenco:


Ora è necessario registrare le modifiche nella pagella esterna:

Ora apriamo il report dall'interfaccia del programma:


La lista è ancora vuota, clicca Personalizza l'elenco:


Nel modulo di selezione, contrassegna il nostro rapporto con un segno di spunta:


Ora è apparso nella lista:


tramite pulsante Eseguire si apre il modulo di segnalazione:


Principali articoli correlati