Casa / Skype / Lettura del file Excel 1C 8.3. Informazioni contabili. Unità di misura fondamentale

Lettura del file Excel 1C 8.3. Informazioni contabili. Unità di misura fondamentale

Questo metodo semplice. La sua essenza è quella dell'oggetto TabularDocument ha metodi:

  • Scrivi (< ИмяФайла>, < ТипФайлаТаблицы >) per caricare dati in un file;
  • Leggere (< ИмяФайла>, < СпособЧтенияЗначений >) per caricare i dati da un file.

Attenzione!

Il metodo Write() è disponibile sia sul client che sul server. Il metodo Read() è disponibile solo sul lato server. È necessario ricordarlo
quando si pianifica l'interazione client-server.

Diamo un'occhiata a un esempio di salvataggio di un documento di foglio di calcolo in un file. È necessario creare e riempire l'oggetto TabularDocument in qualsiasi modo e scarico al file viene eseguito con una sola riga:

TabDoc . Write(PercorsoFile, TabularDocumentFileType. XLSX);

Qui TabDoc- documento di foglio di calcolo generato, Il percorso del file— nome del file da caricare, TabularDocumentFileType.XLSX- formato file creato. Sono supportati i seguenti formati Excel:

  • XLS95 - Formato Excel 95;
  • XLS97 - Formato Excel 97;
  • XLSX è un formato Excel 2007.

TabDoc = Nuovo TabularDocument;
TabDoc . Read(PathToFile, metodo di letturaTabularDocumentValues.Value);

Qui Il percorso del file- percorso del file Excel scaricato. Metodo di lettura dei valori di un documento tabulare.Valore determina come devono essere interpretati i dati letti da un documento di origine. Opzioni disponibili:

  • Senso;
  • Testo.

Scambio tramite OLE

Lo scambio tramite la tecnologia di automazione OLE è forse l'opzione più comune per lavorare a livello di programmazione con file Excel. Ti consente di utilizzare tutte le funzionalità fornite da Excel, ma è più lento rispetto ad altri metodi. Per lo scambio tramite OLE è necessaria l'installazione di MS Excel:

  • Sul computer dell'utente finale, se lo scambio avviene lato client;
  • Sul computer server 1C:Enterprise, se lo scambio avviene sul lato server.

Esempio scarico:

// Crea un oggetto COM
Excel = Nuovo COMObject("Excel.Applicazione");
// Disabilita avvisi e domande
Eccellere . DisplayAlerts = Falso;
// Crea un nuovo libro
Libro = Eccellere. Libri di lavoro. Aggiungere();
// Posizione sul primo foglio
Foglio = Libro. Fogli di lavoro(1);

// Scrive un valore in una cella
Foglio . Celle (NumeroRiga, NumeroColonna). Valore = ValoreCella;

// Salva il file
Libro . Salva con nome(NomeFile);


Eccellere . Esentato();
Excel = 0;

Esempi lettura:

// -- OPZIONE 1 --

// Crea un oggetto COM
Excel = Nuovo COMObject("Excel.Applicazione");
// Apri un libro
Libro = Eccellere. Cartelle di lavoro. Aprire( Il percorso del file );

Foglio = Libro. Fogli di lavoro(1);

// Chiudo il libro
Libro . Chiudi(0);

// Chiudi Excel e libera memoria
Eccellere . Esentato();
Excel = 0;

// -- OPZIONE 2 --

// Apri un libro
Libro = OttieniOggettoCOM( Il percorso del file );
// Posizionamento sul foglio desiderato
Foglio = Libro. Fogli di lavoro(1);

// Legge il valore della cella, solitamente il ciclo di attraversamento della cella si trova qui
ValoreCella = Foglio. Celle (NumeroRiga, NumeroColonna). Valore;

// Chiudo il libro
Libro . Applicazione. Ecco T();

Per circonvallazione Per tutte le righe completate del foglio di lavoro Excel, puoi utilizzare le seguenti tecniche:

// -- OPZIONE 1 --
Numero di righe = foglio. Celle(1, 1). Celle speciali(11). Riga;
Per RowNumber = 1 per numero di righe ciclo
ValoreCella = Foglio. Celle (NumeroRiga, NumeroColonna). Valore;
FineCiclo;

// -- OPZIONE 2 --
NumeroRiga = 0 ;
Mentre il Ciclo della Verità
NumeroRiga = NumeroRiga + 1 ;
ValoreCella = Foglio. Celle (NumeroRiga, NumeroColonna). Valore;
Se NON ValueFilled (CellValue) Poi
Interrompere;
finisci se;
FineCiclo;

Invece di attraversare tutte le righe del foglio in sequenza, puoi farlo scarica tutti i dati in un array e lavorare con lui. Questo approccio sarà più veloce durante la lettura di una grande quantità di dati:

Colonne totali = Foglio. Celle(1, 1). Celle speciali(11). Colonna;
Righe totali = Foglia. Celle(1, 1). Celle speciali(11). Riga;

Regione = Foglia. Intervallo (Foglio. Celle (1, 1), Foglio. Celle (Righe totali, Colonne totali));
Dati = Regione. Valore. Scaricare();

La tabella seguente mostra le proprietà e i metodi più popolari per lavorare con Excel tramite OLE:

Azione Codice Un commento
Lavorare con l'applicazione
Impostazione della visibilità della finestra dell'applicazione Eccellere . Visibile= Falso;
Impostazione della modalità di uscita dell'avviso (visualizzazione/non visualizzazione) Eccellere . Visualizza avvisi= Falso;
Chiusura dell'applicazione Eccellere . Esentato();
Lavorare con un libro
Creazione di un nuovo libro Libro = Eccellere. Libri di lavoro. Aggiungere();
Apertura di una cartella di lavoro esistente Libro = Eccellere. Libri di lavoro. Apri(NomeFile);
Salvare un libro Libro . Salva con nome(NomeFile);
Chiusura del libro Libro . Chiudi(0);
Lavorare con un foglio
Impostazione del foglio corrente Foglio = Libro. Fogli di lavoro(Numero foglio);
Impostazione del nome Foglio . Nome = Nome;
Impostazione della protezione Foglio . Proteggere();
Rimozione della protezione Foglio . Non protetto();
Impostazione dell'orientamento della pagina Foglio . Impostazione della pagina. Orientamento = 2; 1 - ritratto, 2 - paesaggio
Impostazione del bordo sinistro Foglio . Impostazione della pagina. Margine sinistro = Excel. CentimetriAPunti(Centimetri);
Impostazione del limite superiore Foglio . Impostazione della pagina. Margine superiore = Excel. CentimetriAPunti(Centimetri);
Impostazione del bordo destro Foglio . Impostazione della pagina. Margine destro = Excel. CentimetriAPunti(Centimetri);
Impostazione del limite inferiore Foglio . Impostazione della pagina. Margine inferiore = Excel. CentimetriAPunti(Centimetri);
Lavorare con righe, colonne, celle
Impostazione della larghezza della colonna Foglio . Colonne(NumeroColonna). LarghezzaColonna = Larghezza;
Elimina una riga Foglio . Righe(NumeroRiga). Eliminare();
Rimozione di una colonna Foglio . Colonne(NumeroColonna). Eliminare();
Elimina una cella Foglio . Celle (NumeroRiga, NumeroColonna). Eliminare();
Impostazione del valore Foglio . Celle (NumeroRiga, NumeroColonna). Valore = Valore;
Unione di celle Foglio . Intervallo(Foglio. Celle(NumeroRiga, NumeroColonna), Foglio. Celle(NumeroRiga1, NumeroColonna1)). Unisci();
Impostazione del carattere Foglio . Celle (NumeroRiga, NumeroColonna). Font. Nome = NomeCarattere;
Impostazione della dimensione del carattere Foglio . Celle (NumeroRiga, NumeroColonna). Font. Dimensione = Dimensione carattere;
Impostazione del carattere in grassetto Foglio . Celle (NumeroRiga, NumeroColonna). Font. Grassetto = 1 ; 1 — carattere in grassetto, 0 — normale
Impostazione del corsivo Foglio . Celle (NumeroRiga, NumeroColonna). Font. Corsivo = 1 ; 1 - corsivo, 0 - normale
Impostazione del carattere sottolineato Foglio . Celle (NumeroRiga, NumeroColonna). Font. Sottolineare = 2 ; 2 - sottolineato, 1 - no

Per scoprire quale proprietà deve essere modificata o quale metodo chiamare, è possibile utilizzare macro Eccellere. Se registri una macro con le azioni richieste, puoi quindi guardare il codice VBA della macro registrata.

Utilizzando COMSafeArray

Quando scarichi grandi quantità di dati da 1C a Excel, puoi utilizzare l'oggetto per accelerare COMSafeArray. Secondo la definizione dell'assistente di sintassi, COMSafeArray è un wrapper di oggetti matrice multidimensionale SafeArray dal COM. Consente di creare e utilizzare SafeArray per lo scambio di dati tra oggetti COM. In poche parole, si tratta di un array di valori che può essere utilizzato per lo scambio tra applicazioni che utilizzano la tecnologia OLE.

// Crea COMSafeArray
ArrayCom = Nuovo COMSafeArray("VT_Variant", TotalColumns, TotalRows);
// Riempi COMSafeArray
Per Pagina = 0 per TotalLines - 1 ciclo
Per Numero = 0 colonne totali - 1 ciclo
ArrayCom . ImpostaValore(Conteggio, Pagina, Valore);
FineCiclo;
FineCiclo;
// Assegnazione all'area del foglio Valori di Excel da COMSafeArray
Foglio . Intervallo (Foglio. Celle (1, 1), Foglio. Celle (Righe totali, Colonne totali)). Valore = ArrayCom;

Scambio tramite ADO

Un file Excel, quando scambiato tramite ADO, è un database a cui è possibile accedere utilizzando query SQL. Non è richiesta l'installazione di MS Excel, ma è necessario disporre di un driver ODBC con cui verrà fornito l'accesso. Il driver ODBC utilizzato viene determinato specificando la stringa di connessione al file. In genere, il driver richiesto è già installato sul computer.

Lo scambio tramite ADO è notevolmente più veloce dello scambio tramite OLE, ma durante il caricamento non è possibile utilizzare la funzionalità di Excel per progettare celle, disporre pagine, impostare formule, ecc.

