Lavorare tramite una connessione COM è più semplice di quanto pensi. Tre pilastri per lavorare con gli oggetti COM

Stampa (Ctrl+P)

Una delle opzioni per lo scambio di dati tra i database 1C è lo scambio tramite una connessione COM. Utilizzando una connessione COM, puoi connetterti da un database 1C a un altro e leggere o scrivere dati. Questo metodo può essere utilizzato sia nelle versioni client-server dei database che nei database di file. Questo articolo discute questi tipi di connessioni sulla piattaforma 8.3

connessione com

È possibile creare due tipi di oggetti COM per l'applicazione 1C. Queste sono vecchie connessioni V83.Applicazione e connessioni com V83.COMConnettore . In caso di V83.Applicazione Viene lanciata una copia quasi completa dell'applicazione 1C. In caso di utilizzo V83.COMConnettore Viene avviata una piccola parte del server. La velocità operativa in questo caso è maggiore, ma alcune funzioni potrebbero non essere disponibili. In particolare, lavorare con moduli e moduli comuni per i quali non è impostata la proprietà di lavorare con connessioni esterne. Per lo più dovresti usare V83.COMConnettore e solo in caso di mancanza di funzionalità V83.Applicazione. La differenza nella velocità operativa può essere particolarmente evidente nei database di grandi volumi. Per la piattaforma 8.2 utilizzato V82.Application o V82.COMConnector

Stabilire una connessione OLE

Connessione = Nuovo COMObject("V83.Application");

Stabilire una connessione COM

Connessione = Nuovo COMObject("V83.COMConnector");

Stringa di connessione

//Per l'opzione client-server
Stringa di connessione= “Srvr = ““NomeServer” “;Rif = “ “NomeBase” ;
//Per l'opzione modalità file:
Stringa di connessione= "File = ""PathKBase" “; Usr = Nome Utente; Password = Password";
Tentativo
Connessione = Connessione . Collegare(StringaConnessione) ;
Eccezione
Messaggio = Nuovo messaggio all'utente;
Messaggio . Testo = “Impossibile connettersi al database” + DescrizioneErrori(); Messaggio . Per segnalare();
Finetentativo;

Disconnessione

Connessione = Non definita;
Per oggetto V83.ApplicazioneÈ necessario terminare la connessione, altrimenti rimarrà una sessione incompleta che dovrà poi essere cancellata manualmente. In caso di V83.COMConnettore la connessione si interrompe automaticamente una volta completata la procedura con cui è stata effettuata la connessione. C'è ancora un piccolo punto. Per l'utente con cui viene effettuata la connessione, la casella di controllo "Richiedi conferma alla chiusura del programma" deve essere disabilitata nelle sue impostazioni.

Metodo NewObject()

Per creare un nuovo oggetto, puoi utilizzare il metodo NewObject(), ad esempio:

Per V83.COMConnettore

RichiestaCOM = Connessione. NuovoOggetto( "Richiesta ") ;
TabellaCOM = Connessione. NuovoOggetto( “Tabella dei valori”) ;
ArrayCOM = Connessione. NuovoOggetto("Array");

ViewCOM =Connessione.NuovoOggetto

Per V83.Applicazione

RichiestaOLE = Connessione. NuovoOggetto(" Richiesta ") ;
TableOLE = Connessione. NuovoOggetto(“Tabella dei valori”) ;
ArrayOLE = Connection.NewObject("Vettore");
ViewCOM =Connessione.NuovoOggetto("Identificatore univoco", StringUID);

RichiestaCOM . Testo ="SCEGLIERE
| Posizioni delle Organizzazioni.
| Posizioni delle organizzazioni.Nome
|DA | Directory.Posizioni delle organizzazioni
COME POSIZIONI DELLE ORGANIZZAZIONI”;

Risultato = RichiestaCOM. Correre();
Campione = Risultato. Scegliere () ;
Ciao selezione. Prossimo()Ciclo
FineCiclo;
Puoi anche utilizzare i gestori degli oggetti di configurazione:
DirectoryCOM = Connessione. Directory. Nome Directory;
DocumentCOM = Connessione. Documentazione. Nome del documento;
RegisterCOM = Connessione. Registri di informazione. NomeRegistro;

Ricezione e confronto dell'enumerazione tramite connessione COM

