zoukankan      html  css  js  c++  java
  • Axapta财务过账分析(二)

    点击窗体上的OK后,就会调用salesFormLetter(其子类SalesFormLetter_invoice没有重载Run())Run()方法了.
    Run()方法做了如下几件事情:
    1.构造QueryRun(),该QueryRun对象执行的SQL如下所示:
    select * from salesParmUpdate a
    inner join salesParmTable b on a.parmid = b.parmId
    where a.parmid='当前的ParmId' and B.PARMJOBSTATUS='ParmJobStatus::Waiting'
    2.如果打印类型是current或者invocie是proforma的,则构造用表CustInvoiceJour构造一个RecordSortedList,供后面使用.
    3.从步骤1中构造的QueryRun()返回的结果中取出SalesParmTable,并有SalesParmTable找到其对应的salesTable记录.如果salesTable不为空则调用createJournal()方法.
    createJournal()做了如下几件事情:
    1.根据salesTable,文档类型以及salesParmUpdate的一些值构造salesTotal对象,最终实例化的是类型是salesTotal_ParmTrans.介绍一下salesTotal中几个类的继承关系:TradeTotals<-SalesTotal<-Salestotal_Sales<-SalesTotal_ParmTrans.后面很多的计算任务都是由父类TrandTotals完成的.
    2.调用salesTotal_ParmTrans的方法设定是否计算数量,金额等,这些项包括应收账款,杂项收费,税款等等.
    3.调用TradeTotals的tax方法计算税额.
    4.调用InsertJournal()方法,进行相关费用的计算,过账,并更新salesParmTable和salesParmLine等相关表的状态.
    到此为止,SalasFormLetter的主线逻辑已经叙述完毕.
    实际上财务过账的主要工作在createJournal()方法中的第三步和第四步完成的.
    在下一篇文章中将进入正题详细介绍Tax的计算.
  • 相关阅读:
    python播放音频文件
    安装pyaudio
    给 python工程 打包并上传 PyPI (The Python Package Index)
    python怎么import自己写的包
    pip源使用国内镜像
    Git和GitHub
    nginx的日志轮转
    ab接口压力测试工具
    nginx 性能优化
    https协议
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/510715.html
Copyright © 2011-2022 走看看