Come configurare smartphone e PC. Portale informativo
  • Casa
  • finestre10
  • 1c seleziona il file Excel. Quale è meglio: 1C o Excel? Impostazione delle opzioni di caricamento del titolo

1c seleziona il file Excel. Quale è meglio: 1C o Excel? Impostazione delle opzioni di caricamento del titolo

L'applicazione 1C è da tempo il programma più popolare tra contabili, pianificatori, economisti e manager. Non solo ha un numero diversificato di configurazioni per vari tipi di attività, ma anche la localizzazione secondo gli standard contabili in diversi paesi in tutto il mondo. Sempre più aziende stanno passando alla contabilità in questo programma. Ma la procedura per trasferire manualmente i dati da altri programmi di contabilità a 1C è un compito piuttosto lungo e noioso che richiede molto tempo. Se l'azienda conservasse i registri utilizzando Excel, il processo di trasferimento potrebbe essere notevolmente automatizzato e accelerato.

Il trasferimento dei dati da Excel a 1C è richiesto non solo durante il periodo iniziale di lavoro con questo programma. A volte si sente l'esigenza di qualcosa del genere quando, nel corso di un'attività, è necessario inserire alcune liste memorizzate nel foglio di calcolo del libro. Ad esempio, se devi trasferire listini prezzi o ordini da un negozio online. Se gli elenchi sono piccoli, puoi inserirli manualmente, ma cosa succede se contengono centinaia di elementi? Per velocizzare la procedura, puoi ricorrere ad alcune opzioni aggiuntive.

Quasi tutti i tipi di documenti sono adatti per il download automatico:

  • Elenco della nomenclatura;
  • Elenco delle controparti;
  • Listino prezzi;
  • Elenco degli ordini;
  • Informazioni su acquisti o vendite, ecc.

Va subito notato che 1C non dispone di strumenti integrati che consentano di trasferire dati da Excel. Per questi scopi è necessario collegare un bootloader esterno, che è un file nel formato epf.

Preparazione dei dati

Dovremo preparare i dati nella tabella Excel stessa.


Oltre a queste azioni universali per la preparazione dei dati in un libro Excel, sarà necessario anche adeguare il documento ai requisiti dello specifico caricatore che utilizzeremo, ma di questo ne parleremo un po 'più in basso.

Collegamento di un bootloader esterno

Collega un bootloader esterno con estensione epf l'applicazione 1C può essere eseguita sia prima che dopo la preparazione del file Excel. La cosa principale è che entrambe queste questioni preparatorie siano state risolte prima dell'inizio del processo di caricamento.

Esistono diversi caricatori di tabelle Excel esterni per 1C, creati da vari sviluppatori. Considereremo un esempio utilizzando uno strumento per l'elaborazione delle informazioni "Caricamento di dati da un foglio di calcolo" per la versione 1C 8.3.


