Cálculos y su dependencia de los resultados. Cálculos periódicos complejos

El nuevo objeto "Plan de tipos de cálculo" es un análogo lejano de los tipos de cálculo en 7.7. Los tipos de cálculo son objetos de datos, no objetos de metadatos. Puede haber tipos de cálculo predefinidos.

En lugar de grupos de cálculo excluidos, puede utilizar los mecanismos integrados del plan de tipos de cálculo y registros de cálculo. Para agrupar tipos de cálculo, puede utilizar otros objetos, por ejemplo, detalles de tipos de cálculo o un libro de referencia.

Nuevo objeto "Registro de cálculo": un análogo remoto del diario de cálculo en 7.7

En lugar de calendarios, se utilizan registros de información para implementar los horarios de trabajo.

Idioma incorporado

Para ampliar significativamente las capacidades de la plataforma, se desarrolló un nuevo modelo de objetos unificado del lenguaje 1C:Enterprise 8.0. Esto hizo posible ampliar drásticamente las capacidades de la plataforma, acelerar su desarrollo y aumentar la comprensión de los módulos del programa.

Se han introducido nuevos literales y tipos de datos, por ejemplo, los literales Indefinido, Nulo, Verdadero y Falso (el tipo de datos booleano). El tipo de fecha incluye la hora.

El depurador está incluido en el configurador. Puede mostrar una lista de propiedades de objetos con sus valores y tipos. Es posible ver colecciones, como matrices y tablas de valores.

Se han introducido módulos generales, en los que sólo existe un apartado de procedimientos y funciones. Los procedimientos y funciones de los módulos comunes declarados con la palabra clave "Exportar" están disponibles en la configuración.

Al escribir módulos de programa, se utiliza tecnología de ayuda contextual (análoga a IntelliSense). El editor de texto de módulos de programa admite la agrupación (convolución) de estructuras sintácticas, así como descripciones de procedimientos y funciones (en forma de comentarios).

La funcionalidad del componente externo v7plus.dll está incluida en la plataforma en forma de objetos "Correo", "Información del sistema", "Conexión a Internet", "Conexión FTP, etc. También existen herramientas para trabajar con documentos XML. en cuanto a lectura y escritura secuencial de archivos de texto grandes.

Me pregunto cuándo seguiré leyendo este libro. 8.3 se lanzará entonces)))

¿Qué son los cálculos periódicos complejos?

Miremos las palabras. La palabra "Cálculo": espero que quede claro que es necesario calcular algunos números. “Periódico” significa que esto debe hacerse de vez en cuando, en algún intervalo (lo que se llama “período”, como podría adivinar un lector curioso). ¿Cuál es la dificultad? Bueno, el libro da un ejemplo del salario de una mujer. Se calcula una vez al mes (por regla general), y la dificultad radica en el hecho de que el salario consta de algunas partes, como salario, bonificación, bonificación única, baja por enfermedad, etc. Y cada una de estas partes se calcula según su propio algoritmo, por ejemplo, el salario es el costo de una hora estándar multiplicado por el número de horas trabajadas menos impuestos, la bonificación es un cierto porcentaje del salario, etc.

¿Cuál es el tipo de cálculo, base?

Tipo de cálculo: cualquier parte de un cálculo periódico complejo, por ejemplo, una bonificación.

La base es de donde partimos cuando vemos el cálculo. Por ejemplo, para calcular una bonificación necesitamos saber el salario. Además, no es sólo el salario del mes lo que es aleatorio, sino aquellos números que se acumulan en ese período (período base), los que influirán en el cálculo del bono.

¿Cuál es la diferencia entre el período base, el período real y el período de validez?

Período de validez: especificado por usted, es decir, datos válidos durante el período especificado.

El período real es lo que queda del período de validez después de realizar los cálculos (por ejemplo, se eliminan todos los días no laborables).

Período base: período en el que se analizan los resultados de otros cálculos que afectan el cálculo del período base.

De hecho, no entiendo esta pregunta en particular. Una especie de acto de equilibrio verbal, sinceramente.

¿Qué es la dependencia del período base?

Bueno, aquí parece más o menos claro. Si necesitamos calcular la bonificación como un porcentaje del salario, entonces no necesitaremos un salario en general, sino un salario por un período determinado, cuyo salario afecta la bonificación. Entonces, el período se puede llamar período base y la dependencia se puede llamar dependencia del período base.

