Metodo oggetto non rilevato, l'attività di produzione è in corso. L'indice è esterno ai limiti dell'array

Buongiorno a tutti!

Molti di noi incontrano i prodotti software dell'azienda 1C nelle nostre attività. Inoltre, alcuni di noi a volte devono addirittura farlo assistenza prodotti 1C. A volte in questo “meraviglioso” processo di servizio si verificano vari incidenti. Oggi parleremo di uno di loro.

Vale a dire, l'argomento di questo materiale: Come correggere un errore che si verifica in 1C - Impossibile connettersi a un altro programma: metodo oggetto non trovato (Connetti).

Se sei abbastanza fortunato da vedere lo stesso errore riportato in questo screenshot, continua a leggere per scoprire come risolverlo 😉

Una piccola teoria introduttiva:

1C: Aziendale 8.x offre varie opportunità interessanti per organizzare lo scambio di dati con altri sistemi software. Insieme al meccanismo Automazione OLEè stato inoltre introdotto il concetto di connessione COM che consente un accesso affidabile e più veloce ai dati 1C:Enterprise 8.0 da applicazioni esterne che supportano questa tecnologia.

Per organizzare l'accesso ai dati 1C:Enterprise 8.0 tramite Connessione COMè creato Oggetto COM con documento d'identità V8.COMConnettore, con l'aiuto del quale viene stabilita la connessione. Successivamente viene richiamato il metodo Connect dell'oggetto V8.COMConnector creato in precedenza. Metodo di connessione restituisce un collegamento a un oggetto di connessione COM con l'infobase 1C:Enterprise 8.0. E attraverso l'oggetto di connessione COM ricevuto si accede ai metodi, alle proprietà e agli oggetti validi dell'infobase con cui viene stabilita la connessione.

Ora, sapendo da dove crescono le gambe, passiamo alla pratica. Diciamo che (durante un aggiornamento o qualche altra operazione) hai ricevuto un errore del tipo:

Per correggere l'errore che si verifica in 1C: il metodo dell'oggetto non è stato trovato (connetti), è necessario effettuare le seguenti operazioni:

Nelle ultime versioni dei sistemi operativi Windows, vai su “Servizi componenti”. Questa funzionalità viene richiamata nella seguente sequenza: Pannello di controllo - Amministrazione - Servizi componenti.

Selezionare: Computer – Risorse del computer – Applicazioni COM+ – Crea un'applicazione – Crea una nuova applicazione – inserisci il nome “V82COMConnector” (l'interruttore “Applicazione server”) – Utente specificato (Amministratore)

Nel thread che appare V82COMConnettore– selezionare il sottoramo Componenti – creare un nuovo componente – Installare nuovi componenti – \bin\comcntr.dll

Fare clic con il tasto destro sul ramo V82COMConnector - Proprietà - Sicurezza - deselezionare "Forza controllo accesso per applicazioni" - selezionare la casella "Applica criterio di restrizione software" - Livello di restrizione "Senza restrizioni":

Anche nei profili utente C:\Users\OurUser\AppData\Roaming\1C\1CEStart.cfg modificare il parametro UseHWLicenses=0 in UseHWLicenses=1