Per confrontare i valori degli elementi di enumerazione definiti nella configurazione, è necessario convertire questi elementi in uno dei tipi primitivi, il cui confronto è semplice. Tali tipi possono essere di tipo numerico o di tipo stringa. Puoi convertire il valore di un elemento di enumerazione in un tipo numerico come questo:

Articolo enum = Connection.Directories.Directory1.FindByCode(1).Props1;

PossibiliValues ​​= Enum Element.Metadata().Enum Values;

EnumerationElementNumber = PossibileValues.Index(PossibleValues.Find(Connection.XMLString(EnumerationElement)));

Se EnumerationItemNumber = 0 Allora Report( “Valore enumerativo1”);

ElseIfEnumerationItemNumber = 1 Poi Report("ValoreEnumerazione2");

finisci se;

Recupero di un oggetto tramite COM tramite identificatore

Attraverso i gestori di oggetti di configurazione otteniamo un oggetto com, ad esempio:
DocumentCOM = Connessione. Documentazione. Nome del documento;

Quindi otteniamo una stringa identificativa univoca:

StringUID =Connessione.string ( DocumentCOM.UniqueIdentifier())

Identificatore = Nuova U Identificatore univoco(StringUID);
CON linkByIdentifier = Documenti[NomeDocumento].GetLink(Identificatore);

Se devi trovare un oggetto com per documento per identificatore, devi scrivere in questo modo:

WidCOM = Connessione.NewObject("Identificatore univoco", StringUID);
LinkByIdentifier = Connection.Documents[NomeDocumento].GetLink(WidCOM);

Una delle opzioni per lo scambio di dati tra i database 1C è lo scambio tramite una connessione COM.

Utilizzando una connessione COM, puoi connetterti da un database 1C a un altro e leggere o scrivere dati. Questo metodo può essere utilizzato sia nelle versioni client-server dei database che nei database di file. In questo articolo vedremo esempi di questo tipo di connessione. Gli esempi utilizzano la piattaforma 8.2.

È possibile creare due tipi di oggetti COM per l'applicazione 1C. Questo V82.Applicazione E V82.COMConnettore. In caso di V82.Applicazione Viene lanciata una copia quasi completa dell'applicazione 1C. in caso di utilizzo V82.COMConnettore Viene avviata una piccola parte del server.
La velocità operativa in questo caso è maggiore, ma alcune funzioni potrebbero non essere disponibili. In particolare, lavorare con moduli e moduli comuni per i quali non è impostata la proprietà di lavorare con connessioni esterne. Per lo più dovresti usare V82.COMConnettore e solo in caso di mancanza di funzionalità V82.Applicazione. La differenza nella velocità operativa può essere particolarmente evidente nei database di grandi volumi.

Quindi iniziamo

  1. Creiamo un oggetto COM
    • Per V82.Applicazione Connessione = Nuovo COMObject("V82.Application" );
    • Per V82.COMConnettore Connessione = Nuovo COMObject("V82.COMConnector" );
  2. Creiamo una stringa di connessione
    • per la versione server del database ConnectionString = "Srvr = " "ServerName" ";Ref = " "BaseName" ;
    • per la versione del file del database ConnectionString = "File = " "PathKBase" "; Usr = Nome Utente; Pwd = Password";
  3. Connessione al database Tentativo di connessione = Connessione. Connetti(StringaConnessione) ; Messaggio di eccezione = Nuovo messaggio all'utente; Messaggio. Testo = + DescrizioneErrore() ; Messaggio. Per segnalare();
  4. Finetentativo; Disconnessione dal database

    Connessione = Non definita; V82.ApplicazioneÈ necessario terminare la connessione, altrimenti rimarrà una sessione incompleta che dovrà poi essere cancellata manualmente. In caso di V82.COMConnettore Per oggetto

    la connessione si interrompe automaticamente una volta completata la procedura con cui è stata stabilita la connessione. C'è ancora un piccolo punto.

Per l'utente con cui viene effettuata la connessione, la casella di controllo "Richiedi conferma alla chiusura del programma" deve essere disabilitata nelle sue impostazioni.

Ora mettiamo insieme tutto il codice Connessione = Nuovo COMObject("V82.Application" );//Connessione = Nuovo COMObject("V82.COMConnector"); ConnectionString = "Srvr = " "Server1C" ";Rif = " "MyBase" "; Usr = Petya; Pwd = 123" ;//ConnectionString = "File = ""C:\MyBase""; Usr = Petya; Pwd = 123"; Tentativo di connessione = Connessione. Connetti(StringaConnessione) ; Messaggio di eccezione = Nuovo messaggio all'utente; Messaggio. Testo ="Impossibile connettersi al database"

