Tuesday, January 16, 2024¶
The following output (issued by lino.utils.diag.Anayzer.show_db_overview()
) helped me to understand
the MRO problem with ledger.Voucher and ledger.RegistrableVoucher:
class VatProductInvoice(SalesDocument, Matching, InvoicingTargetVoucher, StorageTransferer):
Model:
lino_xl.lib.trading.models.VatProductInvoice
Duplicate base:
LedgerRegistrable
Inheritance trees:
LedgerRegistrable.StorageTransferer.VatProductInvoice
LedgerRegistrable.VatDocument.VatVoucher.SalesDocument.VatProductInvoice
----------------------------------------
Duplicate base:
Voucher
Inheritance trees:
Voucher.LedgerRegistrable.StorageTransferer.VatProductInvoice
Voucher.LedgerRegistrable.VatDocument.VatVoucher.SalesDocument.VatProductInvoice
----------------------------------------
Duplicate base:
UserAuthored
Inheritance trees:
UserAuthored.Voucher.LedgerRegistrable.StorageTransferer.VatProductInvoice
UserAuthored.Voucher.LedgerRegistrable.VatDocument.VatVoucher.SalesDocument.VatProductInvoice