Uno dei principali database con cui lavora 1C è un elenco di prodotti e servizi. Pertanto, per descrivere la procedura di caricamento da Excel, ci concentreremo sull'esempio del trasferimento di questa particolare tipologia di dati.

  1. Torniamo alla finestra di elaborazione. Poiché caricheremo la gamma di prodotti, l'interruttore nel parametro dovrebbe essere nella posizione "Elenco". Tuttavia, viene installato in questo modo per impostazione predefinita. Dovresti cambiarlo solo quando trasferirai un altro tipo di dati: una sezione tabellare o un registro di informazioni. Il prossimo in campo "Vista directory" Fare clic sul pulsante con i puntini di sospensione su di esso. Si apre un elenco a discesa. In esso dovremmo selezionare l'oggetto "Nomenclatura".
  2. Successivamente, il gestore inserisce automaticamente i campi utilizzati dal programma in questo tipo di libro di consultazione. Va subito notato che non è affatto necessario compilare tutti i campi.
  3. Ora apri nuovamente il documento Excel portatile. Se il nome delle sue colonne differisce dai nomi dei campi della directory 1C che contengono quelli corrispondenti, è necessario rinominare queste colonne in Excel in modo che i nomi corrispondano completamente. Se la tabella contiene colonne per le quali non esistono analoghi nella directory, è necessario eliminarle. Nel nostro caso, queste colonne sono "Quantità" E "Prezzo". Va inoltre aggiunto che l'ordine delle colonne nel documento deve rigorosamente coincidere con quello presentato in elaborazione. Se non disponi di dati per alcune delle colonne visualizzate nel caricatore, queste colonne possono essere lasciate vuote, ma la numerazione delle colonne in cui sono presenti dati deve corrispondere. Per comodità e velocità di modifica, puoi utilizzare una funzione speciale di Excel per spostare rapidamente le colonne in posizioni.

    Una volta completati questi passaggi, fare clic sull'icona "Salva", rappresentato da un'icona raffigurante un floppy disk nell'angolo in alto a sinistra della finestra. Quindi chiudere il file facendo clic sul pulsante di chiusura standard.

  4. Torniamo alla finestra di elaborazione 1C. Fare clic sul pulsante "Aprire", che viene mostrato come una cartella gialla.
  5. Si apre la finestra di apertura del file. Andiamo alla directory in cui si trova il documento Excel di cui abbiamo bisogno. L'interruttore di visualizzazione file predefinito è impostato su estensione mxl. Per mostrare il file di cui abbiamo bisogno, dobbiamo spostarlo nella posizione "Foglio Excel". Successivamente, seleziona il documento da trasferire e clicca sul pulsante "Aprire".
  6. Il contenuto viene quindi aperto nel gestore. Per verificare che i dati siano stati inseriti correttamente cliccare sul pulsante "Controllo del riempimento".
  7. Come possiamo vedere, lo strumento di controllo riempimento ci dice che non sono stati trovati errori.
  8. Passiamo ora alla scheda "Impostazioni". IN "Campo di ricerca" Mettiamo un segno di spunta nella riga che sarà univoco per tutti i nomi inseriti nella directory della nomenclatura. I campi più spesso utilizzati per questo sono "Articolo" O "Nome". Questo deve essere fatto in modo che quando si aggiungono nuovi elementi all'elenco, i dati non vengano duplicati.
  9. Dopo aver inserito tutti i dati e completato le impostazioni, è possibile procedere al caricamento diretto delle informazioni nella directory. Per fare ciò, fare clic sull'iscrizione "Carica dati".
  10. Il processo di download è in corso. Dopo il suo completamento, puoi andare al libro di consultazione dell'articolo e assicurarti che tutti i dati necessari siano stati aggiunti lì.

Abbiamo seguito la procedura per aggiungere dati alla directory della nomenclatura nel programma 1C 8.3. Per altre directory e documenti, il download verrà eseguito secondo lo stesso principio, ma con alcune sfumature che l'utente potrà capire da solo. Va inoltre notato che la procedura può differire per i diversi caricatori di terze parti, ma l'approccio generale rimane lo stesso per tutti: prima il processore carica le informazioni dal file nella finestra in cui viene modificato, e solo dopo le aggiunge direttamente nel database 1C.

  • Nello scambio di informazioni tra controparti (listini prezzi, report di riconciliazione, ecc.);
  • Per facilitare il lavoro degli operatori nei casi in cui la contabilità principale viene eseguita in 1C e parte di essa viene eseguita in tabelle Excel;
  • Quando si riempie il database per la prima volta.

Per eseguire questa operazione è possibile utilizzare sia funzionalità standard, disponibili con un abbonamento al supporto informatico (ITS), sia elaborazioni scritte indipendenti, implementate attraverso diverse opzioni di connessione. Nel nostro articolo cercheremo di analizzare nel modo più completo possibile tutti i casi possibili e di rispondere alla maggior parte delle domande esistenti relative al caricamento dei dati da Excel in 1C.

Meccanismo universale

Sui dischi ITS, così come sul portale 1C, accedendo al menu “Supporto tecnologico” -> “Rapporti ed elaborazioni universali”, l'elaborazione corrispondente si trova nella cartella “Caricamento dati da un documento foglio di calcolo”.

Quando lo si avvia, si apre il modulo (Fig. 1):

Come puoi vedere dal modulo, permette di trasferire informazioni ai seguenti oggetti di configurazione:

  1. Elenco;
  2. Parte tabellare di un documento o di un libro di consultazione;
  3. Registro delle informazioni.

