Método de objeto no detectado, la actividad de producción está en curso. El índice está fuera de los límites de la matriz.

¡Buen día a todos!

Muchos de nosotros nos encontramos con productos de software de 1C Company en nuestras actividades. Además, algunos de nosotros a veces incluso tenemos que servicio de productos 1C. A veces en este “maravilloso” proceso de servicio surgen diversas incidencias. Hoy hablaremos de uno de ellos.

Es decir, el tema de este material: Cómo solucionar un error que ocurre en 1C - No se pudo conectar a otro programa: Método de objeto no encontrado (Conectar).

Si tienes la suerte de ver el mismo error que en esta captura de pantalla, sigue leyendo para descubrir cómo solucionarlo 😉

Una pequeña teoría introductoria:

1C: Empresa 8.x ofrece varias oportunidades interesantes para organizar el intercambio de datos con otros sistemas de software. Junto con el mecanismo Automatización OLE También se introdujo el concepto de conexión COM, que permite un acceso confiable y más rápido a los datos de 1C:Enterprise 8.0 desde aplicaciones externas que admiten esta tecnología.

Para organizar el acceso a los datos de 1C:Enterprise 8.0 a través de conexión COM es creado Objeto COM con identificación Conector V8.COM, con la ayuda del cual se establece la conexión. Luego se llama al método Connect del objeto V8.COMConnector creado anteriormente. Método de conexión devuelve un enlace a un objeto de conexión COM con la base de datos 1C:Enterprise 8.0. Y a través del objeto de conexión COM recibido se accede a los métodos, propiedades y objetos válidos de la infobase con la que se establece la conexión.

Ahora que sabemos de dónde crecen las piernas, pasemos a la práctica. Digamos que (durante una actualización o alguna otra operación) recibió un error como:

Para corregir el error que ocurre en 1C: no se encontró el método del objeto (conectar), debe hacer lo siguiente:

En las últimas versiones de los sistemas operativos Windows, vaya a "Servicios de componentes". Esta funcionalidad se llama mediante la siguiente secuencia: Panel de control - Administración - Servicios de componentes.

Seleccione: Computadoras – Mi PC – Aplicaciones COM+ – Crear una aplicación – Crear una nueva aplicación – ingrese el nombre “V82COMConnector” (el interruptor “Aplicación de servidor”) – Usuario especificado (Administrador)

En el hilo que aparece Conector V82COM– seleccione la subrama Componentes – cree un nuevo componente – ​​instale nuevos componentes – \bin\comcntr.dll

Haga clic derecho en la rama V82COMConnector - Propiedades - Seguridad - desmarque "Forzar verificación de acceso para aplicaciones" - marque la casilla "Aplicar política de restricción de software" - Nivel de restricción "Sin restricciones":

También en los perfiles de usuario C:\Users\OurUser\AppData\Roaming\1C\1CEStart.cfg cambie el parámetro UseHWLicenses=0 a UseHWLicenses=1

Después de todos estos cambios, puede (para la pureza del experimento) reiniciar la computadora y disfrutar de más trabajo en 1C, pero sin este error (!)

PD Pequeño bono al final: Actualización 1C como administrador

Muy a menudo, algunos de sus clientes remotos son contables, etc. - no puede actualizar de forma independiente los productos de software 1C, necesita derechos de administrador y no quiere o tiene "miedo" de hacer clic derecho en el acceso directo (y seleccionar "Ejecutar como administrador"). Por eso molesta constantemente a nuestro hermano informático.

¡Hagamos clic derecho sobre él, pero hazlo una vez y olvídate de este tema para siempre!

Entonces, hagamos una configuración única: haga clic derecho en el acceso directo de inicio de 1C, seleccione "Propiedades", haga clic en "Cambiar configuración para todos los usuarios" y marque la casilla "Ejecutar este programa como administrador". Luego haz clic en Aceptar un par de veces y olvídate del cliente “temeroso” 😉

