Axapta 一个实体在财政年度内将数据从一家公司复制到另一家公司的框架。发布原始代码需要很长时间,而且很可能不会给我答案。我想你大概需要一个小时来浏览这四份白皮书,并确定其中是否描述了影响你功能的结构变化。如果您不能更详细地描述AX 2009中实现的功能,我不确定您希

Axapta 一个实体在财政年度内将数据从一家公司复制到另一家公司的框架。发布原始代码需要很长时间,而且很可能不会给我答案。我想你大概需要一个小时来浏览这四份白皮书,并确定其中是否描述了影响你功能的结构变化。如果您不能更详细地描述AX 2009中实现的功能,我不确定您希,axapta,x++,dynamics-ax-2012-r2,Axapta,X++,Dynamics Ax 2012 R2,一个实体在财政年度内将数据从一家公司复制到另一家公司的框架。发布原始代码需要很长时间,而且很可能不会给我答案。我想你大概需要一个小时来浏览这四份白皮书,并确定其中是否描述了影响你功能的结构变化。如果您不能更详细地描述AX 2009中实现的功能,我不确定您希望得到什么样的帮助。如果您搜索“LedgerPeriod”,需要几秒钟的时间。大多数PDF阅读器都有搜索功能。这需要很长时间,而且很可能不会给我答案。我想你大概需要一个小时来浏览这四份白皮书,并确定其中是否描述了影响你功能的结构变化。如果您不能


一个实体在财政年度内将数据从一家公司复制到另一家公司的框架。发布原始代码需要很长时间,而且很可能不会给我答案。我想你大概需要一个小时来浏览这四份白皮书,并确定其中是否描述了影响你功能的结构变化。如果您不能更详细地描述AX 2009中实现的功能,我不确定您希望得到什么样的帮助。如果您搜索“LedgerPeriod”,需要几秒钟的时间。大多数PDF阅读器都有搜索功能。这需要很长时间,而且很可能不会给我答案。我想你大概需要一个小时来浏览这四份白皮书,并确定其中是否描述了影响你功能的结构变化。如果您不能更详细地描述AX 2009中实现的功能,我不确定您希望得到什么样的帮助。如果您搜索“LedgerPeriod”,需要几秒钟的时间。大多数PDF阅读器都有搜索功能。不同公司的开放期和关闭期如何不同,即使它们是相同的期间(开始/结束日期)?即一家公司的某个期间关闭,但另一家公司的某个期间打开。如果使用相同的日历,则不能关闭。因此,我们必须“复制”它,然后为每个公司创建独特的/非共享的实例,或者我理解错了吗?有什么想法可以让我编写这样的副本吗?没有。如果需要的话,可能最好是按公司结账进行编码。不同的公司如何有不同的营业期和结账期,即使它们是相同的期间(开始/结束日期)?即一家公司的某个期间关闭,但另一家公司的某个期间打开。如果使用相同的日历,则不能关闭。因此,我们必须“复制”它,然后为每个公司创建独特的/非共享的实例,或者我理解错了吗?有什么想法可以让我编写这样的副本吗?没有。如果需要的话,也许最好是按照每个公司的结案情况编写代码。
void clicked()
{
  ModulePeriodStat ledger, bank, cust, asset, invent, prod, proj, purch, sales, tax, vend ;
    PeriodEnd        period;
    LedgerPeriod     ledgerPeriod2;
    CompanyInfo      companyInfo;
    Dialog                  dlg;
    ;

    super();

    dlg = new Dialog("Confirm: ");
    dlg.addText("You will create these periods in all companies "+date2str(period,321,2,2,2,2,4));
    dlg.run();
    if ((dlg.closedOk()))
    {
    ttsbegin;

    while select crosscompany companyInfo
    {
    if (companyInfo.dataAreaId != 'ct11' && companyInfo.dataAreaId != 'ct13' && companyInfo.dataAreaId != 'md11' && companyInfo.dataAreaId != 'mf11')
    changecompany(companyInfo.dataAreaId)
    {
        ledgerPeriod2 = null;
    while select forUpdate ledgerPeriod     // where (ledgerPeriod.PeriodEnd == period)
    {
        ledger = ledgerPeriod.StatusLedger;
        bank = ledgerPeriod.StatusBank;
        cust = ledgerPeriod.StatusCust;
        asset = ledgerPeriod.StatusFixedAsset;
        invent = ledgerPeriod.StatusInvent;
        prod = ledgerPeriod.StatusProd;
        proj = ledgerPeriod.StatusProj;
        purch = ledgerPeriod.StatusPurch;
        sales = ledgerPeriod.StatusSalesOrder;
        tax = ledgerPeriod.StatusTax;
        vend = ledgerPeriod.StatusVend;
        period = ledgerPeriod.PeriodEnd;
        ledgerPeriod2.PeriodStart = ledgerPeriod.PeriodStart;
        ledgerPeriod2.PeriodCode = ledgerPeriod.PeriodCode;
        ledgerPeriod2.PeriodEnd = period;
        ledgerPeriod2.PeriodStatus = ledgerPeriod.PeriodStatus;
        ledgerPeriod2.Commentaries = ledgerPeriod.Commentaries;
        ledgerPeriod2.StatusLedger = ledger;
        ledgerPeriod2.StatusBank = bank;
        ledgerPeriod2.StatusCust = cust;
        ledgerperiod2.StatusFixedAsset = asset;
        ledgerPeriod2.StatusInvent = invent;
        ledgerPeriod2.StatusProd = prod;
        ledgerperiod2.StatusProj = proj;
        ledgerPeriod2.StatusPurch = purch;
        ledgerperiod2.StatusSalesOrder = sales;
        ledgerPeriod2.StatusTax = tax;
        ledgerperiod2.StatusVend = vend;
        try
        {
        ledgerperiod2.insert();
        }
        catch (Exception::DuplicateKeyException)
        {
            period = period;
            print('Problem encountered with company: '+companyinfo.dataAreaId);
        }
    }
    }
    }
    ttscommit;
    box::info('Periods Created Successfully');
    }
}