A seconda della posizione in cui è impostato l'interruttore, il campo di selezione dell'oggetto cambia.

La scheda tabellare di elaborazione viene compilata all'apertura del file scaricato.

L'elaborazione tipica supporta i download da:

  • Sviluppato da specialisti di 1C, formato filemxl;
  • Listzxls salvato nel formatoExcel 97-2003;
  • File di testoTXT;
  • Tabelledbf.

Il caricamento di file Excel di grandi dimensioni può richiedere molto tempo, quindi se si presume che il caricamento dei dati possa avvenire in più fasi o si sa per certo che sarà necessario aprire un file esistente più volte, per risparmiare nervi e tempo, è meglio salvare le informazioni da esso in formato mxl. Questo può essere fatto direttamente dal modulo di elaborazione.

È importante capire che se nel file sorgente sono presenti raggruppamenti di righe, sottotitoli e note, questi dovranno essere rimossi manualmente.

Passiamo ora alla scheda “Impostazioni” (Fig. 2):

Fig.2

Molto spesso, le tabelle Excel contengono un'intestazione con tutti i tipi di dettagli e dati (nome del modulo stampato, dettagli della controparte, data e numero del documento in entrata, nomi delle colonne e così via). programma nel modulo, è necessario specificare nell'attributo “Prima riga del documento foglio di calcolo” la prima riga con le informazioni trasferite

Dopo aver selezionato un oggetto di metadati in cui verranno scritte le informazioni, la parte tabellare della scheda "Impostazioni" verrà automaticamente compilata con i nomi dei dettagli, le descrizioni dei loro tipi e altre informazioni importanti. Una sezione a parte va dedicata alla considerazione delle colonne della parte tabellare della scheda “Impostazioni”.

Colonne "Impostazioni"

Contrassegno: selezionando o deselezionando una casella di controllo in una riga, si determina se l'attributo corrispondente verrà compilato.

Rappresentazione dell'attributo – qui viene scritto il sinonimo (nome) dell'attributo dei metadati, come specificato nel configuratore.

Campo di ricerca - se si seleziona questo campo, l'elaborazione cercherà gli elementi utilizzando i dettagli corrispondenti e, in caso di successo, modificherà i dati esistenti. Una funzione aggiuntiva di questo campo è la protezione dai duplicati;

Descrizione dei tipi: visualizza il tipo di dati di un particolare attributo di metadati.

Modalità di avvio: offre tre opzioni tra cui scegliere (Fig. 3):

Fig.3

  • Cerca – verrà effettuata la ricerca dell'elemento corrispondente, se manca è possibile crearne uno nuovo;
  • Set – viene impostato subordinatamente un certo valore;
  • Calcola – in questo caso, il risultato del calcolo dell'espressione specificata nella colonna “Condizione di connessione/Espressione per valore” verrà impostato nel campo dell'elemento creato.

In quest'ultimo caso, attivando il campo Espressione si aprirà il modulo (Fig. 4).

Fig.4

Il numero di colonna è un campo utilizzato per indicare quale colonna della tabella Excel deve essere riempita con i dati.

Valore predefinito – molto spesso si verifica una situazione in cui il file scaricato non contiene tutti i dati necessari per registrare un elemento, in questo caso verranno compilate le informazioni contenute in questo campo;

Condizione di collegamento/Espressione per un valore – abbiamo già parzialmente toccato questo campo quando abbiamo esaminato i campi calcolati, inoltre è possibile specificare la condizione in base alla quale verranno sincronizzati i dati di origine;

Queste sono, in linea di principio, tutte le informazioni disponibili nella scheda "Impostazioni".

Per non perdere molto tempo ogni volta caricando, scrivendo corrispondenza ed espressioni, gli sviluppatori hanno fornito la possibilità di salvare l'opzione di configurazione in un file con estensione mxlz.

È possibile verificare la correttezza dei dati trasferiti cliccando sul pulsante “Controllo riempimento” (Fig. 1). Successivamente, puoi avviare il processo di download. Verrai avvisato separatamente in merito al completamento con successo della procedura o a situazioni insolite.