Esempio scarico:


Connessione = Nuovo COMObject("ADODB.Connection");


Composto . Stringa di connessione = "

|Origine dati=" +NomeFile+ ";
;
Composto . Aprire(); // Apre una connessione

// Crea un oggetto COM per il comando
Comando = Nuovo COMObject("ADODB.Command");
Squadra

// Assegnazione del testo del comando per creare una tabella
Squadra . TestoComando = "CREA TABELLA [Foglio1] (Colonna1 char(255), Colonna2 data, Colonna3 int, Colonna4 float)";
Squadra . Eseguire(); // Esegue il comando

// Assegnazione del testo del comando per aggiungere una riga della tabella
Squadra . TestoComando = "INSERISCI IN [Foglio1] (Colonna1, Colonna2, Colonna3, Colonna4) valori ('abvwhere', '8/11/2017', '12345', '12345,6789')";
Comando.Esegui(); // Esegue il comando

// Rimuove il comando e chiude la connessione
Comando = Non definito;
Composto . Vicino();
Connessione = Non definita;

Per creare un nuovo foglio e formarne la struttura, puoi utilizzare gli oggetti ADOX.Catalogo E ADOX.Tabella. In questo caso, il codice sarà simile a:

// Crea un oggetto COM per lavorare con il libro
Libro = Nuovo COMObject("ADOX.Catalog");
Libro . Connessione attiva = Connessione;

// Crea un oggetto COM per lavorare con la struttura dei dati sul foglio
Tabella = Nuovo COMObject("ADOX.Table");
Tavolo . Nome = "Foglio1";
Tavolo . Colonne. Aggiungi("Colonna1", 202);
Tavolo . Colonne. Append("Colonna2", 7);
Tavolo . Colonne. Aggiungi("Colonna3", 5);
Tavolo . Colonne. Aggiungi("Colonna4", 5);

// Crea un foglio con la struttura descritta nella cartella di lavoro
Libro . Tabelle. Aggiungi(Tabella);
Tabella = Non definita;
Libro = Non definito;

Nell'esempio precedente, nel metodo

Tavolo . Colonne. Aggiungere(“Colonna1”, 202);

il secondo parametro specifica il tipo di colonna. Il parametro è facoltativo, ecco alcuni valori del tipo di colonna:

  • 5 - annuncioDoppio;
  • 6 - adValuta;
  • 7 - adData;
  • 11 - annuncioBooleano;
  • 202 - adVarWChar;
  • 203 - adLongVarWChar.

Esempio lettura:

// Crea un oggetto COM per la connessione
Connessione = Nuovo COMObject("ADODB.Connection");

// Imposta la stringa di connessione
Composto . Stringa di connessione = "
|Provider=Microsoft.ACE.OLEDB.12.0;
|Origine dati=" +NomeFile+ ";
|Proprietà estese=""Excel 12.0 XML;HDR=SI"";";
Composto . Aprire(); // Apre una connessione

// Crea un oggetto COM per ricevere la selezione
Seleziona = Nuovo COMObject("ADODB.Recordset");
TestoRichiesta = "SELEZIONA * DA [Foglio1$]";

// Esegue la richiesta
Campione . Apri(Testointerrogazione, Connessione);

// Ignora il risultato del campione
Non ancora una selezione. Ciclo EOF()
Valore colonna1 = selezione. Campi. Articolo ("Colonna1"). Valore ; // Accesso in base al nome della colonna
Colonna2Valore = Selezione. Campi. Articolo(0). Valore; // Accesso tramite indice di colonna
Campione . SpostaAvanti();
FineCiclo;

Campione . Vicino();
Campione = Non definito;
Composto . Vicino();
Connessione = Non definita;

Nella stringa di connessione il parametro HDR determina come verrà percepita la prima riga del foglio. Opzioni possibili:

  • SÌ: la prima riga viene trattata come nome di colonna. È possibile accedere ai valori per nome e indice di colonna.
  • NO: la prima riga viene trattata come dati. È possibile accedere ai valori solo tramite l'indice della colonna.

Questi esempi coprono solo alcuni oggetti ADO. Il modello a oggetti ADO è costituito dai seguenti oggetti:

  • connessione;
  • Comando;
  • set di record;
  • Documentazione;
  • Campi;
  • Flusso;
  • Errori;
  • parametri;
  • Proprietà.

Carica senza programmazione

Per salvare i dati da 1C a Excel non è sempre consigliabile ricorrere alla programmazione. Se in modalità Enterprise l'utente può visualizzare i dati necessari per il download, questi possono essere salvati in Excel senza programmazione.

Per salvare un documento di foglio di calcolo (ad esempio il risultato di un report), puoi chiamare il comando Salva O Salva come… menu principale.

Nella finestra che si apre, è necessario selezionare la directory, il nome e il formato del file salvato.

Per salvare i dati da elenchi dinamici (ad esempio un elenco di elementi), è necessario:

  1. Invia i dati a un documento di foglio di calcolo utilizzando il comando Altro ⇒ Elenco...;
  2. Salvare il documento del foglio di calcolo nel formato richiesto.

Configurazione: contabilità 1c

Versione di configurazione: 3.0.44.177

Data di pubblicazione: 20.01.2017

