在1C中,寄存器是系统的关键要素之一。 该术语的对等形式为英语-分类帐。 它最初出现在会计实践中,但随着时间的流逝,它的逻辑开始在其他领域使用。
与1C不同,其中寄存器是内置类型之一,而
lsFusion平台
本身没有这种概念。 但是其中包含继承,多态性和聚合,尤其是允许您实现类似的寄存器逻辑。 在本文中,我将通过示例演示如何实现。
寄存器是一组记录,每个记录反映了一组特定主题(或维度)的状态变化。
在1C中,有四种类型的寄存器:
- 会计登记册
- 帐单记录
- 储蓄登记册
- 信息登记册
前两个是高度专业的,仅用于会计和薪资。 由于lsFusion是用于开发业务应用程序的通用平台,尽管实现起来非常简单,但我不会考虑它们。 让我们只讨论最后两种类型的寄存器。
储蓄登记册
寄存器中的任何条目都可以视为某个抽象类的对象。 假设您要实现一个简单的寄存器,该寄存器可以计算库存产品的余额。
为此,请声明一个抽象的
SkuLedger类:
, ( ).
Sku () Stock () .
:
, :
, , , 1
. , .
:
, . , . ,
MATERIALIZED. , , 1.
, :
, , . , , . , , 1 , , 1 .
, , :
. , , .
, :
, . . , (MATERIALIZED), :
, , dateTime :
, .
,
. :
, .
ReceiptDetail SkuLedger:
, , :
, .
, :
, . () , . , :
, , .
, , ,
TransferSkuLedger,
SkuLedger:
AGGR , , ,
TransferSkuLedger, . .
:
, , .
, 1 , :
, . , .
, , . , . , .
, , .
. :
:
, , . , , :
, , 1, lsFusion . , .
, :
1 , ( ). , 1 . , , , , (), .
lsFusion , . , , .