Esiste un altro meccanismo per caricare i dati da Excel nei database delle informazioni di gestione e commercio. È meno universale del metodo precedente, ma non richiede un abbonamento ITS ed è incluso nella consegna standard.

Questa elaborazione la trovate nella scheda “Acquisti”, nel menù “Servizi”, è denominata “Caricamento prezzi fornitore da file” (Fig. 5)

Fig.5

Il modulo di elaborazione contiene:

  1. Un campo di selezione della data che indicherà per quale ora questo prezzo è rilevante;
  2. Campo per la selezione della controparte che ha inviato il proprio listino prezzi;
  3. Un pulsante che permette di selezionare la tipologia di prezzi da impostare;
  4. Una parte tabellare che può essere riempita con i dati scaricati.

Questa forma può essere vista in Fig. 6

Fig.6

La spiegazione nella parte superiore del modulo spiega come utilizzare la prima scheda del modulo.

Dopo aver selezionato la controparte (a seconda che si tratti di fornitore, commissionario o venditore), nella tabella saranno disponibili colonne aggiuntive per ciascuna tipologia di prezzo.

Quando si lavora tramite l'interfaccia web, alcuni browser potrebbero richiedere l'installazione di un componente aggiuntivo del browser (Fig. 7). Dobbiamo fare clic sul pulsante "Avvia installazione" e riavviare la nostra connessione.

Fig.7

Successivamente, utilizzando gli appunti, potremo trasferire le informazioni da una tabella all'altra. Una volta compilate le colonne di cui abbiamo bisogno (“Articolo”, “Nome”, “Prezzo”), facciamo clic sul pulsante “Avanti” e andiamo alla seconda pagina (Fig. 8)

Fig.8

Il programma cercherà automaticamente le corrispondenze all'interno del database e, se non ne viene trovata alcuna, offrirà opzioni per eliminare l'errore. L'aspetto della parte tabulare può essere controllato utilizzando un interruttore. Inoltre, l'utente può confrontare autonomamente gli elementi del file scaricato con i dati disponibili nel database.

  • Registra tutto;
  • Registra solo quelli che sono cambiati rispetto a quelli già presenti nel database.

Nel campo di testo è possibile inserire un commento che verrà registrato nel documento (Fig. 9):

Fig.9

Una volta completata l'elaborazione:

  • L'elemento corrispondente verrà creato nella directory “Nomenclatura Fornitori” (se non esistesse);
  • Ad esso verrà associato l'elemento di directory “Nomenclatura”;
  • Verrà creato e pubblicato il documento “Impostazione prezzi articoli” indicante: fornitore, tipologia prezzi e data di registrazione dei dati.

L'elaborazione “Caricamento prodotti da file esterni” funziona in modo simile.

Opzioni di elaborazione del trasferimento fai-da-te

Il problema principale nell'estrazione dei dati da un file Excel è che 1C non dispone di un meccanismo univoco integrato per aprirlo. Esistono diverse opzioni per connettere Excel a 1C:

  • Tramite Microsoft ADODB: un metodo abbastanza veloce, che, di norma, è applicabile sia per le opzioni di archiviazione del database file che client-server;
  • Attraverso l'uso di Microsoft Office, un metodo che a volte fallisce quando si lavora con i database SQL, di norma funziona un po' più lentamente del primo metodo e richiede anche l'installazione di Office;
  • Tramite Libre Office - a differenza del metodo precedente, è gratuito, oltre ai formati xls e xlsx, supporta anche le proprie tabelle, ma richiede il pacchetto LibreOffice installato e una certa preparazione del file scaricato (la prima riga della tabella deve contenere i nomi delle colonne).

Diamo uno sguardo più da vicino ai vari metodi e opzioni.

Tramite ADODB.Connection

In generale, ADO sta per ActiveX Data Object e viene utilizzato per l'accesso programmatico a vari database. Il problema più grande quando si crea una connessione a un file di terze parti (incluso Excel) è comporre correttamente la stringa di connessione.

Per i file Excel, sono disponibili tre opzioni:

Opzioni della stringa di connessione:

  • Provider – qui viene definito il driver utilizzato;
  • Data Source – definisce il nome del file che apriremo;
  • Proprietà estese – qui puoi specificare se è necessaria una riga di intestazione per la tabella (HDR = YES indica che i dati verranno letti dalla prima riga, HDR = NO - cosa dalla seconda), se il file è aperto in sola lettura (Sola lettura) e alcuni altri parametri aggiuntivi.