Dopo tutte queste modifiche, puoi (per purezza dell'esperimento) riavviare il computer e goderti ulteriore lavoro in 1C, ma senza questo errore (!)

PS Piccolo bonus alla fine: Aggiornamento 1C come amministratore

Molto spesso, alcuni dei tuoi clienti remoti sono contabili, ecc. - Non può aggiornare in modo indipendente i prodotti software 1C, richiede i diritti di amministratore e non vuole o ha "paura" di fare clic con il pulsante destro del mouse sul collegamento (e selezionare "Esegui come amministratore"). Ecco perché infastidisce costantemente il nostro fratello specialista IT.

Facciamo clic con il pulsante destro del mouse per lui, ma fallo una volta e dimentichiamoci di questo argomento per sempre!

Quindi, eseguiamo una configurazione una tantum: fai clic con il pulsante destro del mouse sul collegamento di avvio 1C, seleziona "Proprietà", fai clic su "Modifica impostazioni per tutti gli utenti" e seleziona la casella "Esegui questo programma come amministratore". Quindi fai clic su OK un paio di volte e dimentica il cliente “timoroso” 😉

Spero che tu sia riuscito a trovare alcune informazioni utili qui per te stesso. Scrivi nei commenti i tuoi "trucchi": insieme porteremo benefici educativi.

Arrivederci e tutto il meglio! 😉

Tu (o l'utente) lavori in 1C. All'improvviso: un errore. Cosa fare?

Naturalmente, la cosa più corretta è analizzare qual è l'errore 1C, le sue cause, dedicare un'ora o due per scoprire di cosa si tratta.

Cosa fare se ciò non è possibile? Nessun tempo, nessun desiderio, nessuna conoscenza sufficiente. Ecco alcuni suggerimenti molto dannosi per correggere rapidamente gli errori in 1C.

Messaggio di errore 1C

Il tipo tipico di messaggio di errore 1C è una finestra con il testo dell'errore 1C e i pulsanti OK e Altro.

Il testo dell'errore 1C visualizzato qui è un messaggio per l'utente; spesso non significa nulla per il programmatore, poiché l'errore 1C visualizzato potrebbe essere il risultato di alcune azioni errate.

Per correggere gli errori 1C, è necessario fare clic su Altro in questa finestra per visualizzare il messaggio di errore 1C del programmatore. Afferma:

  • , in cui si è verificato un errore 1C
  • La funzione di questo modulo in cui si è verificato l'errore 1C
  • Il numero di riga di questo modulo in cui si è verificato l'errore 1C.

Puoi anche fare clic sul pulsante Configuratore, quindi verrà aperto il configuratore, questo modulo, questa funzione su questa riga, dopodiché potrai correggere l'errore 1C.

Trucchi per comprendere gli errori

Come appena detto, il testo di un errore 1C è molto spesso conseguenza di azioni errate eseguite in precedenza.

Ad esempio, un testo di errore 1C molto comune recita:

Il valore non è un valore di tipo oggetto (WhatName)

Cosa significherebbe questo???

E questo significa quanto segue:

  • C'è una variabile
  • Il programma presuppone che il valore della variabile sia una directory o un documento o qualcosa di simile - in generale ha dettagli (campi)
  • Il programma tenta di accedere a un campo di questo oggetto
  • Tuttavia, l'errore 1C è che per qualche motivo nelle righe precedenti del programma questa variabile ha ricevuto un valore che non ha dettagli (campi), ad esempio il valore “Non definito”.

Correzione degli errori 1C più comuni

Naturalmente, non possiamo considerare tutti gli errori che potrebbero esistere in 1C in questo momento.
Proviamo a elencare brevemente gli errori 1C che si verificano frequentemente, nonché suggerimenti dannosi per correggere rapidamente gli errori 1C.

  • Se la variabile è di tipo Booleano (cioè accetta i valori True e False), è possibile accedervi in ​​questo modo:

    Se NomeVariabile Allora

    Questa scritta è simile:
    Se NomeVariabile = True Allora

    Tuttavia, se per qualche motivo questa variabile assume un valore non booleano, la prima opzione restituirà un errore 1C, ma la seconda no.

  • "Nome funzione XXX non trovato"

    Alcuni moduli vengono eseguiti sul server. Inoltre, alcune funzioni dello stesso modulo possono essere eseguite sia sul server che sul client.

    In questo caso, potrebbe verificarsi un errore 1C relativo al fatto che una funzione in esecuzione sul server chiama una funzione in esecuzione sul client. In questo caso, si verificherà un errore di questo tipo 1C.

    È necessario spostare tale funzione sul server, se possibile.

  • "Variabile denominata XXX non trovata"

    Simile al precedente errore 1C. Se il programma contiene una chiamata a una funzione che si trova in un modulo comune, apparirà così:
    NomeModulo.NomeFunzione();

    Se è impostato nelle proprietà del modulo che viene eseguito sul client e stiamo accedendo da quelle righe del programma che vengono eseguite sul server, si verificherà un errore 1C
    "Variabile non trovata - NomeModulo"

    Allo stesso modo è necessario abilitare l'esecuzione di questo modulo sul server.

  • "La proprietà XXX non è stata rilevata sull'oggetto"

    La parola "Proprietà" indica il campo di questo oggetto (attributo). Necessario:
    o Determina che tipo di oggetto è
    o Se si tratta di un libro di consultazione, di un documento, è necessario verificare se la proprietà si chiama davvero così
    o Se lo è oppure – guarda i dettagli del modulo con quel nome.

  • "Il metodo Xxxx non è stato rilevato sull'oggetto"

    La parola “metodo” si riferisce a una funzione/procedura in un modulo di questo oggetto.

    Necessario:
    o Determina che tipo di oggetto è
    o Trova il suo modulo (modulo oggetto se è un oggetto 1C, modulo modulo se è un modulo)
    o Verificare la presenza di una funzione con lo stesso nome.

  • “Errore 1C durante l'esecuzione di una richiesta”

    Ciò significa che c'è un errore 1C nel testo della richiesta. Il testo della richiesta viene solitamente determinato nel programma prima (cioè più in alto) rispetto a quando viene eseguito. Cerca il testo della query in questo modulo (con gli occhi in alto o cercando la parola "SELEZIONA").

    Prova ad analizzare il testo della richiesta o facendo clic con il pulsante destro del mouse sul testo della richiesta e prova ad aprire il progettista della richiesta per ottenere un suggerimento.

  • "Errore di layout 1C" - durante l'esecuzione di un report

    Questo errore 1C indica un errore 1C nel testo della richiesta o un errore 1C nelle impostazioni ACS (spesso nei raggruppamenti, nei campi selezionati, nella formattazione condizionale).

    Prova a partire dalle impostazioni, semplificandole notevolmente. Controlla che nei campi selezionati e nella formattazione condizionale non ci siano campi contrassegnati da una croce nell'elenco.

    Se il problema persiste, prova ad accedere al corpo della richiesta e a utilizzare il generatore di richieste per ottenere un suggerimento.

Tutti sanno che qualsiasi software può presentare diversi problemi di tanto in tanto o, in poche parole, non funzionare correttamente. Vengono chiamati tali fallimenti che portano all'interruzione del corretto funzionamento del sistema errori. Il programma 1c è un prodotto software (software), pertanto in questo programma possono verificarsi anche vari errori che portano al funzionamento errato del sistema. può essere molto vario e se non si dispone di una serie di conoscenze speciali nel campo della programmazione e delle specifiche dei meccanismi interni di 1C, non sarà in grado di comprendere e diagnosticare correttamente l'errore, tanto meno correggerlo. Qualsiasi nostro programmatore 1c è sempre pronto ad aiutarti a risolvere qualsiasi problema relativo 1s errori!

Cosa causa errori nel database 1C?

Ora parliamo un po' del perché possono accadere varie cose. errori nel database 1s quando si lavora con il programma. In effetti, le ragioni possono essere molte e tutte possono avere ragioni completamente diverse. Eppure cercheremo di comprendere in termini generali il motivo dell'emergere di vari errori in 1s.

Tipi di errori nel database 1C

Errori in 1 secondo Possono esserci molte varietà e possono accadere per una serie di motivi. In questo articolo non prenderemo in considerazione tutti i possibili errori 1c; cercheremo di evidenziare le cosiddette principali “tipologie” di errori riscontrati. Li chiamiamo convenzionalmente “tipi” poiché il contenuto dell'errore che il programma ti mostra è solitamente sempre diverso, ma la sostanza è spesso la stessa. Evidenziamo quindi quelli più comuni errori nel database 1s:

  1. Errore nel formato dello streaming
  2. Campo oggetto non trovato
  3. Metodo dell'oggetto non trovato
  4. Non abbastanza memoria
  5. Errori relativi alle tabelle SQL (rilevanti per i server 1C che vengono eseguiti su database relazionali, come MySQL)
  6. Errore di accesso 1s

Errore nel formato dello streaming in 1 secondo

Errore nel formato dello streaming di 1 secondo

Campo oggetto non trovato

Campo oggetto non trovato

L'indice è esterno ai limiti dell'array

Errore 1c

Errore nel formato dello streaming in 1 secondo

Questo errore si verifica molto spesso quando una sequenza di comandi viene erroneamente letta dal bytecode in uno stream, motivo per cui viene chiamato Errore nel formato dello streaming di 1 secondo. Qualsiasi transazione verrà interrotta se questo errore si verifica a seguito della sua esecuzione. Tali errori richiedono una correzione immediata poiché possono danneggiare il funzionamento del sistema 1C Enterprise. Questi errori possono essere corretti solo da programmatori 1C qualificati.

Campo oggetto non trovato

Se il sistema 1c ti dà un messaggio di errore con il testo " Campo oggetto non trovato", ciò significa che l'errore si verifica in una situazione in cui il programma tenta di accedere a un attributo (campo) di un oggetto che semplicemente non esiste. Questo errore ha la natura di un "errore di runtime" se si verifica in 1C Enterprise. Errori di questo tipo possono essere corretti anche solo programmatori.

L'indice è esterno ai limiti dell'array

Un array nella programmazione è una determinata area di memoria in cui sono memorizzati molti oggetti dello stesso tipo (in 1c tali tipi possono essere, ad esempio, DirectoryLink, DocumentObject, ecc., nonché qualsiasi tipo primitivo come numero, stringa, booleano , eccetera.). Errore 1c associato al superamento dei limiti di un array si verifica esattamente quando un programma accede ai limiti della memoria allocata per l'array. Di conseguenza, il programma in questo caso genera un errore e avvisa l'utente (programmatore) che si sta verificando un accesso all'esterno dell'array e questo a sua volta è un errore del software.

Metodo dell'oggetto non trovato

Un errore simile si verifica quando il sistema tenta di accedere a un metodo (funzione) di un oggetto la cui descrizione non esiste nel codice. Errori di questo tipo possono essere corretti dai programmatori.

Memoria insufficiente in 1 secondo

Questo errore si verifica se il sistema esaurisce tutta la RAM assegnata per l'esecuzione dei programmi nel sistema operativo, motivo per cui il programma genera l'errore " Memoria insufficiente in 1 secondo". Può verificarsi durante vari eventi come l'aggiornamento di una configurazione, l'elaborazione di un file di grandi dimensioni, durante la generazione di un report, il caricamento di un database di grandi dimensioni, ecc. L'utente può provare a correggere da solo tale errore.

Possibile correzione per l'errore 1c "Memoria insufficiente"

L'errore risiede nell'allocazione limitata della memoria indirizzi da parte del sistema operativo per il software (software).
I limiti di memoria degli indirizzi predefiniti sono:

  • per un sistema a 32 bit – 2 GB
  • per 64 bit – 4 GB

Per aumentare la dimensione della memoria dell'indirizzo è necessario effettuare le seguenti operazioni:

  1. Avvia la riga di comando: "Start - Esegui": digita CMD e premi Invio
  2. Ora nella riga di comando inserisci il testo senza virgolette “bcdedit /set increaseuserva 3072″, dove 3072 è la dimensione dell'indirizzo di memoria desiderato
  3. Riavviare il sistema operativo (computer)
  4. Prova a eseguire l'azione in 1C che prima non funzionava e causava un errore.
  5. Se tutto ha funzionato e l'operazione non viene ripetuta così spesso, si consiglia di riportare la dimensione della memoria dell'indirizzo al valore predefinito utilizzando il comando "bcdedit /deletevalue increaseuserva"

Errori relativi alle tabelle SQL

Errori di questo tipo si verificano solitamente lato server, quando il sistema accede alla tabella e non riesce a leggere i dati. Questo errore può verificarsi a causa di una configurazione errata del server, nonché a causa di danni alle tabelle SQL. In situazioni particolarmente difficili, potrebbe non essere nemmeno possibile ripristinare il database e quindi solo una copia archiviata del database potrà salvarti. Si consiglia vivamente di effettuare tempestivamente copie di backup del database.

Errore di accesso in 1 s

Questo errore si verifica quando un utente tenta di eseguire un'azione vietata dai diritti di accesso (ruoli). Per questo motivo il sistema segnala un errore di accesso pari a 1 s. I ruoli vengono configurati nel configuratore dal programmatore.

Impossibile correggere l'errore in 1 secondo?

Se non sei riuscito a correggere alcun errore in 1C, non disperare, prendi il telefono e chiamaci! I nostri specialisti sono sempre pronti ad aiutarti a risolvere qualsiasi problema relativo a 1C, inclusi gli errori che si verificano durante il funzionamento del sistema.