¿Qué es la preferencia de período?

Comencemos con el hecho de que el “desplazamiento” es un efecto en el cálculo. Siguiente Entonces pensamos que alguien trabajó 20 días, calculó su salario, pero resultó que trabajó solo 10 días. Luego hay que recalcular el salario precisamente para el período en el que el empleado trabajó directamente; esto es lo que los Odesnik llaman desplazamiento por período de acción.

¿Cuál es el propósito del objeto de configuración Plan de tipo de cálculo?

El plan de tipos de cálculo tiene como objetivo describir la estructura de almacenamiento de información sobre posibles tipos de cálculos. Básicamente, se trata de una tabla que almacena información sobre qué tipos de cálculos existen y cuáles son las relaciones entre ellos.

Durante el funcionamiento, el propio usuario puede añadir nuevos tipos de cálculos.

¿Cuáles son las principales propiedades del plan de tipo de cálculo?

Las siguientes propiedades: Utiliza el período de validez: este tipo determina si el plan de tipos de cálculo contiene tipos de cálculo que pueden ser reemplazados por el período de validez.

Dependencia de la base: si habrá tipos de cálculo que dependan del período base.

Dependencia del período de acción: se seleccionarán aquellos registros para los cuales se encuentre la intersección de su período de acción real y el período base especificado;

Dependencia del período de registro – se trabajará con aquellos datos cuyo ingreso en el campo Período de registro se encuentre dentro del período base;

¿Cuál es la diferencia entre los tipos de cálculos básicos, preventivos y principales?

Básico: los resultados de los tipos básicos de cálculos deben utilizarse para el recálculo;

Desplazamiento: desplaza los cálculos según el período de validez;

Principal: si el resultado del cálculo principal ha cambiado, entonces se debe recalcular todo el cálculo;

¿Cómo crear un plan para los tipos de cálculo?

¡Igual que todo en 1C! En el árbol de configuración, haga clic derecho.

¿Qué es el objeto de configuración del Registro de cálculo?

Pretende describir la estructura de acumulación de datos, que son el resultado de los cálculos.

Muchos programadores de 1C nunca se han encontrado con el componente "Cálculo" en su práctica, por lo que cuando tienen que tomar exámenes de Especialista en la Plataforma 8.0, donde cada tarea contiene una tarea sobre cálculos periódicos complejos, surgen dificultades, principalmente dificultades de comprensión.

Intentemos descubrir este componente en 8.0. En lugar de resolver varios problemas de cálculo, intentemos comprender este componente para poder resolver cualquier problema de cálculo. Después de estudiar este manual, comprenderá cómo se organizan y funcionan los registros de cálculo.

Por ejemplo, usaremos la configuración del marco instalada durante los exámenes.

Para ser honesto, intenté durante mucho tiempo averiguar para qué más se necesitaban los cálculos, pero no pude resolverlo, así que consideremos el problema de calcular los salarios.

¿Qué son los cálculos?

Básicamente, el producto de nómina final es un conjunto de entradas de registro de nómina del formulario:

Empleado

Período

Tipo de cálculo

Resultado

Datos

Un comentario

Medición

Oficial

Oficial

Accesorios

El valor en la columna “Datos” refleja el salario base del empleado (según el contrato de trabajo), pero este monto puede incrementarse mediante bonificaciones, reducirse mediante multas y ausentismo, etc., por lo tanto, el monto real a pagar se ingresa después el cálculo en la columna “Resultado”. Este es el cálculo. La cantidad en la columna "Recursos" para un empleado determinado es el salario que se le debe.

Por tanto, el registro de cálculo es esencialmente un conjunto de registros, similar en estructura al registro de acumulación negociable. Solo para realizar cálculos complejos, se especifican configuraciones adicionales, que luego le permiten crear muchas tablas virtuales para el registro de cálculo, aunque, en esencia, este registro es solo un conjunto de registros indicados en la figura.

Cada entrada en el registro de liquidación se refiere a un tipo de liquidación y un período de tiempo específicos.

Tipos de cálculos

Cada registro de tipos de cálculo tiene un atributo de servicio: tipo de cálculo.

Un tipo de cálculo se puede considerar como un elemento de un libro de referencia especial como "Plan de tipos de cálculos"; también tiene detalles, partes tabulares, elementos predefinidos y creados por el usuario. Puede haber varios "directorios" de este tipo en el sistema.