Creata una stringa di connessione possiamo collegarci al file scaricato (Fig. 13)

Fig.13

Ora possiamo utilizzare una semplice richiesta (Fig. 14) per iniziare a recuperare le informazioni dal file scaricato.

In questo caso, il parametro "Foglio" determina con quale foglio della cartella di lavoro di Excel lavoreremo.

L'insieme di record archiviati in un foglio di lavoro può essere letto utilizzando un oggetto Recordset. In questo caso il primo record del foglio può essere ottenuto utilizzando il parametro BOF (inizio file), e l'ultimo EOF (fine file).

Tramite applicazione Excel

La differenza principale rispetto al metodo precedente è che, oltre ai driver del database, sul computer su cui viene effettuata la connessione deve essere installato Excel. Solo in questo caso possiamo inizializzare l'applicazione per leggere i dati dalla tabella (Figura 16).

Questo oggetto COM ha diversi parametri figlio, ma quello principale per noi, date le condizioni attuali dell'attività, è il parametro WorkBooks (Fig. 17).

Dopo aver inizializzato la cartella di lavoro, è necessario determinare il foglio da cui verranno letti i dati (Fig. 18).

Successivamente, puoi scorrere le righe e le colonne della tabella del file da aprire.

Qualche parola sui possibili errori

La maggior parte degli errori durante la connessione a un file è dovuta al fatto che il file è già occupato da un'altra applicazione. Va bene se puoi vedere nella barra delle applicazioni che Excel è in esecuzione sul computer, ma se tu o un altro utente lo avete aperto da un'elaborazione esterna, questo può essere determinato solo visivamente tramite il "Task Manager", quindi non dimenticare di chiudere la connessione prima di completare la procedura di trasferimento:

Nel caso di lavorazione tramite ADO (Fig. 19);

Fig.19

  • In caso di lavoro con l'applicazione (Fig. 20).

Riso. 20.

È meglio organizzare la connessione e la procedura per completare il lavoro con i dati all'interno del costrutto Attempt-Exception-EndAttempt, richiamando una descrizione dell'errore in una situazione eccezionale. Sebbene ciò a volte rallenti il ​​lavoro, rende molto più semplice determinare la causa dell'errore e, in definitiva, come eliminarlo.

Molto spesso, quando comunico con potenziali clienti, sento che la funzionalità della tabella del pacchetto Office è abbastanza per loro e non vedono il punto nei programmi 1C. Questo perché alcune persone associano ancora questa soluzione solo a programmi per commercialisti, il che non è vero.

Excel è un prodotto universale e prodotto in serie, su questo non si può discutere. Quasi tutti possono utilizzare questo programma, a differenza degli sviluppi 1C, rivolti a specialisti ristretti. Utilizzando le tabelle “verdi”, puoi implementare liberamente le funzionalità necessarie, che saranno convenienti: ecco il modello finanziario dell'organizzazione con tutti i regolamenti reciproci, la contabilità di gestione, anche regolamentata, un'ampia selezione di visualizzazione dei dati, la possibilità di espandere le capacità del programma tu stesso, utilizzando vari componenti aggiuntivi: tutto è nelle tue mani, tutto da zero...

Va bene se stai appena avviando la tua attività, tenendo gradualmente conto dei dati necessari nella tabella sui rapporti con clienti, fornitori, autorità di regolamentazione, costruendo la tua struttura arbitraria, ma cosa fare dopo quando il database diventa voluminoso e il numero del personale a dozzine? Conti ancora secondo i tuoi parametri? Sono favorevole a non confondere la comodità con l'abitudine, che spesso interferisce con la sistematizzazione del business e, di conseguenza, con la sua ottimizzazione.

Per chiarezza, immaginiamo quali esigenze possono sorgere per l’automazione contabile, ad esempio, per il commercio:

1. Analisi delle vendite entro un certo periodo.

Il capo del reparto vendite può analizzare i dati di vendita. È importante per lui capire se il piano è in fase di attuazione, quanto sono efficaci le sue strategie, in modo che in caso di inefficacia possa apportare tempestivi adeguamenti al lavoro.