+ DescrizioneErrore(); Messaggio. Per segnalare(); V82.Applicazione Finetentativo; Connessione = Non definita; V82.COMConnettore viene applicato alla connessione. Quindi la richiesta viene elaborata utilizzando gli strumenti 1C standard. nel codice appare così:

Richiesta = Connessione. NuovoOggetto("Richiesta"); // Per V82.COMConnettore Richiesta = Connessione. NuovoOggetto("Richiesta"); // Per V82.Applicazione Richiesta. Testo = "SELEZIONA | Posizioni delle Organizzazioni. | Posizioni delle organizzazioni.Nome|DA | Directory. Posizioni delle Organizzazioni AS Posizioni delle Organizzazioni"; Risultato = Richiesta. Correre();

Campione = Risultato. Scegliere() ; Ciao selezione. Successivo() Ciclo EndLoop ; Per la versione 1C:Enterprise 8.3 tutto rimane invariato tranne che quando si creano oggetti COM è necessario utilizzare"Connettore V83.COM" O.


"V83.Applicazione"

Parole chiave: COM, connessione, esterno, OLE, Automazione, Connect, ComConnector, Srvr

  1. Quando si utilizzano connessioni COM 1C:Enterprise 8.0 per accedere ai dati, sono presenti i seguenti vantaggi rispetto all'utilizzo di un server di automazione:

  2. Creazione di una connessione più rapida, poiché non è necessario creare un processo separato del sistema operativo e tutte le azioni vengono eseguite all'interno del processo chiamante;
  3. Accesso più rapido alle proprietà e ai metodi degli oggetti 1C:Enterprise, poiché l'organizzazione di un accesso non richiede la comunicazione tra processi;

Minore consumo di risorse del sistema operativo.

  1. In generale, lavorare con 1C:Enterprise 8.0 tramite una connessione COM è simile a lavorare con 1C:Enterprise in modalità di automazione del server. Le differenze principali sono le seguenti:

  2. Nel caso di un server di automazione, viene avviata un'applicazione 1C:Enterprise 8.0 completa e, nel caso di una connessione COM, viene avviato un server COM in-process relativamente piccolo.
  3. Quando si lavora tramite una connessione COM, la funzionalità in un modo o nell'altro correlata all'organizzazione dell'interfaccia utente 1C:Enterprise 8.0 non è disponibile;

Quando si utilizza una connessione COM, il modulo applicativo di configurazione 1C:Enterprise 8.0 non viene utilizzato. Il suo ruolo quando si lavora con una connessione COM è svolto dal modulo di connessione esterno.

1.1 Procedura per stabilire una connessione COM

  1. Per organizzare l'accesso ai dati 1C:Enterprise 8.0 tramite una connessione COM, viene eseguita la seguente sequenza di azioni:

  2. viene creato un oggetto COM con l'identificatore V8.COMConnector, con l'aiuto del quale viene stabilita la connessione;
  3. viene richiamato il metodo Connect dell'oggetto V8.COMConnector creato in precedenza. Il metodo Connect restituisce un collegamento a un oggetto di connessione COM con l'infobase 1C:Enterprise 8.0;

Importante! A causa della mancanza di un'interfaccia utente in una connessione COM, non tutti gli oggetti, le proprietà e i metodi possono essere utilizzati in una connessione COM.

1C: Oggetti Enterprise accessibili dall'esterno tramite una connessione COM:

  1. Variabili esportate e procedure/funzioni del modulo join esterno

  2. Variabili esportate e procedure/funzioni dei moduli comuni
  3. Includere ed escludere interi moduli impostando le proprietà dei moduli comuni

  4. Includere ed escludere frammenti di moduli comuni utilizzando un preprocessore
  5. Contesto globale 1C:Enterprise 8.0, ad eccezione degli oggetti strettamente legati all'applicazione client (TextDocument, TabularDocument, ...)

1.2 Modulo di connessione esterno

Come già notato, le responsabilità del modulo applicativo quando si lavora tramite una connessione COM sono eseguite dal modulo di connessione esterno. Questo modulo può avere procedure di gestione eventi When SystemStarts() e WhenSystemCompletes(), che possono contenere azioni eseguite rispettivamente all'inizializzazione e alla terminazione della connessione.