Por ejemplo, creemos un plan para los tipos de cálculo Principal y en él tipos de cálculo predefinidos. salario, prima, ausencia, viaje de negocios.

Los tipos de cálculo se utilizan funcionalmente para reflejar la influencia de las entradas del registro de cálculo entre sí. Pero en resumen, hablan de la influencia de los tipos de cálculo entre sí:

Tipo de cálculo

Descripción

Ejemplo

Por periodo base

El resultado del cálculo del período dependiente depende del resultado del período base. Si el resultado del período base cambia, se debe recalcular el resultado del período dependiente.

La bonificación depende del salario del período base.

Limpiando por período

El período de validez del período dependiente reemplaza el período de validez del período base, por lo que el período base tiene un valor real.

El absentismo afecta al período real del salario.

Cálculos principales

El cálculo depende del cálculo principal, pero no directa sino indirectamente, es decir el cálculo A depende del cálculo básico B, y el cálculo B depende del cálculo básico B, por lo tanto A depende indirectamente de B, es decir A depende del cálculo principal B. De hecho, cuando el cálculo C cambia, B puede cambiar y, por lo tanto, puede cambiar A. El sistema no rastrea automáticamente dependencias tan complejas, por lo que debe indicar qué cálculos son principales.

El bono depende de la base del salario, pero también depende indirectamente del ausentismo.

Debido a esta influencia, el período de validez de la inscripción en el registro de liquidación se divide en cuatro períodos:

Período

Descripción

Periodo de registro

¿En qué período se registró el evento, es decir? normalmente cuando se introduce un documento.

Validez

¿En qué período opera el evento, es decir? a qué período pertenece el evento.

Período base

Sólo es significativo para períodos que tienen un período base: describe el intervalo del período base.

Período de validez real

Si el período de validez es reemplazado por otros tipos de cálculos, entonces el período de validez real consta de varios períodos en los que este tipo de cálculo está realmente en vigor.

El período de registro se especifica con un número: el comienzo del período, correspondiente a la frecuencia del registro de cálculo. Incluso si establecemos una fecha diferente en este campo de servicio, se reemplazará con el inicio del período. Los períodos restantes se especifican mediante dos campos: el principio y el final del período. El período de validez real es un conjunto de períodos, porque puede constar de varios intervalos de fechas.

Gráficos de tiempo

El sistema tiene la capacidad de vincular datos de registros de cálculo con gráficos de tiempo para que se pueda obtener el número de horas de trabajo para cualquier período.

Una línea de tiempo es un registro de información simple en el que una dimensión almacena una fecha, otra está asociada a una dimensión mediante un registro de cálculo y uno de los recursos se utiliza para realizar un seguimiento del tiempo.

Una dimensión que asociado al registro de cálculo suele llevar que significa "tipo de gráfico".

fecha

Tipo de gráfico

Significado

11.01.05 Vie

Cinco días

11.01.05 Vie

Seis días

12.01.05 Se sentó

Cinco días

12.01.05 Se sentó

Seis días

¿Por qué utilizar la dimensión de fecha en lugar del registro de detalles periódicos? Todo es muy simple: si el viernes 11 de enero tenemos 8 horas de trabajo durante un período de cinco días, esto no significa que al día siguiente volveremos a tener 8 horas de trabajo. Pero si usáramos un registro periódico, el valor del día siguiente se tomaría del día anterior al no existir registros.

Así, teniendo un periodo determinado (acción real, registro, periodo base, etc.) podemos obtener automáticamente el número de horas de ese periodo según el cronograma.

Recálculo

El recálculo recuerda algo a un límite de secuencia. Dado que tenemos cálculos dependientes, al cambiar sus cálculos base y principal, el sistema debe notar de alguna manera que debemos recalcular los cálculos dependientes.

Para eso están los recálculos.

Si calculamos los registros base, el sistema anotará en las asignaciones que necesitamos para calcular los registros dependientes. Una vez que calculemos los registros dependientes, las asignaciones se borrarán.

Básicamente, los recálculos son una lista de entradas del registro de cálculo que deben recalcularse.

Si no ingresa ninguna medida en los recálculos, cuando los cálculos básicos cambien, todos los registros dependientes se agregarán a la lista de recálculos.

Si creamos la dimensión "Empleado" en el recálculo, cuando se cambie el cálculo básico para un empleado, los registros dependientes solo para este empleado se agregarán a los recálculos.

