1C: Empresa 8.2 /
Para desarrolladores /
Convenciones del Código
Tabla de contenidos
1.1. En el módulo del programa (módulos generales, módulos de objetos, módulos de administradores de objetos, módulos de formularios, comandos, etc.) en el caso general, las siguientes secciones pueden estar presentes en las siguientes: secuencias :
Algunas secciones pueden estar presentes solo en módulos de un cierto tipo. Por ejemplo, los controladores de eventos para elementos de formulario solo pueden estar presentes en módulos de formulario, y la sección de descripción de variables y la sección de inicialización no se pueden definir en módulos generales no globales, módulos de administrador de objetos, conjuntos de registros, valores constantes y módulo de sesión.
El requisito de dividir el código del módulo en secciones tiene como objetivo aumentar la legibilidad del código y simplificar la introducción de cambios al código por parte de diferentes autores ( por desarrolladores ) como en el desarrollo colectivo, y en el refinamiento de las soluciones de aplicación para implementaciones específicas.
1.2. Sección de plantillas (en blanco para copiar) para módulos comunes:
////////////////////////////////////////////////// //////////////////////////////// // // //////////// ////////////////////////////////////////////////// ////////////// //////////////////////////////////// ////////////////////////////////////////////// // INTERFAZ DE SOFTWARE // ////////////////////////////////////////////////// //////////////////////////////// // PROCEDIMIENTOS DE SERVICIO Y FUNCIONES
- La sección "Interfaz de programa" contiene procedimientos y funciones de exportación destinados a ser utilizados por otros objetos de configuración u otros programas (por ejemplo, a través de una conexión externa).
- La sección "Procedimientos y funciones de utilidad" contiene los procedimientos y funciones que conforman la implementación interna de un módulo común. En los casos en que el módulo común sea parte de alguna funcional Subsistemas que incluyen varios objetos de metadatos, esta sección también puede contener procedimientos de exportación de servicios y funciones que solo pueden llamarse desde otros objetos de este subsistema.
Para módulos comunes a granel, se recomienda dividir esta sección en subsecciones, de acuerdo con el atributo funcional. Las subsecciones están precedidas por un comentario, que se recomienda emitir de manera similar. Por ejemplo:
////////////////////////////////////////////////// ////////////////////////////////// // Actualización de la base de información
1.3. Plantilla para el diseño de secciones para módulos de objetos, gestores, conjuntos de registros, tratamientos, informes, etc .:
////////////////////////////////////////////////// //////////////////////////////// // INTERFAZ DE SOFTWARE ////////////// // ////////////////////////////////////////////////// ////////////// // PROCESADORES DE EVENTOS //////////////////////////////// //////////////////////////////////////////////// // // PROCEDIMIENTOS Y FUNCIONES DE SERVICIO
- La sección "Interfaz de programa" contiene procedimientos y funciones de exportación destinados a ser utilizados en otros módulos de configuración u otros programas (por ejemplo, a través de una conexión externa). No es necesario colocar en esta sección las funciones y procedimientos de exportación destinados a ser llamados únicamente desde los módulos del objeto en sí, sus formas y comandos. Por ejemplo, los procedimientos para rellenar la parte de la tabla de un documento que se llama desde el procesamiento de relleno en el módulo de objeto y desde el formulario del documento en el controlador de comandos de formulario no son un módulo de interfaz de programa se llaman solo en el propio módulo y desde las formas del mismo objeto. Se deben colocar en la seccion "Procedimientos y funciones de utilidad".
- La sección " Controladores de eventos " contiene controladores de eventos para el módulo del objeto ( Prizavisi , PRO , etc.)
- La sección "Procedimientos y funciones de utilidad" tiene el mismo propósito que en los módulos generales.
1.4. Plantilla de diseño de sección para módulos de formulario:
////////////////////////////////////////////////// //////////////////////////////// // HANDLER DE EVENTOS DE LA FORMA ///////////// ////////////////////////////////////////////////// /////////////// // MANIPULADORES DE EVENTOS DE ELEMENTOS DE LA FORMA DE LA FORMA ////////////////////////////// ////////////////////////////////////////////////// // // PROCESADORES DE EVENTOS FORMAS TABLAS //////////////////////////////////////////// ////////////////////////////////////// // PROCESADORES PARA LOS EQUIPOS DE LA FORMA /////// ////////////////////////////////////////////////// /////////////////////// // PROCEDIMIENTOS Y FUNCIONES DE SERVICIO
- La sección "Controladores de eventos de formulario" contiene los procedimientos del controlador de eventos de formulario: sobre la creación de un servidor , la apertura , etc.
- La sección "Controladores de elementos de formulario" contiene procedimientos para procesar elementos ubicados en la parte principal del formulario (todo lo que no está relacionado con las tablas en el formulario).
- En las secciones "Controladores de eventos de la tabla de formulario <nombre de tabla de formulario>" hay procedimientos para los controladores de la tabla de formulario y los elementos de la tabla. Para los procedimientos del controlador, cada tabla debe tener su propia partición.
- La sección "Controladores de comandos de formulario" contiene procedimientos para los controladores de comandos de formulario (cuyos nombres se especifican en la propiedad Action de los comandos de formulario).
- La sección "Procedimientos y funciones de utilidad" tiene el mismo propósito que en los módulos generales.
Ver también: Reglas para crear módulos de formulario.
2. Requisitos generales para secciones de módulos de software.
2.1. El encabezado del módulo es un comentario al principio del módulo. El encabezado del módulo proporciona una breve descripción y las condiciones de la aplicación.
Por ejemplo:
////////////////////////////////////////////////// //////////////////////////////// // // Procedimientos del cliente y funciones de propósito general: // - para trabajar con listas en formularios; // - para trabajar con el log; // - para procesar acciones usuario en progreso editando // multilínea texto , por ejemplo comentarios en documentos; // - otros. // //////////////////////////////////////////////// ////////////////////////////////////
Para los módulos de formulario, se recomienda colocar una descripción de los parámetros del formulario en el encabezado.
2.2. Sección de descripción de variables . Los nombres de las variables se asignan de acuerdo con el general reglas de nombre de variable , y su uso se describe en el artículo. Uso de variables globales en módulos de software .
Todas las variables del módulo deben ser provistas con un comentario suficiente para comprender su propósito. Se recomienda colocar el comentario en la misma línea donde se declara la variable.
Ejemplo:
Pem CurrencyAccounting Export; // Moneda en la que se conserva la contabilidad Perem Address Soporta Exportación; // Dirección de correo electrónico donde se envían los mensajes de error.
2.3. Interfaz de software Los procedimientos y funciones de exportación que conforman su interfaz de programación se colocan inmediatamente después de la descripción de las variables. Dichos procedimientos y funciones están diseñados para ser utilizados por otros objetos de configuración u otros programas (por ejemplo, a través de una conexión externa), por lo tanto, deben ubicarse en un "lugar visible" en el módulo.
Ver también: Descripción de procedimientos y funciones.
2.4.1 Formar controladores de eventos, comandos y elementos de formulario . Antes de los procedimientos y funciones de servicio en el módulo de formulario, se ubican los controladores de eventos del formulario, así como los controladores de eventos para comandos y elementos de formulario.
Recomendación metódica (consejos útiles).
Se recomienda que los manejadores de un elemento de formulario se coloquen juntos, siguiendo el orden de sus seguidores en el panel de propiedades del editor de formularios. en el configurador .
2.4.2. Cada evento debe tener su propio procedimiento de controlador. Si se deben realizar las mismas acciones cuando ocurren eventos en diferentes elementos del formulario:
crear un procedimiento separado (función) que realice las acciones necesarias
para cada elemento de formulario, cree un controlador independiente con el nombre predeterminado
llame al procedimiento requerido (función) de cada controlador.
Por ejemplo, mal:
& OnClient Procedure for ExecutingApplication (Elemento) Parámetros de selección = Nuevo cumplimiento (); Selección de opciones. Pegar ("Por autor", Por autor); Selección de opciones. Pegar ("Ejecutivo", Ejecutivo); Establecer selección de lista (Lista, Opciones de selección); EndProcedure & En el procedimiento de cliente para la creación cambiando (elemento) al ejecutivo cambiando (indefinido); EndProcedure
correcto:
& OnClient Procedure to PerformIndicator (Item) SetSelection (); Procedimiento de finalización y procedimiento de cliente por autor Cambio (elemento) Instalar selección (); EndProcedures & OnServer Procedure SetSelection () Parámetros de selección = Nuevo cumplimiento (); Selección de opciones. Pegar ("Por autor", Por autor); Selección de opciones. Pegar ("Ejecutivo", Ejecutivo); Establecer selección de lista (Lista, Opciones de selección); EndProcedure
Este requisito se debe al hecho de que la lógica de los procedimientos del controlador de eventos no está diseñada para ser utilizada en el código del módulo, sino que la plataforma los llama directamente. La combinación de estos dos escenarios en un solo procedimiento complica innecesariamente su lógica y reduce su robustez (en lugar del escenario de llamada previsto - ante un evento desde la plataforma - el código del procedimiento debe contar con otras llamadas directas desde el código).
2.5. Los controladores de eventos para los módulos de objetos y el administrador de objetos se colocan después de la exportación, pero antes de los procedimientos de utilidad y las funciones del módulo.
Recomendación metódica (consejos útiles).
Se recomienda colocar manejadores, siguiendo el orden de sus seguidores en la descripción del lenguaje incorporado.
2.6. Los procedimientos de utilidad y las funciones de módulo que no son controladores de eventos, pero que constituyen la implementación interna de un módulo, se colocan en el módulo junto a los controladores de eventos.
En los casos en que un módulo común es parte de un subsistema funcional que incluye varios objetos de metadatos, esta sección también puede contener procedimientos de exportación de servicios y funciones destinadas solo a ser invocadas desde otros objetos de este subsistema.
Se recomienda que los procedimientos y funciones relacionados entre sí por naturaleza o lógica de trabajo se coloquen juntos. No se recomienda agrupar explícitamente los procedimientos y funciones del módulo en servidor, cliente y funciones sin contexto, ya que este ordenamiento "tecnológico" complica la comprensión de la lógica del módulo, desviando la atención del desarrollador hacia los detalles de su implementación.
2.7. La sección de inicialización contiene sentencias que inicializan las variables del módulo u objeto (formulario). Por ejemplo:
Dirección de soporte = "[email protected]"; // Dirección para contactar soporte técnico Realizar Inicialización ();
Otros materiales sobre el tema:
actualizar la base de datos , manejadores de eventos , interfaz de software , manejadores , procedimientos , patrón , titular , fin del procedimiento , funciones , interfaz , descripción , portapapeles , para copiar , seccion , el intercambio , formas , un objeto , el elemento , configurando , configuraciones , documento
Materiales de la sección: 1C: Enterprise 8.2 / Developers / Agreements al escribir código
Otros materiales sobre el tema:
Descripción de procedimientos y funciones.
Características de escalado para el objeto seleccionado.
Transferencia de configuraciones en la plataforma 1C: Enterprise 8.2 a la plataforma 1C: Enterprise 8.3 sin modo de compatibilidad con la versión 8.2
Nombres de procedimientos y funciones.
Usando el modo privilegiado
Encontramos: la estructura del módulo 1c es , procedimientos y funciones de servicio , módulo, módulo de administrador, procedimiento de llamada 1c 8 2, cómo llamar a un procedimiento desde otro módulo 1c, encabezado del módulo inglés, 1c de un procedimiento de módulo de llamada de formulario de proceso, 1c 8 2 llamar a un procedimiento desde el módulo de administrador, 1