Il programma 1C: Contabilità offre ora la possibilità di caricare e scaricare regolarmente dati da fogli di calcolo Excel, senza l'uso di elaborazioni di terze parti o modifiche alla configurazione. Caricare e scaricare è così semplice che gli utenti esperti si innamoreranno rapidamente di questo comodo meccanismo e i nuovi utenti lo padroneggeranno rapidamente.

Caricamento da Excel 1C: Contabilità 8.3 ed. 3.0

Ad esempio, abbiamo questo foglio di calcolo Excel per caricare un elenco di articoli e prezzi (vendita al dettaglio e acquisti).

Vieni a .

In alto clicca Nomenclatura e prezzi - Download. Qui è dove è nascosto il caricamento e lo scaricamento dai documenti del foglio di calcolo.

Il download supporta xls (vecchio formato Excel 97-2003) e xlsx (nuovo formato), nonché i formati mxl e ods. Adesso selezioniamo il nostro file con la nomenclatura e aspettiamo che si carichi.

Il documento del foglio di calcolo è stato caricato nel modulo in cui lo abbiamo visto in Excel, ora assegneremo le colonne ed elimineremo quelle non necessarie.

Clicca su Si prega di fornire i dettagli e seleziona la voce desiderata dall'elenco.

Selezionare la riga che contiene voci non necessarie, ovvero l'intestazione della tabella, e fare clic Elimina riga.

Adesso cancelliamo la colonna con il prezzo di acquisto, notatelo l'elaborazione può compilare solo 1 tipo di prezzo alla volta!!! Quindi puoi ripetere questa operazione e caricare il 2° tipo di prezzo, per il 1° caricare Retail per il 2° acquisto.

Compila i dati vuoti, Tipo di prezzo, Imposta prezzi per. I pulsanti Tutti, Trovato, Nuovo, Duplicati faciliteranno notevolmente la ricerca e aiuteranno a confrontare gli elementi. Compila e fai clic Scaricamento dopodiché i dati verranno caricati in 1C: Contabilità.

Nuovi articoli sono comparsi nell'elenco prodotti, compilati e con prezzi assegnati. Se devi caricare un altro tipo di prezzo, esegui nuovamente tutti i passaggi, ma seleziona una colonna con un prezzo diverso, 1C stesso troverà le posizioni già create e non tenterà di duplicarle, ma aggiungerà semplicemente un nuovo tipo di prezzo.

Come puoi vedere, il download ha creato 2 documenti per l'impostazione dei prezzi degli articoli, per il prezzo di acquisto e per il prezzo al dettaglio. La differenza tra questo trattamento è Caricamento da Excel a 1C: Contabilità 8.3, Il fatto è che si tratta di un'elaborazione standard, funziona senza errori e tiene conto di tutte le caratteristiche della compilazione del documento.

Caricamento in Excel da 1C: Contabilità 8.3 ed. 3.0

Molto funzione utile nella versione 3.0.44.177 e successive viene caricato in Excel da 1C: Contabilità 8.3, questa elaborazione ti aiuterà a creare un listino prezzi aziendale o a trasferire immediatamente il tuo elenco di articoli a fornitori o acquirenti con i prezzi.

È tutto lì nella directory Nomenclatura - Nomenclatura e Prezzi - Scarico.

Proprio così Colonne, seleziona le colonne che devono essere create nel documento Excel. Selezione serve per la selezione della nomenclatura per gruppi, proprietà, nomi... ecc.

Per caricare su Excel aggiungeremo una nuova colonna, ovvero l'aliquota IVA, non sembra essere molto necessaria, ma ci stiamo esercitando.

Mangiare vari modi per aprire in 1C file Excel e viceversa. Gli utenti principianti preferiranno operazioni più semplici salvando il documento in un formato diverso o utilizzando programmi speciali. Ma vale la pena fare un piccolo sforzo e imparare a lavorare Software per visualizzare ed elaborare i dati da un programma all'altro. Queste competenze di programmazione di base ti aiuteranno a evitare attività di routine in futuro.

Come aprire documenti Excel in 1C e viceversa

L'editor di fogli di calcolo di Microsoft Excel ha funzionalità superiori rispetto ai prodotti software di contabilità 1C. Pertanto, gli utenti 1C preferiscono eseguire alcune operazioni in un editor di fogli di calcolo e quindi restituire i dati al programma di contabilità. E questo non sorprende, perché in precedenza la contabilità di molte aziende veniva effettuata esclusivamente utilizzando programmi Microsoft. Ma con l'attuale livello di automazione dei processi aziendali delle imprese, è impossibile abbandonare i programmi specializzati. Per stabilire l'interazione tra diverse applicazioni, esistono i seguenti semplici modi:

    Quando devi gestire file software che non sono installati sul tuo computer attuale, il modo più semplice è utilizzare applicazione speciale per convertire le tabelle Excel nel formato 1C e viceversa. Può essere trovato sul sito web del prodotto 1C.

    Se il tuo computer ha sia 1C che Excel, puoi aprire manualmente il file nella sua applicazione "nativa" e quindi salvarlo nel formato di un altro programma. Di solito questa opzione è disponibile durante il salvataggio modulo stampato o disposizione.

    Gli utenti di 1C 7.7 possono eseguire l'aggiornamento alla versione 1C 8, che dispone di un editor di tabelle migliorato.