tarea practica

Basta de teoría. Intentemos estudiar los detalles en la práctica. Tomemos como base la configuración del marco.

Formulación del problema:

Que la bonificación se fije como un porcentaje fijo del salario (menos ausentismo y dietas de viaje).

Que las dietas de viaje se paguen en doble salario + una cantidad fija de pagos por cada día de viaje.

Que se le imponga al empleado una multa equivalente a la mitad del salario por el período de ausencia por ausentismo.

Progreso:

Entrenamiento inicial

Creemos un nuevo plan para los tipos de cálculo "Principal".

Definamos los tipos de cálculos y las dependencias entre ellos:

Básico

Desplazando

Presentadores

Salario

Ausentismo, Viaje de negocios

Premio

Ausentismo, Viaje de negocios

Salario, Ausentismo, Viaje de negocios

Viaje de negocios

Absentismo

Agreguemos estos tipos de cálculos al plan de tipos de cálculo "Principal" y establezcamos las dependencias en las propiedades de los tipos de cálculo de acuerdo con la tabla.

En el registro de cálculo de salarios, crearemos la dimensión "Empleado" del tipo "Individuos", para que el registro tenga una sección de análisis para los empleados.

La configuración ya contiene el documento “Nómina”.

Tiene dos fechas en el encabezado: "fecha" y "período de registro", así como dos fechas "fecha de inicio" y "fecha de finalización" en cada línea.

Se entiende que la fecha es simplemente la fecha en que se formalizó el documento, el período de registro indica para qué mes estamos contando el salario y las fechas en cada línea describen el período de vigencia de cada tipo de cálculo.

Agreguemos la configuración inicial del atributo "Datos" al módulo de documento: ingresaremos el salario inicial, estableciendo en él el período de registro, el período de validez y el período base.

El módulo de documento se verá así:

Para A cada Lista de cadenas técnicas Del ciclo de lista

// registrar cálculos

Movimiento = Movimientos .Cálculos.Agregar();

Movimiento .S torno= Falso;

Movimiento .En idCalculación = TechStringList.Tipo de cálculo;

Movimiento .PeriodActionsInicio= Inicio del día ( TechStringList.Fecha de inicio);

Movimiento .PeriodActionEnd= Día final();

Movimiento .Periodo de registro = periodo de registro;

Movimiento .BasicPeriodInicio= Inicio del día ( TechStringList.Fecha de inicio);

Movimiento .BasePeriodEnd= Día final ( TechStringList.Fecha de finalización);

Movimiento .Empleado = TechStringList.Empleado;

Movimiento .Cronograma = TechStringList.Graph;

Movimiento .Resultado = 0;

Movimiento .Datos = TechStringList.Tamaño;

FinCiclo;

El atributo Reversión es necesario para revertir entradas (análogo a un signo menos).

Indicamos el tipo de cálculo y fijamos las fechas al inicio y al final del día. Por supuesto, el período base sólo se puede introducir para los tipos de cálculo que dependen de la base, y los datos sólo se pueden introducir para el salario, pero todo funciona de esa manera.

Fecharemos todos los documentos el 20/01/2003, el período de registro se fijará en el 02/01/2003 (no indico específicamente los datos de inicio y fin, esto no importa aquí, de todos modos, al grabar en periodo de registro convertido al inicio del período 01/01/2003). Usamos enero de 2003 porque se completaron los cronogramas de trabajo para este período.

Creemos un recálculo "Recálculo" y agreguemosle la dimensión "Empleado" asociada con la dimensión "Empleado".

Jugando con recálculos.

Para jugar, abre la consola de solicitudes - procesando " Solicitud personalizada» en una configuración de marco. Creemos una nueva consulta usando el constructor de consultas y agreguemos una tabla virtual allí. Recálculos Cálculos Recálculo, el texto de la solicitud será así:

ELEGIR

CálculosRecálculo.Acerca del objeto Recálculo,

CálculosRecálculo.En ID de cálculo,

Recálculo de cálculos del empleado.

DE

Registro de cálculo Cálculos Recálculo CÓMO CálculosRecálculo

Generaremos tres documentos: primero acumularemos los salarios de los empleados A y B. El empleado A trabaja del 1 al 31 de enero, B trabaja del 1 al 20 de enero. El segundo asignará un bono al empleado B por el período del 1 al 31 de enero, el tercero asignará ausentismo al empleado A del 20 al 25 de enero.