Espero que hayas podido encontrar aquí información útil para ti. Escriba en los comentarios sobre sus "trucos": juntos brindaremos beneficios educativos.

¡Adiós y todo lo mejor! 😉

Usted (o el usuario) trabaja en 1C. De repente, un error. ¿Qué hacer?

Eso sí, lo más correcto es analizar qué es el error 1C, sus causas, dedicar una o dos horas a descubrir qué es qué.

¿Qué hacer si esto no es posible? Sin tiempo, sin ganas, sin suficiente conocimiento. A continuación se ofrecen algunos consejos muy dañinos para corregir rápidamente errores en 1C.

Mensaje de error 1C

El tipo típico de mensaje de error 1C es una ventana con el texto del error 1C y los botones Aceptar y Más.

El texto del error 1C que se muestra aquí es un mensaje de usuario; a menudo no significa nada para el programador, ya que el error 1C mostrado puede ser el resultado de algunas acciones incorrectas.

Para corregir errores de 1C, debe hacer clic en Más en esta ventana para ver el mensaje de error de 1C del programador. Afirma:

  • , en el que ocurrió un error 1C
  • La función de este módulo en el que ocurrió el error 1C.
  • El número de línea de este módulo en el que ocurrió el error 1C.

También puede hacer clic en el botón Configurador y luego se abrirá el configurador, este módulo, esta función en esta línea, después de lo cual podrá corregir el error 1C.

Trucos para comprender los errores

Como se acaba de decir, el texto de un error 1C suele ser consecuencia de acciones incorrectas realizadas anteriormente.

Por ejemplo, un texto de error 1C muy común dice:

El valor no es un valor de tipo de objeto (WhatName)

¿Qué significaría esto???

Y esto significa lo siguiente:

  • Hay una variable
  • El programa asume que el valor de la variable es un directorio o documento o algo similar - en general tiene detalles (campos)
  • El programa intenta acceder a un campo de este objeto.
  • Sin embargo, el error 1C es que por alguna razón en las líneas anteriores del programa esta variable recibió un valor que no tiene ningún detalle (campo), por ejemplo el valor "Indefinido".

Corregir errores de 1C que son más comunes

Por supuesto, no podemos considerar todos los errores que pueden existir en 1C en este momento.
Intentemos enumerar brevemente los errores de 1C que ocurren con frecuencia, así como consejos dañinos para corregir rápidamente los errores de 1C.

  • Si la variable es de tipo booleano (es decir, acepta los valores Verdadero y Falso), entonces se puede acceder a ella así:

    Si nombre de variable entonces

    Este escrito es similar:
    Si NombreVariable = Verdadero Entonces

    Sin embargo, si por alguna razón esta variable toma un valor no booleano, entonces la primera opción dará un error 1C, pero la segunda no.

  • "No se encontró el nombre de función XXX"

    Algunos módulos se ejecutan en el servidor. Además, algunas funciones del mismo módulo se pueden ejecutar en el servidor o en el cliente.

    En este caso, puede ocurrir un error 1C que indica que una función que se ejecuta en el servidor llama a una función que se ejecuta en el cliente. En este caso, se producirá un error 1C.

    Es necesario trasladar dicha función al servidor, si es posible.

  • "Variable llamada XXX no encontrada"

    Similar al error 1C anterior. Si el programa contiene una llamada a una función que se encuentra en un módulo común, entonces se ve así:
    NombreMódulo.NombreFunción();

    Si en las propiedades del módulo está configurado que se ejecuta en el cliente, y accedemos desde aquellas líneas del programa que se ejecutan en el servidor, entonces habrá un error 1C
    "Variable no encontrada - Nombre del módulo"

    Es necesario habilitar de manera similar la ejecución de este módulo en el servidor.

  • "La propiedad XXX no fue detectada en el objeto"

    La palabra "Propiedad" significa el campo de este objeto (atributo). Necesario:
    o Determinar qué tipo de objeto es.
    o Si se trata de un libro de referencia, un documento, hay que ver si la propiedad realmente se llama así
    o Si es así o – mire los detalles del formulario con ese nombre.

  • "No se detectó el método Xxxx en el objeto"

    La palabra "método" se refiere a una función/procedimiento en un módulo de este objeto.

    Necesario:
    o Determinar qué tipo de objeto es.
    o Encuentre su módulo (módulo de objeto si es un objeto 1C, módulo de formulario si es un formulario)
    o Verifique la presencia de una función con el mismo nombre.

  • "Error 1C al ejecutar una solicitud"

    Esto significa que hay un error 1C en el texto de la solicitud. El texto de la solicitud generalmente se determina en el programa antes (es decir, más tarde) de su ejecución. Busque el texto de consulta en este módulo (con la vista arriba o buscando la palabra “SELECCIONAR”).

    Intente analizar el texto de la solicitud o haga clic derecho en el texto de la solicitud e intente abrir el diseñador de solicitudes para obtener una pista.

  • "Error de diseño 1C": al ejecutar un informe

    Este error 1C significa un error 1C en el texto de la solicitud o un error 1C en la configuración de ACS (a menudo en agrupaciones, en campos seleccionados, en formato condicional).

    Intente comenzar con la configuración, simplificándola enormemente. Comprueba que en los campos seleccionados y en el formato condicional no haya campos marcados con una cruz en la lista.

    Si no ayuda, intente ir al cuerpo de la solicitud y utilizar el generador de solicitudes para obtener una pista.