Come 1C ed Excel possono interagire a livello di programmazione

L'interazione tra 1C ed Excel può essere eseguita a livello di programma utilizzando la tecnologia OLE Automation sviluppata da Microsoft. Ti consente di accedere agli oggetti COM direttamente dagli interpreti di script di vari programmi. In poche parole, OLE consente di trasferire un pezzo di lavoro da un programma a un altro e quindi di restituire il lavoro all'applicazione originale. Questo è esattamente ciò di cui i contabili hanno bisogno da Microsoft Spreadsheet Editor.

Non è necessario essere un programmatore per utilizzare gli strumenti OLE. Sebbene la prima conoscenza delle righe di codice sarà accompagnata da errori, il controllo aiuterà a identificarli e l'esperienza acquisita aiuterà a evitarli in futuro. Di seguito sono riportati i comandi più popolari (chiamati elenchi) per lavorare con i dati Excel nei programmi di contabilità e viceversa.

Come aprire un file Excel in 1C a livello di codice

Pertanto, se sul tuo computer sono installati entrambi i programmi tra i quali desideri scambiare dati, puoi organizzare l'interazione in modo programmatico. Per fare ciò, è necessario avviare entrambe le applicazioni, quindi utilizzare OLE per stabilire l'accesso da 1C a Excel:

  • Eccezione

    Report(ErrorDescription() + "Excel non è installato su questo computer!");

  • Fine del tentativo.

L'accesso all'editor delle tabelle è installato, ora utilizzando i seguenti comandi è necessario accedere a:

    documento specifico:

    • Libro = Excel.WorkBooks.Open(PercorsoFile)

    • Foglio = Libro.FoglidiLavoro(NumeroFoglio);

  • anche con un numero di foglio specifico:

    incluso con un nome di foglio specifico:

    • Foglio = Book.WorkSheets(NomeFoglio);

    • Valore = Foglio.Celle(NumeroRiga, NumeroColonna).Valore;

Per leggere i dati dalla prima pagina di un file, utilizzare i seguenti elenchi:

    Excel = CreaOggetto("Excel.Applicazione");

    Libro = Excel.WorkBooks.Open(PercorsoFile);

    Foglio = Libro.FoglidiLavoro(1);

    Colonne Totali = Foglio.Celle(1,1).CelleSpeciali(11).Colonna;

    Righe Totali = Foglio.Celle(1,1).CelleSpeciali(11).Riga;

    Per riga = 1 per ciclo TotalRows

    • Per colonna = 1 per ciclo colonne totali

      Valore = Abbr(Foglio.Celle(Riga,Colonna).Valore);

      FineCiclo;

    FineCiclo;

Ricorda, il percorso del file deve essere specificato per intero. Quando si salva il nome di un documento, non è possibile includere caratteri come \, /, :, *, ?, ", >,< и |.

Come aprire un file 1C tramite Excel a livello di codice

Per registrare i dati in Excel è necessario:

    o aprire un documento esistente:

    • Libro = Excel.WorkBooks.Open(Percorso del file) - per analogia con la lettura di un file Excel da 1C;

    o aggiungine uno nuovo:

    • Cartella di lavoro = Excel.WorkBooks.Add();

    Puoi creare un nuovo foglio in un nuovo documento:

    • Foglio = Libro.Fogli.Add();

    e aggiungi un nuovo valore alla cella:

    • Foglio.Celle(NumeroRiga, NumeroColonna).Valore = Valore; (i metodi per scrivere valori utilizzando OLE sono descritti in dettaglio su Internet).

  • Book.SaveAs(PercorsoFile);

    Eccezione

    Report(DescrizioneErrore()+"File non salvato!");

    Fine del tentativo.

Una volta terminato di lavorare con l'editor del foglio di calcolo, uscire utilizzando il comando speciale (Excel.Application.Quit();). Questo metodo aiuterà a risparmiare risorse del computer durante ulteriori lavori.

Pericoli durante lo scambio di dati tra 1C ed Excel

1C ed Excel sono stati sviluppati da aziende diverse e utilizzano modi diversi di gestire i dati. Pertanto, quando si trasferiscono le tabelle da un programma all'altro, ricordare le seguenti insidie:

    Vari separatori in numeri frazionari. Microsoft separa i numeri decimali utilizzando una virgola. Pertanto, quando si trasferiscono le tabelle dal programma di contabilità, non stupirsi dell'abbondanza di date e di altra confusione. È solo che in un programma di contabilità, per scrivere le frazioni può essere utilizzato un punto, che l'editor del foglio di calcolo Microsoft interpreterà come separatore di data e 15,5 si trasformerà in 15 maggio. Per elaborare i dati contabili in un editor di fogli di calcolo, il separatore dovrà essere sostituito con una virgola.

    Quando si trasferiscono dati da Excel a 1C, le costanti Excel che non sono presenti nel programma di contabilità potrebbero essere visualizzate in modo errato. Per decifrarli, è necessario accedere alla Guida dell'editor del foglio di calcolo o in modalità debug e controllare l'espressione numerica delle varie costanti.

