生成折扣日记账

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

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 放在这里做个备份

时间: 2024-12-14 03:35:49

生成折扣日记账的相关文章

总账:日记账导入流程(文档 ID 1591640.1)

文档内容   概要   历史记录   详细信息   GL_INTERFACE_CONTROL   GL_INTERFACE_HISTORY   GL_IMPORT_REFERENCES   摘要   Community Discussions   Feedback   参考 适用于: Oracle General Ledger - 版本 11.5 和更高版本 本文档所含信息适用于所有平台 可执行文件:GLLEZL -日记账导入 可执行文件:GLLEZLSRS-通过提交标准请求允许日记账导入程序

莱杰:期刊进口流程(文件 ID 1591640.1)

文档内容   概要   _afrLoop=2068767096030752&id=1591640.1&_afrWindowMode=0&_adf.ctrl-state=qivvl48iu_253#WP_DOCHIST">历史记录   _afrLoop=2068767096030752&id=1591640.1&_afrWindowMode=0&_adf.ctrl-state=qivvl48iu_253#WP_BODY">具体信

GL_Oracle Erp月结和年节流程讨论(概念)

一.什么是月结处理 通常,企业财务部门每月末终了都要对该月账务进行检查,进行结算处理.例如将当月的制造费用结转为生产成本,在部门间分摊公共费用等等:并制作.打印相关的报表与分析报告.最后才关闭本期期间打开下月期间,开始下个月的账务处理. Oracle ERP是一个由多功能模块共同组成的电子商务系统,包括账户处理及事务处理两大部分,其中总账称为账务处理系统,而其他模块,例如:应收.应付.资产.库 存,称之为业务处理系统,习惯上叫:子系统.由于大量业务数据在子系统中完成, Oracle月结的流程已不

java之生成jar包

Java编写的application程序是否能够最终形成一个类似于exe一样的可执行文件,难道就只能用命令行运行?--------------------------------------------------------------- 通常有两种,一种是制作一个可执行的JAR文件包,然后就可以像.chm文档一样双击运行了:而另一种是使用JET来进行编译.但是JET是要用钱买的,而且据说JET也不是能把所有的Java程序都编译成执行文件,性能也要打些折扣.所以,使用制作可执行JAR 文件包的

Ngram折扣平滑算法

本文档翻译自srilm手册ngram-discount.7.html NAME ngram-discount – 这里主要说明srilm中实现的平滑算法 NOTATION a_z         代表以a为起始词,以z为结束词的ngram,其中_代表0个或多个词 p(a_z)     前n-1个词为a_的情况下,第n个词为z的条件概率 a_           n元a_z的前n-1个词构成的前缀 _z           n元a_z的后n-1个词构成的后缀 c(a_z)   n元a_z在训练语料

课堂练习-买书折扣最低

书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示:                                 本数                     折扣                                   2                       5%                                   3                       10%        

【U1结业机试题】新闻内容管理系统:解析XML文件读取Html模版生成网页文件

一.作业要求: 1.在xml文件中创建新闻节点news,包含标题.作者.日期.正文等信息 2.创建HTML模板文件 3.读取xml中所有新闻信息,并使用新闻信息替换模板文件中占位符,从而为每一条新闻生成一个HTML静态页面 二.参考思路: 阶段1:创建xml 添加测试记录不少于三条 阶段2:创建HTML模板文件 阶段3:从xml读取新闻信息,保存在泛型集合中 阶段4:读取模板文件 训练要点: Reader类 需求说明: 读取HTML模板文件news.template,为使用新闻信息替换其中的占位

java生成jar包

Java编写的application程序是否能够最终形成一个类似于exe一样的可执行文件,难道就只能用命令行运行? 通常有两种,一种是制作一个可执行的JAR文件包,然后就可以像.chm文档一样双击运行了:而另一种是使用JET来进行编译.但是JET是要用钱买的,而且据说JET也不是能把所有的Java程序都编译成执行文件,性能也要打些折扣.所以,使用制作可执行JAR 文件包的方法就是最佳选择了,何况它还能保持Java的跨平台特性. 下面就来看看什么是JAR文件包吧: 1. JAR文件包 JAR文件就

用srilm生成语言模型

SRILM的主要目标是支持语言模型的估计和评测.估计是从训练数据(训练集)中得到一个模型,包括最大似然估计及相应的平滑算法:而评测则是从测试集中计算其困惑度.其最基础和最核心的模块是n-gram模块,这也是最早实现的模块,包括两个工 具:ngram-count和ngram,相应的被用来估计语言模型和计算语言模型的困惑度. 1.统计语料库生成n-gram统计文件 ngram-count -vocab segment_dict.txt -text train_data -order 3 -write