Todo el mundo sabe que cualquier software puede presentar varios fallos de vez en cuando o, en pocas palabras, no funcionar correctamente. Estas fallas que conducen a la interrupción del correcto funcionamiento del sistema se denominan errores. El programa 1c es un producto de software (software), por lo que en este programa también pueden ocurrir varios errores que conducen a un funcionamiento incorrecto del sistema. puede ser muy diverso, y si no tiene algunos conocimientos especiales en el campo de la programación y los detalles de los mecanismos internos de 1C, no podrá comprender ni diagnosticar correctamente el error, y mucho menos corregirlo. Cualquiera de nuestros programadores 1c siempre está listo para ayudarlo a resolver cualquier problema relacionado con errores de 1s!

¿Qué causa los errores en la base de datos 1C?

Ahora hablemos un poco de por qué pueden pasar varias cosas. errores en la base de datos 1s al trabajar con el programa. De hecho, puede haber muchas razones y todas ellas pueden tener motivos completamente diferentes. Y, sin embargo, intentaremos comprender en términos generales el motivo del surgimiento de varios errores en 1s.

Tipos de errores en la base de datos 1C

Errores en 1s Puede haber una gran variedad y pueden ocurrir por diversas razones. En este artículo no consideraremos todos los posibles errores de 1c, intentaremos resaltar los llamados "tipos" principales de errores encontrados. Los llamamos convencionalmente “tipos” ya que el contenido del error que te muestra el programa suele ser siempre diferente, pero la esencia muchas veces es la misma. Así que destaquemos los más comunes. errores en la base de datos 1s:

  1. Error de formato de transmisión
  2. Campo de objeto no encontrado
  3. Método de objeto no encontrado
  4. No hay memoria suficiente
  5. Errores relacionados con tablas SQL (relevantes para servidores 1C que se ejecutan en bases de datos relacionales, como MySQL)
  6. Error de acceso 1s

Error de formato de transmisión en 1s

Error de formato de transmisión de 1 s

Campo de objeto no encontrado

Campo de objeto no encontrado

El índice está fuera de los límites de la matriz.

error 1c

Error de formato de transmisión en 1s

Este error ocurre muy a menudo cuando una secuencia de comandos se lee por error del código de bytes en una secuencia, por lo que se llama Error de formato de transmisión de 1 s. Cualquier transacción será abortada si se produce este error como resultado de su ejecución. Estos errores requieren una corrección inmediata, ya que pueden dañar el funcionamiento del sistema 1C Enterprise. Estos errores solo pueden ser corregidos por programadores calificados de 1C.

