zoukankan      html  css  js  c++  java
  • AX本地化金税系统

    AX4.0SP1本地化有一个金税系统,据说国内基本上没人用,今天客户要修改一下这个东东,对金税系统不是很熟,据说金税要求客户银行的名称.
    AX中能与金税系统进行字段映射的表是写死的,并没有客户银行CustBankAccount这个表,这也可以理解啦,金税接口毕竟是个相对比较死的东西,所以写死也无所谓.但这样如果要增加字段映射的表,比如要增加CustBankAccount这个表,就需要修改代码,修改步骤如下:
    1.修改Form TaxSetupTable_CN的init方法,增加如下代码:
    //CustBankAccount
            if (!TaxSetupTable_CN::existTable(tablenum(CustBankAccount)))
            
    {
                TaxSetupTable_CN.TaxTableId 
    = tablenum(CustBankAccount);
                TaxSetupTable_CN.TaxTableName 
    = TaxSetupTable_CN.taxTablePName();
                seqNum
    ++;
                TaxSetupTable_CN.TableSequence 
    = seqNum;
                TaxSetupTable_CN.insert();
            }

            
    else
            
    {
                TaxSetupTable_CN 
    = TaxSetupTable_CN::find(tablenum(CustBankAccount), true);
                TaxSetupTable_CN.TaxTableName 
    = TaxSetupTable_CN.taxTablePName();
                TaxSetupTable_CN.update();
            }
    2.修改类TaxExportInvoice_CNbuildInvoicesbuildInvoicesTxt方法,类似代码如下:
    case tableNum(CustBankAccount):
                        select firstonly Name from custBankAccount
                            exists join custTable
                                
    where custTable.BankAccount == custBankAccount.AccountID &&
                                        custTable.AccountNum 
    == _custInvoiceJour.OrderAccount;
                        fieldValue 
    = this.getHeaderNodeValue(_taxSetupField,custBankAccount);
                        
    break;
    其实buildInvoicesbuildInvoicesTxt这两个方法的这段逻辑是差不多的,可以改造一下把这段代码抽出来,这样就不用每次改两个方法了.
    OK,差不多就这些了.
  • 相关阅读:
    Gym
    UVALive
    UVALive
    UVALive
    UVALive
    Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset Trie
    HDU 5816 Hearthstone 概率dp
    欧几里德与扩展欧几里德算法(转)
    差分约束系统详解(转)
    2016年第七届蓝桥杯C/C++程序设计本科B组决赛
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/1042949.html
Copyright © 2011-2022 走看看