2. Contabilità di magazzino.
Devo spiegare che per le vendite è importante anche capire la disponibilità della merce in magazzino, quale merce si può prenotare e quale è esaurita e cosa è necessario ordinare? Penso che qui sia tutto chiaro.

3. Mantenimento di un database di controparti.
Anche se il proprietario vende solo ciò che può essere acquistato qui e ora, cosa tipica del settore B2C, allora ha un rapporto leggermente diverso con la base dei fornitori: contratti, primari... Immagina quanto sia conveniente quando tutto ciò che è connesso con fornitore viene automaticamente Viene immediatamente visualizzato in un unico database? Il responsabile del magazzino vede immediatamente la disponibilità della merce in magazzino, un altro dipendente responsabile dei documenti monitora le informazioni sulla loro disponibilità, se tutti gli obblighi previsti dai rapporti contrattuali sono adempiuti, chi deve a chi e quanto. E in caso di discrepanze, puoi riconciliare i dati per un certo periodo, generando un risultato in meno di un minuto.

4. Profitto dell'organizzazione.
Generare un rapporto sui profitti non sarà difficile, poiché tutti i dati su spese e entrate sono già presenti nel database. A condizione che le informazioni siano inserite in modo tempestivo, almeno entro la data richiesta. Il fattore fondamentale qui è la responsabilità personale dell'utente.

Se non avete molti clienti e fornitori, Excel fa al caso vostro, dato che avete tutto il tempo per disegnare i vostri diagrammi nella tabella e compilarli, per poi distribuire i documenti in varie cartelle del computer: contratti, fornitori, clienti, clienti nelle vicinanze, clienti in fase di sviluppo, clienti da eliminare: un processo infinito e affascinante di creazione di cartelle all'interno di una cartella. E se le informazioni sono tante, conviene tenere traccia del proprio database? Naturalmente ci sono sempre delle eccezioni; a volte ci sono organizzazioni con grandi fatturati i cui dati finanziari vengono gestiti solo in Excel. Quanto tempo impiegano per scambiare e combinare i dati tra i dipartimenti? Risponderò: molto.

Non riesco a immaginare come trovare rapidamente quello che ti serve in un gran numero di documenti Excel organizzati in un sistema arbitrario. Ad esempio, quando si forniscono documenti per requisiti da parte dell'ufficio delle imposte. Come farà un contabile a presentare rapporti alle autorità di regolamentazione quando le informazioni sono tutte disperse? La contabilità, ovviamente, può essere esternalizzata e, sfortunatamente, ad alcuni imprenditori potrebbe non interessare quali processi potrebbe avere un determinato specialista fintanto che bilancia i saldi. Ma anche se così fosse, come è organizzato il processo di scambio dei documenti? Quanto velocemente un dipendente esterno capirà la struttura informativa improvvisata?

Non posso dire lo stesso di 1C, poiché tutte le informazioni sono strutturate e interconnesse:

    Un unico database sia per i dipendenti remoti che a tempo pieno, in cui è possibile lavorare con tutti i documenti standardizzati e personalizzati;
    Il reporting alle autorità di regolamentazione viene generato sulla base dei dati già riflessi nel programma, non è necessario aprire molti file o combinare diversi valori in un'unica tabella per ottenere i risultati finali.
"1C", in senso buono, è un sistema multitasking che mira sia a compiti contabili tipici sia ad automatizzare tutti i processi organizzativi, a seconda del campo di attività. La parola principale qui è sistema. Nessuno ti impedisce di organizzare il tuo sistema aziendale in Excel, ma perché reinventare la ruota quando esistono soluzioni che coprono quasi tutte le esigenze di ottimizzazione dei tempi e dei costi finanziari, aiutando a sistematizzare il tuo lavoro?

In difesa di Excel

Probabilmente ti è sembrato che io sia contrario alla costruzione di dati in tabelle "verdi". Affatto. In effetti, io stesso faccio spesso affari in Excel: se ho bisogno di calcoli arbitrari, se ho bisogno di segmentare i dati per cliente, conducendo analisi basate su parametri che non sono in 1C - sì, succede - vado su " Excel". In poche parole, nelle tabelle eseguo calcoli e analisi non standard, ma poi sistematizzo comunque tutto in 1C.