Jugamos con el período de validez Real.

Creemos una nueva consulta; esta vez le agregaremos datos de tabla. Registros de Cálculo Cálculos Periodo de Acción Real.

Creemos una solicitud y veamos que el período salarial del empleado A se divide en dos períodos: del 1 al 19 de enero y del 26 al 31 de enero. Espero que entiendas que el período se dividió en dos, porque... El ausentismo reemplazó al salario.

Creo que los mecanismos de funcionamiento del registro de cálculo se están aclarando ante nuestros ojos.

Estudiemos gráficas.

Ahora intentemos calcular el salario en función del salario del empleado.

Creemos una nueva consulta para el registro de cálculo usando una tabla virtual. Registros de Cálculo Cálculos DataGraphics. Puede establecer un parámetro para esta tabla virtual: una condición para seleccionar registros, por ejemplo Empleado=&Seleccionar empleado Y Tipo de cálculo=&Tipo de cálculo Y Gráfico=&VerGráfico.

Configuremos empleados específicos, tipos de cálculos y horarios en los parámetros de solicitud y veamos cuántas horas es el resultado.

Columna de resultados

Significado

ValorPeríodoAcción

¿Por qué período de validez en horas fue la inscripción en el registro?

ValorPeríodoActualAcción

¿Cuántas horas trabajó realmente el empleado?

Período base de valor

Para el salario no tiene sentido, para las bonificaciones, el número de horas de trabajo en el período base.

ValorPeríodo de registro

¿Cuántas horas de trabajo hay en el periodo de inscripción (mes de enero)?


Palabras clave: registro de cálculo, salario, ZUP.

Introducción

Muchos programadores de 1C nunca se han encontrado con el componente "Cálculo" en su práctica, por lo que cuando tienen que tomar exámenes de Especialista en la Plataforma 8.0, donde cada tarea contiene una tarea sobre cálculos periódicos complejos, surgen dificultades, principalmente dificultades de comprensión.
Intentemos descubrir este componente en 8.0.

En lugar de resolver varios problemas de cálculo, intentemos comprender este componente para poder resolver cualquier problema de cálculo. Después de estudiar este manual, comprenderá cómo se estructuran y funcionan los registros de cálculo. Por ejemplo, usaremos la configuración del marco instalada durante los exámenes. Para ser honesto, intenté durante mucho tiempo averiguar para qué más se necesitaban los cálculos, pero no pude resolverlo, así que consideraremos el problema de calcular los salarios.

¿Qué son los cálculos?

En principio, el producto final del cálculo de la nómina es un conjunto de asientos del registro de nómina de la forma:

El valor en la columna “Datos” refleja el salario base del empleado (según el contrato de trabajo), pero este monto puede incrementarse mediante bonificaciones, reducirse mediante multas y ausentismo, etc., por lo tanto, el monto real a pagar se ingresa después el cálculo en la columna “Resultado”. Este es el cálculo. El monto en la columna "Recursos" para este empleado es el salario que se le debe.

Por tanto, el registro de cálculo es esencialmente un conjunto de registros, similar en estructura al registro de acumulación negociable. Solo para realizar cálculos complejos, se especifican configuraciones adicionales, que luego le permiten crear muchas tablas virtuales para el registro de cálculo, aunque en esencia este registro es solo un conjunto de registros indicados en la figura.

Cada entrada en el registro de liquidación se refiere a un tipo de liquidación y un período de tiempo específicos.

Tipos de cálculos

Cada registro de tipos de cálculo tiene un atributo de servicio: tipo de cálculo.

Un tipo de cálculo se puede considerar como un elemento de un libro de referencia especial como "Plan de tipos de cálculos"; también tiene detalles, partes tabulares, elementos predefinidos y creados por el usuario. Puede haber varios "directorios" de este tipo en el sistema.

Por ejemplo, creemos un plan para los tipos de cálculo Principal y en él los tipos predefinidos de cálculo de salario, bonificación, ausentismo, viaje de negocios.

Los tipos de cálculo se utilizan funcionalmente para reflejar la influencia de las entradas del registro de cálculo entre sí. Pero en resumen, hablan de la influencia de los tipos de cálculo entre sí:

Cálculos principales

