您不能发布更改 Microsoft Dynamics 导航 2009年意大利版中的资产负债科目后包含预缴税金付款

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 2882916
本文适用于 Microsoft Dynamics 导航意大利语 (它) 的语言环境。
症状
假定您应用的意大利语版本更新 979022 Microsoft Dynamics 导航 2009 年。更改资产负债科目之后,您无法过帐包含预缴税金付款。

下列产品中,会发生此问题:
  • 意大利语版 Microsoft Dynamics 导航 2009 Service Pack 1
  • Microsoft Dynamics 导航 2009 R2 意大利语版
有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
979022 您没有收到任何警告,但不计算在意大利语版本的 Microsoft Dynamics 导航的预缴税金过帐预缴税金发票付款时

解决方案

热修复补丁程序信息

现在可以从 Microsoft 获得支持的修补程序。但是,它是仅用于纠正本文中描述的问题。它只应用于正经历此特定问题的系统。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待下一个 Microsoft Dynamics 导航 2009 service pack 或包含此修复程序的下一步的 Microsoft Dynamics 导航版本。

注意在特殊情况下,通常收取的调用可能会取消如果技术支持专业人员为 Microsoft Dynamics 及相关的产品的支持费用确定某个特定的更新才能解决您的问题。其他支持问题和特定更新无法解决的问题照常收取支持费用。

安装信息

Microsoft 提供的编程示例仅用于说明,没有任何明示或暗示的担保。这包括但不限于适销性或特定用途适用性的暗示保证。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 的支持工程师可以帮助解释某个特定过程的功能。但是,他们不会修改这些示例以提供额外的功能或构建过程以满足您的特定要求。

注意安装此修复程序之前,请确认 Microsoft 动态导航客户端的所有用户都将被都注销系统。这包括 Microsoft Dynamics 导航应用程序服务器 (NAS) 服务。要实现此修补程序时,在登录的唯一客户端用户。

若要实现此修补程序,必须使用开发人员许可证。

我们建议在 Windows 登录窗口或数据库登录窗口中的用户帐户分配"超级"角色 id。如果"超级"角色 ID 不能分配的用户帐户,您必须验证的用户帐户具有下列权限:
  • 您将更改该对象的修改权限。
  • 系统对象 ID 5210 对象和系统对象 ID 9015 对象的“执行”权限。
注意您不需要具有对数据存储区的权限,除非您需要执行数据修复。

代码更改

注意始终测试代码修复在一个受控的环境中应用之前与您的生产计算机的修补程序。

若要解决此问题,请更改代码中的CheckWithholdTax函数中 Gen.Jnl。-开机自检行 Codeuint (12),如下所示:

现有代码 1

...UNTIL OldCustLedgEntry.NEXT = 0;      END;// Delete the following lines.     PROCEDURE CheckWithholdTax@1130007(DocType@1130000 : ' ,,Invoice,Credit Memo';DocNo@1130001 : Code[20];GenJnlLine@1130002 : Record 81;ApplyInGenJnlLine@1130003 : Boolean);     VAR       ComputedWithholdTax@1130004 : Record 12111;       TmpWithholdingContribution@11300005 : Record 12113;       WithholdCode@1130006 : Record 12104;     BEGIN       IF DocType IN [DocType::Invoice,DocType::"Credit Memo"] THEN BEGIN         ComputedWithholdTax.RESET;         ComputedWithholdTax.SETRANGE("Document No.",DocNo);         IF ComputedWithholdTax.FINDFIRST THEN BEGIN// End of the deleted lines.            IF NOT ApplyInGenJnlLine THEN              ERROR(Text1130023)            ELSE BEGIN...

替换代码 1

...UNTIL OldCustLedgEntry.NEXT = 0;      END;// Add the following lines.     PROCEDURE CheckWithholdTax@1170000000(DocType@1170000000 : ' ,,Invoice,Credit Memo';DocNo@1170000001 : Code[20];GenJnlLine@1170000002 : Record 81;ApplyInGenJnlLine@1170000003 : Boolean);     VAR       ComputedWithholdTax@1170000004 : Record 12111;       TmpWithholdingContribution@1170000005 : Record 12113;     BEGIN       IF (DocType IN [DocType::Invoice,DocType::"Credit Memo"]) AND          (GenJnlLine."Document Type" IN [GenJnlLine."Document Type"::Payment,GenJnlLine."Document Type"::Refund])       THEN BEGIN         ComputedWithholdTax.RESET;         ComputedWithholdTax.SETRANGE("Document No.",DocNo);         IF NOT ComputedWithholdTax.ISEMPTY THEN// End of the added lines.            IF NOT ApplyInGenJnlLine THEN              ERROR(Text1130023)            ELSE BEGIN...

现有代码 2

...ELSE BEGIN              TmpWithholdingContribution.RESET;              TmpWithholdingContribution.SETRANGE("Invoice No.",DocNo);// Delete the following lines.             IF NOT TmpWithholdingContribution.FINDFIRST THEN BEGIN               WithholdCode.GET(ComputedWithholdTax."Withholding Tax Code");               WithholdCode.TESTFIELD("Withholding Taxes Payable Acc.");               IF NOT((GenJnlLine."Bal. Account Type" = GenJnlLine."Bal. Account Type"::"G/L Account") AND                  (GenJnlLine."Bal. Account No." = WithholdCode."Withholding Taxes Payable Acc.")) THEN                 ERROR(Text1130023);             END;           END;         END;// End of the deleted lines.        END;      END;...

替换代码 2

...ELSE BEGIN              TmpWithholdingContribution.RESET;              TmpWithholdingContribution.SETRANGE("Invoice No.",DocNo);// Add the following lines.             IF TmpWithholdingContribution.ISEMPTY THEN               IF (GenJnlLine."Bal. Account Type" <> GenJnlLine."Bal. Account Type"::"G/L Account") THEN                 ERROR(Text1130023);           END;// End of the added lines.        END;      END;...

先决条件

您必须具有要应用此修补程序的安装以下产品之一:
  • 意大利语版 Microsoft Dynamics 导航 2009 Service Pack 1
  • Microsoft Dynamics 导航 2009 R2 意大利语版

删除信息

您不能删除此修补程序。
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。
注意这是创建直接从 Microsoft 支持组织中的"快速发布"的文章。本文档包含的信息按原样提供,如-是为了响应新出现的问题。由于以使其可用的速度,而材料可能包含印刷错误,恕不另行通知,随时可能进行修订。请参阅 使用条款的规定 对于其他考虑事项。

警告:本文已自动翻译

属性

文章 ID:2882916 - 上次审阅时间:10/16/2013 08:50:00 - 修订版本: 1.0

Microsoft Dynamics NAV 2009

  • kbqfe kbmbsmigrate kbsurveynew kbmbscodefix kbmt KB2882916 KbMtzh
反馈