E poi, per visualizzare i file caricati da 1C avrai comunque bisogno di Excel, poiché i dati in 1C sono archiviati in fogli di calcolo. Pensi che questo sia un circolo vizioso? Lo dirò diversamente: "1C" ed "Excel" vanno fianco a fianco come due partner, ma ognuno di loro ha il suo scopo, si completano bene a vicenda, ma non si sostituiscono a vicenda.

Se hai bisogno di sistematizzare i tuoi affari tenendo conto del sistema legislativo del nostro stato, tenendo conto delle specificità e del focus dell'attività, soprattutto quando si tratta di grandi volumi di informazioni, allora hai bisogno di 1C. Se hai bisogno di calcoli arbitrari, di costruire una strategia da zero, di visualizzare dati analitici non standard, allora Excel è al tuo servizio. Ma è molto più conveniente lavorare con queste soluzioni contemporaneamente.


Qual è il risultato finale: “1C” o “Excel”?

All'inizio, se la domanda riguarda le finanze per l'automazione, sebbene i programmi 1C di base non costino così tanti soldi, utilizzerei Excel. Un enorme vantaggio è che i dati delle tabelle "verdi" possono essere caricati in 1C senza perdite. Ma man mano che espandi, ti consiglierei di prestare attenzione ai programmi per automatizzare i processi aziendali. Ce ne sono molti e potrebbe non essere necessariamente 1C...

Il passaggio a “1C” può essere effettuato quando si comprende che è necessario ottimizzare le proprie risorse, inclusa l’automazione delle questioni relative ai rapporti con clienti e fornitori e con le autorità di vigilanza. In generale, adatta i tuoi processi di lavoro per aumentare l'efficienza aziendale quando l'elaborazione delle informazioni richiederà molto tempo e i file Excel non saranno più in grado di far fronte al volume dei dati di input.

Tuttavia, non tutti i “1C” potrebbero essere adatti a te; devi tenere conto di vari fattori: le specificità e la portata dell’attività, le dimensioni, la necessità di attività quotidiane, la routine da ridurre al minimo. Tutto è individuale. La verità, come ho già detto, è a metà tra "1C" ed "Excel": si completano a vicenda.

Probabilmente è tutto. Ma se hai domande, contattaci, cercheremo di aiutarti. Processi aziendali di successo, colleghi!

Esistono vari modi per aprire un file Excel in 1C e viceversa. Gli utenti principianti preferiranno operazioni più semplici salvando il documento in un formato diverso o utilizzando programmi speciali. Ma vale la pena dedicare un piccolo sforzo e imparare a lavorare con gli strumenti 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 hai a che fare con file di prodotti software che non sono installati sul tuo computer attuale, il modo più semplice è utilizzare un'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. In genere questa opzione è disponibile quando si salva un documento stampabile o un layout.

    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 dall'editor di fogli di calcolo di Microsoft.

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.

È stato stabilito l'accesso all'editor delle tabelle, 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.

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, PercorsoFile— nome del file da caricare, TabularDocumentFileType.XLSX— formato del 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 PercorsoFile- 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( PercorsoKFile);

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( PercorsoKFile);
// 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 bypassare 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;
fineSe;
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 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 . Nonproteggere();
Impostazione dell'orientamento della pagina Foglio . Impostazione pagina. Orientamento = 2; 1 - ritratto, 2 - paesaggio
Impostazione del bordo sinistro Foglio . Impostazione pagina. Margine sinistro = Excel. CentimetriAPunti(Centimetri);
Impostazione del limite superiore Foglio . Impostazione pagina. Margine superiore = Excel. CentimetriAPunti(Centimetri);
Impostazione del bordo destro Foglio . Impostazione pagina. Margine destro = Excel. CentimetriAPunti(Centimetri);
Impostazione del limite inferiore Foglio . Impostazione 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 - 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 alla sintassi, COMSafeArray è un wrapper di oggetti su un array 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 di un'area del foglio di lavoro Excel ai valori di 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:

// Creazione di 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 con nome... menù 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.

I migliori articoli sull'argomento