Procedure, funzioni e variabili globali definite in un modulo join esterno con la parola chiave Export diventano, come nel caso di un modulo applicativo, parte del contesto globale.

1.3 Moduli comuni

Per i moduli comuni sono state introdotte le proprietà "Client", "Server" e "Connessione esterna". Hanno lo scopo di determinare nella configurazione l'utilizzo dei moduli nella versione client - server e in modalità di connessione COM.

1.4 Oggetto "V8.COMConnector"

L'unico compito risolto dall'oggetto COM V8.COMConnector è stabilire una connessione COM con la base di informazioni 1C:Enterprise 8.0. È possibile stabilire un numero illimitato di connessioni utilizzando un'istanza dell'oggetto V8.COMConnector. L'oggetto V8.COMConnector ha un singolo metodo Connect, progettato per stabilire una connessione COM con l'infobase 1C:Enterprise 8.0.

<СтрокаСоединенияИБ>

La linea di connessione con il sistema di sicurezza informatica è una catena di frammenti della forma Parametro=Valore. I frammenti sono separati tra loro da ";". Se un valore contiene spazi bianchi, deve essere racchiuso tra virgolette doppie (").

Parametri comuni:

Usr - nome utente;
Password: password.

Per la versione del file è definito il seguente parametro:

File: directory dell'infobase.

Per l'opzione client-server sono definiti i seguenti parametri:

Srvr - 1C: nome del server aziendale;
Rif: nome dell'infobase sul server.

Il metodo Connect stabilisce una connessione COM all'infobase 1C:Enterprise 8.0 e restituisce un collegamento all'oggetto connessione COM.

// Viene creato un oggetto connettore
V8 = Nuovo COMObject("V8.COMConnector");
// viene creato un oggetto di connessione COM
Connessione = V8.Connect("File=""c:\InfoBases\Trade""; Usr=""Direttore"";")

1.5 Oggetto connessione COM

Una connessione COM all'infobase 1C:Enterprise fornisce l'accesso completo al suo contesto globale (vedere “Contesto di esecuzione del modulo del programma”). Pertanto, una connessione COM può avere come metodi: costanti di sistema, valori specificati nel configuratore di oggetti a cui si accede tramite gestori (ad esempio costanti, enumerazioni, directory, documenti, log di documenti, report, elaborazioni, piani per tipi di caratteristiche, piani conti, piani di tipologie di calcolo, registri), nonché variabili dichiarate nel modulo di connessione esterna con la parola chiave Esporta.

Inoltre, la connessione COM dispone di un metodo NewObject aggiuntivo che può essere utilizzato per creare valori di determinati tipi.

tk = Connessione. NuovoOggetto("TabellaValori");

Metodo stringa Consente di ottenere rappresentazioni di stringa dei valori 1C:Enterprise.

Visualizza = Connection.String(Data.UniqueIdentifier());

1.6. Caratteristiche di lavorare con una connessione COM

In Automation e in una connessione COM, TRUE e FALSE hanno i seguenti valori: -1 (meno uno) e 0.

È possibile organizzare un pool di connessioni COM. Allo stesso tempo, diversi oggetti di connessione COM vengono creati IN ANTICIPO sul server ricevente 1C:Enterprise e ci vuole ancora meno tempo per stabilire una connessione, poiché non è necessario creare un nuovo oggetto.

È stato implementato un nuovo oggetto Query Builder, progettato per generare testi di query in base alle impostazioni specificate. Questo oggetto supporta la funzionalità del generatore di report che non è correlata all'output del report in un documento di foglio di calcolo o ad altre attività correlate all'interfaccia utente. Questo oggetto può essere utilizzato sul server 1C:Enterprise e in una connessione COM.

È possibile utilizzare oggetti COM quando si esegue il linguaggio integrato sul server 1C:Enterprise.

Gli errori COM vengono convertiti in eccezioni di lingua incorporate.

Se la configurazione tenta di creare un oggetto non valido, ad esempio un foglio di calcolo, in un modulo di join esterno, in un modulo condiviso o in un modulo oggetto, la connessione COM potrebbe non essere stabilita o potrebbe essere terminata in via eccezionale.

Un modo per trasferire i dati da una configurazione 1C a un'altra è una connessione software tramite COM. Molte aziende utilizzano diversi database tra i quali devono esserci determinate connessioni e dipendenze. Se è necessario non solo trasferire dati, ma anche eseguire determinate elaborazioni dei dati, la connessione COM sarà il meccanismo ottimale. La capacità di analizzare i dati da un altro database 1C è utile a qualsiasi sviluppatore.

Ci colleghiamo tramite COM al database 1C

Per implementare una connessione COM in 1C, viene utilizzato un meccanismo speciale chiamato COMConnector. Questo oggetto viene installato insieme alla piattaforma e viene utilizzato per connettere le infobase. Va notato che per le versioni 8.2 e 8.3 vengono utilizzati oggetti con nomi diversi: rispettivamente "V82.COMConnector" e "V83.COMConnector".

Ricorda che la durata della connessione COM al database costa una licenza: non lasciarti trasportare dall'esecuzione simultanea di più connessioni. Ciò è particolarmente importante per le organizzazioni che dispongono di un numero limitato di licenze. Questo problema può essere risolto con l'aiuto di attività di routine eseguite quando non sono presenti connessioni utente attive alla base informazioni.

Per poterti collegare ad un altro database e richiedere le informazioni necessarie, è necessario conoscere i seguenti dati:

  1. Di che tipo è: file o client-server;
  2. Dove si trova;
  3. Che nome e password puoi utilizzare per accedere?
  4. A quali dati sei interessato?

Dai primi tre punti, per implementare una connessione COM, è necessario creare una stringa di parametri. A seconda del tipo di sicurezza delle informazioni, avrà un aspetto diverso. Utilizzando la stringa ricevuta, viene stabilita una connessione con l'aiuto della quale è possibile raccogliere dati da un altro database per l'analisi e l'elaborazione utilizzando qualsiasi metodo.

Parametri di connessioneFileIB = "File=""Percorso_database""; Usr=""Nome_utente"";Pwd=""Password"""; Parametri di connessioneClientServerIB = "Srvr=""Nome_server""; Ref=""Nome_database""; Usr=""Nome_utente""; Pwd=""Password""";

La funzione di connessione è semplice e non dovrebbe sollevare dubbi se tutti i parametri sono specificati correttamente. Per velocizzare il debug e l'analisi dei possibili errori è meglio racchiudere la connessione nel costrutto “Try”. La funzione restituirà un valore di tipo “oggetto COM”, con il quale lavorerai per ottenere i dati necessari.

&OnServer Funzione ConnectToBase() parametri exportConnectionIB = "File=""E:\1c database\ERP""; Usr=""Amministratore"";Pwd=""1"""; V83COMCon= Nuovo COMObject("V83.COMConnector"); Tentativo di restituzione V83COMCon.Connect(parametri di connessione IB); Rapporto eccezioni (DescrizioneErrore()); Restituisce Non definito; Finetentativo; EndFunction

Attraverso una connessione COM puoi non solo selezionare i dati, ma anche aggiungerli al database a cui ti stai connettendo. Ricorda che possiamo trasferire 4 tipi di dati primitivi tramite un oggetto COM. Altre tipologie dovranno essere specificate utilizzando le funzioni di ricerca integrate della piattaforma. Tieni presente che le funzioni globali della piattaforma vengono richiamate anche tramite una connessione COM.

Riceviamo dati dal database 1C

Dopo aver ricevuto l'oggetto desiderato, è necessario leggere i dati da un altro database. Per fare ciò, utilizziamo una richiesta tramite una connessione COM in 1C 8.3 utilizzando il valore ricevuto del tipo "oggetto COM" dalla funzione. È importante connettersi prima al database e quindi eseguire la richiesta. L'esecuzione avviene tramite il metodo NewObject, specificando il tipo di oggetto sotto forma di stringa come parametro - "Richiesta".

&OnServer Procedura TestCOMOnServer() Connessione = ConnectToBase(); Se TypeValue(Connessione) Type("Non definito") Then RequestBPZO = Connection.NewObject("Richiesta"); RequestBPZO.Text = "SELEZIONA i primi 15 | DirectoryUser.Nome AS Nome |FROM | Directory.users AS DirectoryUser"; Seleziona = RichiediBPZO.Execute().select(); Mentre Selection.next() esegue il ciclo Report(Selection.Number); FineCiclo; finisci se; Fine della procedura >

Ad esempio, per ottenere informazioni sugli utenti di un determinato dipartimento, imposteremo una condizione nella richiesta tramite parametri. Un parametro sarà di tipo semplice: una stringa e la divisione sarà un collegamento all'elemento della directory "Struttura aziendale". Il risultato della query è una tabella con i campi elencati del tipo esistente nel database a cui si è verificata la connessione COM. Se devi convertirli in altre tipologie, utilizza le funzioni standard della piattaforma:

  • Linea();
  • Numero();
  • Data di().
RichiestaBPZO = Connection.NewObject("Richiesta"); RequestBPZO.Text = "SELEZIONA i primi 15 | DirectoryUser.Name AS Nome | FROM | Directory.Users AS DirectoryUser I WHERE | DirectoryUser.Department = &RequiredDepartment | E DirectoryUser.Name come ""%"" + &RequiredName+ ""%""" ; Richiesta BPZO.SetParameter("Dipartimento richiesto", Connessione. Directory. Struttura aziendale. Trova per codice("00-000023")); RequestBPZO.SetParameter("RequiredName","Ekaterina"); Seleziona = RichiediBPZO.Execute().select(); Mentre Selection.next() esegue il ciclo Report(Selection.Name); FineCiclo;

Se è necessario trasferire un array nel database per la selezione in base a diversi parametri, ad esempio i dipartimenti, viene utilizzato anche il comando NewObject. Allo stesso modo, puoi passare un elenco o una tabella di valori, riempiendoli con elementi di un altro database tramite una connessione. Tutti i metodi esistenti di oggetti e meccanismi della piattaforma sono a tua disposizione per la ricerca.

RichiestaBPZO = Connection.NewObject.("Richiesta"); RequestBPZO.Text = "SELEZIONA i primi 15 | DirectoryUser.Name AS Nome | FROM | Directory.Users AS DirectoryUser I WHERE | DirectoryUser.Department B (&NecessaryDepartment) | E DirectoryUser.Name come ""%"" + &NecessaryName+ ""%" " "; Array di dipartimenti = Connection.NewObject("Array"); Array di dipartimenti.Add(Connection.Directories.Enterprise Structure.Find By Code("00-000023")); Array di dipartimenti.Add(Connection.Directories.Enterprise Structure.Find By Code("00-000038")); Array di dipartimenti.Add(Connection.Directories.Enterprise Structure.Find By Code("00-000046")); Richiesta BPZO.SetParameter("Dipartimento richiesto", Array di dipartimenti); RequestBPZO.SetParameter("RequiredName","Ekaterina"); Seleziona = RichiediBPZO.Execute().select(); Mentre Selection.next() esegue il ciclo Report(Selection.Name); FineCiclo;

Quando si trasferiscono documenti o elementi di directory, si pone sempre la questione del controllo del trasferimento di un oggetto specifico. Con l'aiuto delle connessioni COM, tali problemi possono essere risolti tramite un identificatore univoco. È necessario trovare un oggetto nel database del plug-in in base all'identificatore dalla sicurezza informatica corrente utilizzando la funzione "GetLink", utilizzando l'identificatore come una stringa. Se non ne viene trovato uno, puoi crearlo utilizzando una connessione COM.

StrIdent = String(Directories.Users.FindByCode("00-0000313").UniqueIdentifier()); Se NON ValueFilled(Connection.Directories.Users.GetLink(Connection.NewObject("UniqueIdentifier", StrIdent))) allora NewUser = Connection.Directories.Users.CreateItem(); NuovoUtente.Nome = Directory.Users.FindByCode("00-0000313").Nome; NuovoUtente.Individuo = Directory.Users.FindByCode("00-0000313").Individuo; NuovoUtente.Write(); finisci se;

Inoltre, una connessione COM ha il diritto di utilizzare procedure e funzioni dei comuni moduli 1C con la proprietà "Connessione esterna" abilitata. Oltre a questa condizione, la funzione o procedura richiamata deve essere esportata e non includere azioni interattive eseguite sul server. Altrimenti, vedrai un errore relativo all'operazione non valida.

Composto..; FunzioneVariabile = Connessione...; chiamata di funzione>nome generale del modulo>chiamata di procedura>nome generale del modulo>

Le possibilità di connessione esterna con un altro database in 1C sono piuttosto estese e possono consentire di eseguire molte attività. È importante saper valutare correttamente gli strumenti e scegliere la soluzione ottimale. Nella maggior parte dei casi, questa abilità emerge solo con l'esperienza o studiando esempi del lavoro di specialisti esperti.