Campo de objeto no encontrado

Si el sistema 1c te muestra un mensaje de error con el texto " Campo de objeto no encontrado", esto significa que el error ocurre en una situación en la que el programa intenta acceder a un atributo (campo) de un objeto que simplemente no existe. Este error tiene la naturaleza de un "error de tiempo de ejecución" si ocurre en 1C Enterprise. Errores De este tipo también sólo pueden corregirse programadores.

El índice está fuera de los límites de la matriz.

Una matriz en programación es una determinada área de memoria en la que se almacenan muchos objetos del mismo tipo (en 1c, dichos tipos pueden ser, por ejemplo, DirectoryLink, DocumentObject, etc., así como cualquier tipo primitivo como número, cadena, booleano , etc.). error 1c asociado con ir más allá de los límites de una matriz ocurre precisamente cuando un programa accede a los límites de la memoria asignada para la matriz. En consecuencia, en este caso el programa genera un error y notifica al usuario (programador) que se está produciendo un acceso fuera de la matriz, y esto a su vez es un error de software.

Método de objeto no encontrado

Un error similar ocurre cuando el sistema intenta acceder a un método (función) de un objeto cuya descripción no existe en el código. Los programadores pueden corregir errores de este tipo.

No hay suficiente memoria en 1s

Este error ocurre si el sistema se queda sin toda la RAM asignada para las necesidades de ejecución de programas en el sistema operativo, razón por la cual el programa genera el error " No hay suficiente memoria en 1s". Puede ocurrir durante varios eventos, como actualizar una configuración, procesar un archivo grande, generar un informe, cargar una base de datos grande, etc. El usuario puede intentar corregir dicho error por sí mismo.

Posible solución al error 1c "No hay suficiente memoria"

El error radica en la asignación limitada de memoria de direcciones por parte del sistema operativo para el software (software).
Los límites de memoria de direcciones predeterminados son:

  • para un sistema de 32 bits – 2 GB
  • para 64 bits – 4 GB

Para aumentar el tamaño de la memoria de direcciones, debe hacer lo siguiente:

  1. Inicie la línea de comando: "Inicio - Ejecutar" - escriba CMD y presione enter
  2. Ahora en la línea de comando ingrese el texto sin comillas "bcdedit /set aumentaruserva 3072", donde 3072 es el tamaño de la memoria de direcciones deseada
  3. Reinicie su sistema operativo (computadora)
  4. Intente realizar esa acción en 1C que no funcionó antes y resultó en un error.
  5. Si todo salió bien y la operación no se repite con tanta frecuencia, se recomienda devolver el tamaño de la memoria de direcciones al valor predeterminado usando el comando "bcdedit /deletevalue incrementaruserva"

Errores relacionados con tablas SQL

Los errores de este tipo suelen ocurrir en el lado del servidor, cuando el sistema accede a la tabla y no puede leer los datos. Este error puede ocurrir debido a una configuración incorrecta del servidor, así como también a daños en las tablas SQL. En situaciones especialmente difíciles, es posible que ni siquiera sea posible restaurar la base de datos y, en ese caso, sólo una copia archivada de la base de datos podrá salvarlo. Recomendamos encarecidamente realizar copias de seguridad oportunas de la base de datos.

Error de acceso en 1s

Este error ocurre cuando un usuario intenta realizar una acción que está prohibida por los derechos de acceso (roles). Es por esto que el sistema arroja un error de acceso de 1s. Los roles los configura el programador en el configurador.

¿No se pudo corregir el error en 1 segundo?

Si no lograste corregir algún error en 1C, no te desesperes, ¡levanta el teléfono y llámanos! Nuestros especialistas siempre están listos para ayudarlo a resolver cualquier problema relacionado con 1C, incluidos los errores que surgen durante el funcionamiento del sistema.