El cálculo depende del cálculo principal, pero no directa, sino indirectamente, es decir, el cálculo A depende del cálculo básico B, y el cálculo B depende del cálculo básico B, por lo tanto A depende indirectamente de B, es decir A depende del cálculo principal B. De hecho, cuando el cálculo C cambia, B puede cambiar y, por lo tanto, puede cambiar A. El sistema no rastrea automáticamente dependencias tan complejas, por lo que debe indicar qué cálculos son principales.

El bono depende de la base del salario, pero también depende indirectamente del ausentismo.

Debido a esta influencia, el período de validez de la inscripción en el registro de liquidación se divide en cuatro períodos:
1. Periodo de registro. ¿En qué período se registró el evento, es decir? normalmente cuando se introduce un documento.
2. Validez. ¿En qué período opera el evento, es decir? a qué período pertenece el evento.
3. Período base. Tiene sentido sólo para períodos que tienen un período base: describe el intervalo del período base.
4. Período de validez real. Si el período de validez es reemplazado por otros tipos de cálculos, entonces el período de validez real consta de varios períodos en los que este tipo de cálculo está realmente en vigor.

El período de registro se especifica mediante un número: el comienzo del período, correspondiente a la frecuencia del registro de cálculo. Incluso si establecemos una fecha diferente en este campo de servicio, se reemplazará con el comienzo del período. Los períodos restantes se especifican mediante dos campos: el principio y el final del período. El período de validez real es un conjunto de períodos, porque puede constar de varios intervalos de fechas.

Gráficos de tiempo

El sistema tiene la capacidad de vincular datos de registros de cálculo con gráficos de tiempo para que se pueda obtener el número de horas de trabajo para cualquier período.

Una línea de tiempo es un registro de información simple en el que una dimensión almacena una fecha, otra está asociada a una dimensión mediante un registro de cálculo y uno de los recursos se utiliza para realizar un seguimiento del tiempo.
La medida que está asociada al registro de cálculo suele tener el significado de “vista gráfica”.




fecha Tipo de gráfico Significado
11.01.05 vieCinco días8
11.01.05 vieSeis días8
12.01.05 sábCinco días0
12.01.05 sábSeis días8

¿Por qué utilizar la dimensión de fecha en lugar del registro de detalles periódicos? Todo es muy simple: si el viernes 11 de enero, una semana de cinco días, tenemos 8 horas de trabajo, esto no significa que al día siguiente volveremos a tener 8 horas de trabajo. Pero si usáramos un registro periódico, el valor del día siguiente se tomaría del día anterior al no existir registros.

Así, teniendo un periodo determinado (acción real, registro, periodo base, etc.) podemos obtener automáticamente el número de horas de ese periodo según el cronograma.

Recálculo

El recálculo recuerda algo a un límite de secuencia. Dado que tenemos cálculos dependientes, al cambiar sus cálculos base y principal, el sistema debe notar de alguna manera que debemos recalcular los cálculos dependientes. Para eso están los recálculos.

Si calculamos los registros base, el sistema anotará en las asignaciones que necesitamos para calcular los registros dependientes. Una vez que calculemos los registros dependientes, las asignaciones se borrarán. Básicamente, las asignaciones son una lista de entradas del registro de cálculo que deben asignarse. Si no ingresa ninguna medida en los recálculos, cuando los cálculos básicos cambien, todos los registros dependientes se agregarán a la lista de recálculos. Si creamos la dimensión "Empleado" en el recálculo, cuando se cambie el cálculo básico para un empleado, los registros dependientes solo para este empleado se agregarán a los recálculos.

tarea practica

Basta de teoría. Intentemos estudiar los detalles en la práctica. Tomemos como base la configuración del marco.

Formulación del problema:

Que la bonificación se fije como un porcentaje fijo del salario (menos ausentismo y dietas de viaje).
Que las dietas de viaje se paguen en doble salario + una cantidad fija de pagos por cada día de viaje.

Que se le imponga al empleado una multa equivalente a la mitad del salario por el período de ausencia por ausentismo.

Progreso:

Entrenamiento inicial

Creemos un nuevo plan para los tipos de cálculo "Principal".

Definamos los tipos de cálculos y las dependencias entre ellos:

Agreguemos estos tipos de cálculos al plan de tipos de cálculo "Principal" y establezcamos las dependencias en las propiedades de los tipos de cálculo de acuerdo con la tabla.

En el registro de cálculo de salarios, crearemos la dimensión "Empleado" del tipo "Individuos", para que el registro tenga una sección de análisis para los empleados.

