博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
生成折扣日记账
阅读量:5460 次
发布时间:2019-06-15

本文共 2644 字,大约阅读时间需要 8 分钟。

有些场景下,供应商开发票时会有折扣,开票金额会小于收货金额,过账发票时,系统根据收货金额过账,自动产生折扣金额对应的日记账,与过账发票产生的供应商交易记录自动核销。

public void createDiscountJournal(ERM_VendStatementTable _statementTable){    LedgerJournalTable          journalTable;    LedgerJournalTrans          journalTrans;    Voucher                     voucher;    CustVendOpenTransManager    manager;    VendTransOpen               vendTransOpen;    VendTrans                   vendTrans;    LedgerJournalCheckPost      journalCheckPost;    LedgerJournalName           journalName;    ERM_PurchInvoice            purchInvoice;    ;    if(!_statementTable.discountAmount())        return;    ttsbegin;    select purchInvoice    where purchInvoice.StatementId == _statementTable.StatementId;    journalName = LedgerJournalName::find(VendParameters::find().ERM_DiscountJournalNameId);    voucher = NumberSeq::newGetVoucher(LedgerParameters::numRefLedgerTempVoucher()).voucher();    journalTable.initFromLedgerJournalName(journalName.JournalName);    journalTable.insert();    journalTrans.JournalNum         = journalTable.JournalNum;    journalTrans.Voucher            = voucher;    journalTrans.TransDate          = purchInvoice.InvoiceDate? purchInvoice.InvoiceDate:systemDateGet();    journalTrans.AccountType        = LedgerJournalACType::Vend;    journalTrans.AccountNum         = _statementTable.VendAccount;    journalTrans.AmountCurDebit     = _statementTable.discountAmount();    journalTrans.Approved           = NoYes::Yes;    journalTrans.OffsetAccountType  = journalName.OffsetAccountType;    journalTrans.OffsetAccount      = journalName.OffsetAccount;    journalTrans.CurrencyCode       = VendTable::find(_statementTable.VendAccount).Currency;    journalTrans.ExchRate           = Currency::exchRate(journalTrans.CurrencyCode);    journalTrans.SettleVoucher      = SettlementType::SelectedTransact;    journalTrans.insert();    manager = CustVendOpenTransManager::construct(journalTrans);    select vendTransOpen    exists join vendTrans    where vendTransOpen.RefRecId == vendTrans.RecId &&            vendTrans.Invoice == _statementTable.StatementId &&                vendTrans.AccountNum == _statementTable.VendAccount;    manager.updateTransMarked(vendTransOpen,NoYes::Yes);    journalCheckPost = LedgerJournalCheckPost::newLedgerJournalTable(journalTable,NoYes::Yes);    journalCheckPost.run();    _statementTable.Status = ERM_VendStatementStatus::Invoiced;    _statementTable.update();    _statementTable.dataSource().reread();    _statementTable.dataSource().refresh();    _statementTable.dataSource().active();    ttscommit;}

AX2009 放在这里做个备份

转载于:https://www.cnblogs.com/Farseer1215/p/6995165.html

你可能感兴趣的文章
JavaWeb基础知识第三部分
查看>>
java并发编程系列一、多线程
查看>>
parseInt的源码阅读
查看>>
不定期更新的毒鸡汤
查看>>
OpenCV数字图像处理(1) 总记
查看>>
接口和类
查看>>
jfarme
查看>>
学习中的小笔记
查看>>
test
查看>>
LVS 负载均衡 keepalive
查看>>
The eleven Day
查看>>
HTTP 无法注册URL 进程不具有命名空间的访问权限
查看>>
spring 基于multipart 文件上传
查看>>
循环冗余校验(CRC)算法入门引导
查看>>
Swift继承的用法
查看>>
【[六省联考2017]组合数问题】
查看>>
数据结构与算法学习 第1季02 链表的基本功能 C++实现
查看>>
Oracle Listener
查看>>
java String spilt 问题
查看>>
【P3056】【USACO12NOV】笨牛Clumsy Cows
查看>>