En 1C, los registros son uno de los elementos clave del sistema. Este término tiene su contraparte en inglés - ledger. Originalmente apareció en la práctica contable, pero con el tiempo, su lógica comenzó a usarse en otras áreas.
A diferencia de 1C, donde los registros son uno de los tipos
integrados , la plataforma
lsFusion en sí misma no tiene ese concepto. Pero en él hay herencia, polimorfismo y agregación, que, en particular, le permite implementar una lógica de registro similar. En este artículo mostraré cómo exactamente con ejemplos.
Un registro es un conjunto de registros, cada uno de los cuales refleja un cambio de estado para un determinado conjunto de temas (o dimensiones).
En 1C hay 4 tipos de registros:
- Registro contable
- Registro de facturación
- Registro de ahorro
- Registro de información
Los dos primeros son altamente especializados y se utilizan solo para contabilidad y nóminas. Dado que lsFusion es una plataforma universal para desarrollar aplicaciones comerciales, no las consideraré, aunque es bastante simple implementarlas. Detengámonos solo en los dos últimos tipos de registros.
Registros de ahorro
Cualquier entrada en el registro puede considerarse como un objeto de alguna clase abstracta. Suponga que desea implementar un registro simple que calcule el saldo de un producto en stock.
Para hacer esto, declare una clase abstracta de
SkuLedger :
, ( ).
Sku () Stock () .
:
, :
, , , 1
. , .
:
, . , . ,
MATERIALIZED. , , 1.
, :
, , . , , . , , 1 , , 1 .
, , :
. , , .
, :
, . . , (MATERIALIZED), :
, , dateTime :
, .
,
. :
, .
ReceiptDetail SkuLedger:
, , :
, .
, :
, . () , . , :
, , .
, , ,
TransferSkuLedger,
SkuLedger:
AGGR , , ,
TransferSkuLedger, . .
:
, , .
, 1 , :
, . , .
, , . , . , .
, , .
. :
:
, , . , , :
, , 1, lsFusion . , .
, :
1 , ( ). , 1 . , , , , (), .
lsFusion , . , , .