La configuración ya contiene el documento “Nómina”.

Tiene dos fechas en el encabezado: "fecha" y "período de registro", así como dos fechas "fecha de inicio" y "fecha de finalización" en cada línea.

Se entiende que la fecha es simplemente la fecha en que se formalizó el documento, el período de registro indica para qué mes estamos contando el salario y las fechas en cada línea describen el período de vigencia de cada tipo de cálculo.

Agreguemos la configuración inicial del atributo "Datos" al módulo de documento: ingresaremos el salario inicial, estableciendo en él el período de registro, el período de validez y el período base.

El módulo de documento se verá así:

Para cada TechStringList del ciclo de lista // registrar cálculos Movimiento = Movimientos.Cálculos.Agregar(); Move.Reversal = Falso; Movimiento.CalculationType = TechStringList.CalculationType; Movimiento.ActionPeriodStart = StartDay(TexListList.StartDate); Movimiento.ActionPeriodEnd = EndDay(TexLineList.EndDate); Movimiento.Período de registro = Período de registro; Movimiento.BasePeriodStart = StartDay(TexListList.StartDate); Movimiento.BasePeriodEnd = EndDay(TexListList.EndDate); Movimiento.Empleado = TechStringList.Empleado; Movimiento.Horario de trabajo = TechStringList.Graph; Movimiento.Resultado = 0; Motion.Data = TechStringList.Tamaño; Fin del ciclo;

El atributo "Inversión" es necesario para revertir entradas (análogo a un signo menos).

Indicamos el tipo de cálculo y fijamos las fechas al inicio y al final del día. Por supuesto, el período base sólo se puede introducir para los tipos de cálculo que dependen de la base, y los datos sólo se pueden introducir para el salario, pero todo funciona de esa manera.

Fecharemos todos los documentos el 20/01/2003, el período de registro se fijará en el 02/01/2003 (no indico específicamente los datos de inicio y fin, esto no importa aquí, de todos modos, al grabar en el Período de Registro, se convertirá al inicio del período 01/01/2003). Usamos enero de 2003 porque se completaron los cronogramas de trabajo para este período.

Creemos un recálculo "Recálculo" y agreguemosle la dimensión "Empleado" asociada con la dimensión "Empleado".

Jugando con recálculos

Para jugar, abramos la consola de solicitudes y procesemos "RandomRequest" en una configuración de marco. Creemos una nueva consulta usando el constructor de consultas, agreguemos la tabla virtual Recalculations.Calculations.Recalculation allí, el texto de la consulta será así:

SELECCIONE CálculosRecálculo.Objeto de cálculo, CálculosRecálculo.Tipo de cálculo, CálculosRecálculo.Empleado DESDE RegistroCalculación.Cálculos.Recálculo AS CálculosRecálculo

Generemos tres documentos: seremos los primeros en pagar los salarios a los empleados A y B. El empleado A trabaja del 1 al 31 de enero, B trabaja del 1 al 20 de enero. El segundo asignará un bono al empleado B por el período del 1 al 31 de enero, el tercero asignará ausentismo al empleado A del 20 al 25 de enero.

Jugando con el período de validez real

Creemos una nueva consulta; esta vez agregaremos datos de la tabla Registros de cálculo.Calculaciones.ActualActionPeriod.

Creemos una solicitud y veamos que para el empleado A el período salarial se divide en dos períodos: del 1 al 19 de enero y del 26 al 31 de enero. Espero que entiendas que el período se dividió en dos, porque... El ausentismo reemplazó al salario.

Creo que los mecanismos de funcionamiento del registro de cálculo se están aclarando ante nuestros ojos.

Estudiar gráficos

Ahora intentemos calcular el salario en función del salario del empleado.

Creemos una nueva consulta para el registro de cálculo utilizando la tabla virtual Registros de Cálculo Cálculos Datos de Gráficos. Para esta tabla virtual, puede establecer un parámetro: una condición para seleccionar registros, por ejemplo, Empleado=&Seleccionar empleado y Tipo de cálculo=&Tipo de cálculo y Gráfico=&Tipo de gráfico.
Configuremos empleados específicos, tipos de cálculos y horarios en los parámetros de solicitud y veamos cuántas horas es el resultado.

El artículo aún está inacabado, se puede mejorar mucho, pero ¿cómo irá el rumbo del joven luchador?