Se hai bisogno di scambiare grandi quantità di dati o non riesci a eliminare gli errori, contatta i professionisti dell'azienda Setby per chiedere aiuto. Ti aiuteremo a risolvere i tuoi problemi a livello di programma e a comprendere i comandi necessari per il tuo lavoro.

In questo articolo considereremo con voi due argomenti molto importanti, il primo è, e il secondo è, ovviamente caricamento dei dati da 1c a Excel. Va notato che questi argomenti interessano due principali pubblici di utenti, ovvero:

  • Utenti del sistema 1C Enterprise
  • Programmatori 1C

Gli utenti 1C di solito vogliono ordinare, ad esempio trasferimento dei dati da Excel a 1c in conformità con i loro specifici requisiti di porting, mentre è più probabile che i programmatori 1C cerchino chiarimenti o esempi di codice. Sulla base di queste considerazioni, abbiamo deciso di dividere le informazioni fornite in questo articolo in due parti per utenti e programmatori 1C.

Caricamento 1C da Excel e caricamento da 1C a Excel attraverso gli occhi di un normale utente 1C

Molto spesso capita che in un'azienda o in qualche azienda, ad esempio, sia presente della documentazione archiviata sul computer in file Excel. E spesso gli utenti hanno una domanda, ma come? caricare o scaricare dati da Excel a 1C. Naturalmente, non puoi farlo senza la conoscenza della programmazione, quindi se sei un utente semplice, devi ordinare i servizi 1C da noi, perché assolutamente qualsiasi nostro programmatore 1C ti ascolterà sempre, seleziona una soluzione appositamente progettata solo per te e ti aiuterà sicuramente.

Perché non esiste un'elaborazione universale per il caricamento dei dati da Excel a 1C?

Rispondiamo a questa domanda e vediamo i suoi punti principali:

  1. Ogni utente ha diversi file Excel, i dati da cui vuole trasferirli a 1C; ovviamente questi file hanno un numero diverso di righe e colonne e portano anche carichi semantici diversi.
  2. Ogni utente lavora con una configurazione separata, ad es. le configurazioni possono essere diverse, ciò che funziona in una configurazione non funzionerà in un'altra configurazione senza aggiornamento.
  3. I dati di Excel devono essere trasferiti su oggetti diversi, quindi è necessario un codice diverso, perché ogni utente ha le proprie esigenze.

Per questi motivi è impossibile creare lavorazione universale Di caricamento dei dati da Excel a 1C.

Come i dati vengono caricati e scaricati da Excel in 1C utilizzando l'esempio di sviluppo reale

Ora diamo un'occhiata al generale come i dati vengono caricati e scaricati da Excel in 1C e come apparirà il tutto nella soluzione finale?. Di seguito viene presentato un esempio di sviluppo personalizzato reale, nonché il file Excel originale.

In questa elaborazione, è necessario prima selezionare un file Excel, quindi fare clic sul pulsante "Esegui", dopodiché i dati necessari da Excel verranno caricati nella parte tabellare. Ora tutto ciò che resta da fare all'utente è fare clic sul pulsante "Trasferisci sull'account", dopodiché i dati verranno trasferiti trasferito da Excel a 1C.

Caricamento dei dati da 1C a Excel avviene più o meno allo stesso modo, solo qui la complessità della scrittura dell'elaborazione dipende dal tipo di dati che devono essere scaricati dall'oggetto. Ad esempio, abbiamo una directory “Nomenclatura” e vogliamo scaricare il nome della nomenclatura stessa e l'unità di misura di questa nomenclatura, sebbene la nomenclatura stessa possa avere molti più dettagli, come tipo di nomenclatura, tipo di nomenclatura, nome completo, ecc.

Ho bisogno di un'elaborazione per caricare e/o scaricare dati da Excel, cosa devo fare?

Tutto quello che devi fare è prendere il telefono e chiamarci. Successivamente, i nostri specialisti eseguiranno tutte le azioni necessarie per assicurarti di ricevere esattamente ciò di cui hai bisogno. Se hai bisogno di eseguire un aggiornamento 1c urgente, chiamaci, saremo felici di aiutare ciascuno dei nostri clienti!

Caricamento e scaricamento di dati da Excel a 1C attraverso gli occhi di un normale programmatore 1C

Un po’ più in alto abbiamo dato tanto informazioni utili per gli utenti 1C, ora è il momento di parlare degli aspetti tecnici della scrittura del codice, oltre a fornire informazioni ai programmatori 1C che saranno molto utili per loro durante la scrittura del codice. Diamo un'occhiata alle principali funzioni utilizzate di frequente per lavorare con Excel.

Inizieremo con come connettere Excel a 1C; questo viene fatto utilizzando un oggetto COM. Affinché questo codice funzioni normalmente, è necessario che Excel sia installato sul computer, altrimenti non funzionerà nulla:

Dopo aver collegato Excel, dobbiamo aprirlo documento richiesto da cui verrà effettuato il bonifico:

Adesso dobbiamo selezionare un foglio del libro Excel; nella figura sopra vediamo come viene selezionato un foglio con un certo numero. Il numero del foglio è memorizzato nella variabile Numero foglio:

Possiamo scoprire il numero di fogli in un libro Excel utilizzando il campo "Conteggio":

Per ottenere il nome del foglio con un numero specifico, devi scrivere una riga come questa:

Dopo aver completato tutti i passaggi per lavorare con Excel stesso, il processo deve essere chiuso. Chiudilo, altrimenti si bloccherà:

Un esempio di una funzione che carica singole celle da Excel in 1C

Abbiamo esaminato le procedure e le funzioni di base che ogni programmatore 1C incontra durante la scrittura dell'elaborazione per caricare dati da Excel in 1C. Ora diamo uno sguardo più da vicino alla funzione che legge le singole celle in un file Excel.

Riteniamo che non vi siano ulteriori chiarimenti in merito questo codice Non è necessario presentarle, poiché tutte queste funzioni sono state discusse in dettaglio sopra.

Un esempio di funzione che carica tutti i dati da Excel in una sezione tabellare 1C

Abbiamo esaminato una funzione che visualizza le singole celle di Excel sullo schermo. Ma cosa succede se dobbiamo scaricare l'intero foglio Excel in una volta e esaminarlo in sequenza? Qui avremo bisogno del codice seguente:

Un esempio di una funzione che carica dati da 1C a Excel

Sopra, abbiamo discusso molte cose interessanti, ma non abbiamo toccato un argomento come il caricamento dei dati da 1C a Excel. In effetti, il principio di funzionamento qui è assolutamente quasi lo stesso, tranne per il fatto che creiamo a livello di codice un nuovo file Excel e lo scriviamo a livello di codice. Bene, per scrivere un valore in una cella, come probabilmente hai già intuito, devi inserire l'espressione Foglio.Cells(x, y) sul lato sinistro. Di seguito è presentato un esempio di download di dati da 1C a Excel:

La maggior parte delle organizzazioni nella pratica quotidiana utilizza il vecchio metodo per tenere traccia delle varie operazioni contabili. Software Excel da ufficio Microsoft. Ciò accade quando un'azienda è passata da poco al sistema 1C e le sezioni di reporting non sono state ancora adeguatamente debuggate, oppure il fornitore preferisce inviare un listino prezzi sotto forma di tabella pivot in formato .xls. Non sorprende che spesso sia necessario sostituire l'inserimento manuale delle posizioni con sistema automatizzato. Ciò ridurrà significativamente i tempi di compilazione dei documenti di nomenclatura e ridurrà il numero di errori, che è importante considerare quando si tratta di diverse dozzine o addirittura centinaia di articoli.


Questo problema può essere risolto diversi modi: alcune organizzazioni preferiscono affidare questo lavoro al proprio reparto IT, altre assumono sviluppatori che lavorano in un'azienda in franchising, ma questo è piuttosto costoso e richiede molto tempo.


Una via d'uscita molto più redditizia da questa situazione sarebbe quella di utilizzare la configurazione 1C appropriata, che elaborerà i dati in modo assolutamente gratuito e diventerà un assistente universale nell'integrazione di documenti 1C e fogli di calcolo Excel.


In questa sezione ti aiuteremo a capire come impostare il caricamento dei dati da un file .xls in una delle configurazioni software di 1C basate su 1C:Enterprise 8


Ogni utente della versione professionale di 1C: Enterprise 8 dispone già di tale elaborazione! È su disco!

Elaborazione tipica“Loading DataFrom Spreadsheet Document.epf”, situato nella sezione: “Supporto tecnologico”> “Supporto metodologico 1C:Enterprise 8”> “Rapporti ed elaborazioni universali”>

D:1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument Scarica


Nota: a partire da febbraio 2010 sul disco ITS questa elaborazione per le configurazioni sulla piattaforma 8.1, trovarsi in un'altra sezione: "Supporto tecnologico" > "Supporto metodologico 1C: Enterprise 8" > "Piattaforma 1C: Enterprise 8.1" > "Rapporti ed elaborazioni universali" > "Caricamento di dati da un documento foglio di calcolo".

D:1CIts\EXE\EXTREPS\UNIREPS81\UploadFromTableDocument Scarica


Dati di origine disponibili:

  • Listino prezzi in Excel “PriceOnlineKhimSnab.xls” - Microsoft Office Excel 97-2003 (.xls)
  • Configurazione tipica Enterprise Accounting Edition 2.0, release 2.0.12.2, piattaforma 8.2 (8.2.10.77)
  • È necessario caricare i nomi dei prodotti e i prezzi in 1C da Excel


Dal listino prezzi è necessario scaricare il libro di consultazione degli articoli in 1C: Contabilità 8.

Lanciamo il programma 1C. Per avviare l'elaborazione selezionare la voce di menu “File” > “Apri”.

Nella finestra che si apre troviamo il file di elaborazione

Si trova sul disco ITS nella directory \1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument

Se hai precedentemente copiato il file di elaborazione sul tuo computer, puoi selezionarlo.


Si aprirà una finestra


Si ricorda che il caricamento dei dati verrà effettuato in due fasi: Fase 1 - caricamento dei nomi e impostazione dei valori dei dettagli dei nuovi elementi della directory necessari per iniziare (unità di misura, aliquota IVA, attributo prodotto/servizio). Fase 2: download dei prezzi.

Caricamento titoli

Imposta la “Modalità download” - Carica nella directory “Visualizzazione directory” - Nomenclatura

Nella scheda "Documento tabella".

