In 1C sind Register eines der Schlüsselelemente des Systems. Dieser Begriff hat sein Gegenstück im englischen Hauptbuch. Es erschien ursprünglich in der Buchhaltungspraxis, aber im Laufe der Zeit begann seine Logik, in anderen Bereichen verwendet zu werden.
Im Gegensatz zu 1C, wo Register zu den integrierten Typen gehören, gibt es in der
lsFusion- Plattform
selbst kein solches Konzept. Darin befinden sich jedoch Vererbung, Polymorphismus und Aggregation, die es Ihnen insbesondere ermöglichen, eine ähnliche Registerlogik zu implementieren. In diesem Artikel werde ich anhand von Beispielen zeigen, wie genau.
Ein Register ist eine Reihe von Datensätzen, von denen jede eine Zustandsänderung für eine bestimmte Reihe von Themen (oder Dimensionen) widerspiegelt.
In 1C gibt es 4 Arten von Registern:
- Buchhaltungsregister
- Abrechnungsregister
- Sparbuch
- Informationsregister
Die ersten beiden sind hochspezialisiert und werden nur für die Buchhaltung und Gehaltsabrechnung verwendet. Da lsFusion eine universelle Plattform für die Entwicklung von Geschäftsanwendungen ist, werde ich sie nicht berücksichtigen, obwohl es recht einfach ist, sie zu implementieren. Lassen Sie uns nur auf die letzten beiden Registertypen eingehen.
Sparregister
Jeder Eintrag im Register kann als Objekt einer abstrakten Klasse betrachtet werden. Angenommen, Sie möchten ein einfaches Register implementieren, das den Saldo eines vorrätigen Produkts berechnet.
Deklarieren Sie dazu eine abstrakte
SkuLedger- Klasse:
, ( ).
Sku () Stock () .
:
, :
, , , 1
. , .
:
, . , . ,
MATERIALIZED. , , 1.
, :
, , . , , . , , 1 , , 1 .
, , :
. , , .
, :
, . . , (MATERIALIZED), :
, , dateTime :
, .
,
. :
, .
ReceiptDetail SkuLedger:
, , :
, .
, :
, . () , . , :
, , .
, , ,
TransferSkuLedger,
SkuLedger:
AGGR , , ,
TransferSkuLedger, . .
:
, , .
, 1 , :
, . , .
, , . , . , .
, , .
. :
:
, , . , , :
, , 1, lsFusion . , .
, :
1 , ( ). , 1 . , , , , (), .
lsFusion , . , , .