El mecanismo de cálculos periódicos complejos le permite implementar varios modelos de nómina.

El funcionamiento del mecanismo para cálculos periódicos complejos está garantizado por dos objetos de la solución de la aplicación: el Plan de tipos de cálculo y el Registro de cálculo.

Los planes tipo nómina y los registros de nómina sirven para implementar modelos de nómina. Le permiten describir varios tipos de cálculo (por ejemplo, salario, recargo personal, pensión alimenticia, multa, etc.), establecer reglas según las cuales algunos tipos de cálculo pueden influir en los resultados de otros tipos de cálculo y almacenar datos intermedios y resultados finales de los cálculos. Con la ayuda de estos objetos se puede organizar el cálculo de los devengos básicos, el cálculo del impuesto sobre la renta de las personas físicas, la distribución de los resultados de la nómina a efectos de su reflejo en la contabilidad, etc.

Plan de tipos de cálculo. se utiliza para describir los tipos de cálculos y su influencia mutua entre sí. En una solución de aplicación, puede haber una cantidad arbitraria de planes para los tipos de cálculo, según el modelo contable implementado.

Registro de cálculo se utiliza para almacenar registros sobre ciertos tipos de cálculos que deben realizarse, así como para almacenar datos intermedios y los resultados de los cálculos mismos. Una solución de aplicación puede contener varios registros de cálculo diseñados para reflejar datos de una sección contable específica.

El registro de cálculo está asociado a uno de los planes de tipo de cálculo que existen en la solución de la aplicación. Esta conexión hace que cada registro tenga un campo Tipo de cálculo, gracias al cual los mecanismos de registro pueden rastrear la influencia mutua de los registros de cálculo entre sí.

Generalmente se produce un cambio en el estado del registro de cálculo cuando se publica un documento. Por lo tanto, cada entrada del registro está asociada con un documento específico: un registrador y el número de línea de este documento. Agregar entradas al registro, modificarlas y eliminarlas sólo es posible simultáneamente para todas las entradas relacionadas con un documento.

El registro de cálculo se puede vincular a un horario. Una línea de tiempo es un registro de información que contiene un diagrama de tiempo de los datos de origen involucrados en los cálculos. Las dimensiones de este cronograma pueden ser, por ejemplo, el cronograma de trabajo y la fecha, y el recurso puede ser el número de horas de trabajo en esta fecha. Luego será posible asociar una entrada del registro de cálculo con un horario de trabajo específico y en el futuro, utilizando el lenguaje incorporado, obtener información sobre la cantidad de horas de trabajo necesarias para realizar los cálculos.

Informes y tramitación

Los informes y el procesamiento se utilizan para obtener datos resumidos en una forma conveniente para su visualización y análisis. Describen algoritmos de procesamiento de información, contienen varias formas de presentar esta información al usuario y permiten el uso de tablas y varios tipos de gráficos para la visualización visual de los datos.

En "1C:Enterprise 8.1", un rol es un objeto separado ubicado en el grupo "Roles" de la rama del árbol de configuración, que describe un conjunto de derechos de usuario para realizar ciertas acciones en cada uno de los objetos. Por ejemplo, el jefe de una organización puede tener acceso completo a cualquier información almacenada en la base de información, mientras que el almacenista debe operar únicamente con los documentos del almacén y no tener acceso a otra información.

Un rol en una configuración puede corresponder a las posiciones o actividades de los distintos grupos de usuarios para los que está destinada la configuración.

Arroz. P2.20. Ejemplo de configuración de roles en la configuración

Para cada objeto de metadatos, un rol determina qué acciones puede realizar un usuario en este rol en este objeto:

Arroz. P2.21. Establecer derechos para cada rol en las propiedades de un objeto de metadatos en el Configurador

A cada usuario que trabaja en el sistema 1C:Enterprise se le asignan uno o más roles (ver Taller 1-2).

Si un usuario intenta realizar una acción para la cual no tiene permiso, la acción no se realizará y el sistema mostrará una ventana de advertencia "¡Infracción de acceso!".

1 FIFO - del inglés. “Primera entrada, primera salida”: “el primero en llegar, el primero en irse”

2 KUDiR - abreviatura "Libro de ingresos y gastos"

3 Por ejemplo, los usuarios de la versión educativa no reciben actualizaciones; la configuración del sistema corresponde al estado de la ley para el año especificado en la información del programa.