Fare clic sul pulsante ex1_b01.jpg “Apri file”, nella finestra di selezione che appare, troviamo la directory in cui abbiamo un listino prezzi in Excel da cui prevediamo di caricare i dati in 1C.


Il file potrebbe non essere visualizzato inizialmente. Imposta il tipo di file su " foglio Excel(*.xls)"


Seleziona il nostro file



Vengono visualizzati i dettagli della scheda articolo.

Impostazione delle opzioni di caricamento del titolo

Vogliamo attirare la vostra attenzione sull'aspetto del riconoscimento delle unità strutturali dei libri di riferimento della nomenclatura in 1C: programma di contabilità versione 8, perché uno dei punti chiave nell'identificazione di questi elementi è il nome. Se inizialmente le posizioni base informativa non sono stati compilati, sarà necessario tenere traccia delle posizioni duplicate e, se presenti, eliminarle.


I nomi duplicati sono difficili da evitare; è particolarmente difficile per i dipendenti che utilizzeranno questo tipo di caricamento non per inserire dati una tantum nell'elenco, ma per caricare sistematicamente le informazioni in modo automatico.


La questione è complicata dal fatto che il dipendente deve fare i conti con varie abbreviazioni e altre abbreviazioni, doppia ortografia del nome e uso di vari segni di punteggiatura.


Per un uso ripetuto e una quantità significativa di informazioni scaricate, si consiglia di utilizzarne un altro Software dalla serie "1C: Enterprise 8", ad esempio "1C: Trade Management 8", "1C: Small Firm Management 8" o "1C: Integrated Automation 8", che hanno il parametro "Articolo", che garantisce un riconoscimento affidabile di articoli caricati nelle directory dei dati degli articoli ed escludendo la possibilità di duplicazione dei nomi.


Linea " Unità base misurazioni" - nella colonna "Modalità di caricamento" seleziona "Installa", nella colonna "Valore predefinito" seleziona l'unità di misura (nel nostro caso - pz.)


La riga "Aliquota IVA" - nel nostro caso impostiamo l'IVA al 18% per tutti gli articoli scaricati, per questo, nella colonna "Modalità download", seleziona "Imposta", nella colonna "Valore predefinito", seleziona "18%" .


Se la merce ha un'IVA diversa, indicata in una colonna separata del listino prezzi scaricato, nella colonna "Modalità di caricamento" impostare "Cerca" e il numero della colonna corrispondente del listino prezzi nella "Colonna N. del documento di foglio di calcolo”.

Riga "Servizio" - nella colonna "Modalità di caricamento", seleziona "Installa", nella colonna "Valore predefinito", seleziona "No" (nel nostro caso, tutte le posizioni sono prodotti).


Noi abbiamo chiesto valori minimi nuovi elementi della directory della nomenclatura che ti permetteranno di iniziare a lavorare. Per chiudere il mese, distribuire i costi, creare la contabilità e rendicontazione fiscale Sarà necessario impostare i valori “Gruppo articoli” e “Voce di costo”; per le merci importate impostare “Paese di origine” e “Numero dichiarazione doganale”, ma questo potrà essere fatto successivamente utilizzando l’elaborazione di gruppo.


Se sei pronto per impostare i valori di questi dettagli ora, indica. Fai clic su "Download" nell'angolo in basso a destra, fai clic su "Sì" quando richiesto



Verifichiamo la presenza di nuovi elementi nel gruppo corrispondente del libro di consultazione degli articoli

Apri la scheda prodotto e verifica che i dettagli siano caricati correttamente


Se tutto è corretto, puoi procedere alla seconda fase: caricare i prezzi dal listino prezzi in Excel.


Se prevedi di utilizzare questa procedura di caricamento dati in futuro con le stesse impostazioni dei parametri di caricamento, ti consigliamo di salvare le impostazioni correnti. Per fare ciò, fai clic sul pulsante ex1_b03.jpg "Salva impostazioni" e assegna un nome chiaro all'impostazione corrente, ad esempio "Caricamento dei nomi dei prodotti dal listino prezzi Excel".


La prossima volta potrai caricare le impostazioni salvate facendo clic sul pulsante "Ripristina impostazioni" e selezionando quella desiderata dall'elenco.

Caricamento prezzi

In “Contabilità aziendale” Rev. 2.0, i prezzi vengono impostati utilizzando il documento “Impostazione prezzi articoli”.

Impostare "Modalità di caricamento" - "Sezione Carica nella tabella".

Nel campo "Link", seleziona "Impostazione dei prezzi degli articoli".


Qui possiamo selezionare un documento esistente nel quale vogliamo aggiungere nuovi elementi, oppure crearne uno Nuovo (consigliato), nel documento indichiamo quale “Tipo Prezzo” caricheremo (nel nostro esempio “Vendita al dettaglio”).


Fai clic su "Ok" e salva per ora documento vuoto. Ora seleziona questo nuovo documento salvato dal diario nella riga "Link". Nel campo" Parte tabellare» seleziona “Prodotti”

Ora devi andare alla scheda "Documento tabella".

Ancora una volta selezioniamo il nostro listino prezzi in Excel da cui abbiamo scaricato gli articoli, e ora scaricheremo i prezzi (vedi punto 5).