Полето "Отложен ДДС" се прехвърля от публикуван документ неочаквано, след като импортирате ред в кредитно известие за продажби в полската версия на Microsoft Dynamics NAV

Отнася се за
Dynamics NAV 2009 R2 Microsoft Dynamics NAV 5.0 Service Pack 1

Тази статия се отнася за Microsoft Dynamics NAV за езиково-географската променлива на полски език (pl).

Симптоми

Да предположим, че сте създали ново кредитно известие за продажби, в което данъкът върху добавената стойност е посочен в заглавката на продажбите в полската версия на Microsoft Dynamics NAV. След като импортирате ред от публикувана фактура чрез изпълнение на функцията "Получаване на редовете на публикувания документ за обръщане... ", полето "Отложен ДДС " в реда се прехвърля неочаквано от публикувания документ. Следователно полето "Отложен ДДС " в реда има стойност, която се различава от стойността на "Отложен ДДС " в заглавката на продажбите.
Този проблем възниква в следните продукти:

  • Полската версия на Microsoft Dynamics NAV 2009 R2
  • Полската версия на Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)

      

Решение

Информация за горещи поправки

Поддържа гореща поправка вече се предлага от Microsoft. Целта му е обаче само да коригира проблема, който е описан в тази статия. Прилагайте го само към системи, които срещат този конкретен проблем. Тази гореща корекция може да бъде подложена на допълнително тестване. Ето защо, ако не сте сериозно засегнати от този проблем, ви препоръчваме да изчакате следващия сервизен пакет за Microsoft Dynamics NAV 2009 или следващата версия на Microsoft Dynamics NAV, която съдържа тази гореща корекция.

Забележка: При специални случаи таксите, които обикновено се начисляват за свързани с поддръжката разговори, могат да бъдат отменени, ако специалист по техническа поддръжка за Microsoft Dynamics и свързаните продукти реши, че проблемът може да бъде решен със специфична актуализация. Стандартните такси за поддръжката ще важат за допълнителни въпроси, свързани с нея, както и за проблеми, които не спадат към съответната актуализация.

            
          

Информация за инсталиране

Microsoft предоставя примери за програмиране само за илюстрация, без гаранция, нито изрична, или подразбираща се. Това включва, но не се ограничава до, подразбиращите се гаранции за продаваемост или годност за определена цел. В тази статия се предполага, че сте запознати с езика за програмиране, който се демонстрира, и с инструментите, които се използват за създаване и за процедури за отстраняване на грешки. Инженерите по поддръжка на Microsoft могат да ви помогнат да обяснят функционалността на дадена процедура, но няма да променят тези примери, за да предоставят допълнителна функционалност или да конструират процедури, които да отговарят на вашите конкретни изисквания.

Забележка Преди да инсталирате тази гореща корекция, уверете се, че всички потребители на клиента на Microsoft Navision са излезли от системата. Това включва потребители на клиенти на Microsoft Navision Application Services (NAS). Когато внедрявате тази гореща корекция, трябва да сте единственият клиентски потребител е влязъл.

За да приложите тази гореща корекция, трябва да имате лиценз за разработчик.

Препоръчваме на потребителския акаунт в прозореца за влизане в Windows или в прозореца за влизане в база данни да бъде присвоен ИД на роля "SUPER". Ако на потребителския акаунт не може да бъде присвоен ИД на роля "SUPER", трябва да се уверите, че този потребителски акаунт има следните разрешения:

  • Разрешението за промяна за обекта, който ще променяте.
  • Разрешението за изпълнение за обекта 5210 на системен обект с ИД 5210 и за обекта 9015 на системен обект.

                
Забележка: Не е необходимо да имате права за хранилищата за данни, освен ако не трябва да извършите поправка на данни.

Промени в кода

Забележка: Винаги тествайте корекциите на кода в контролирана среда, преди да ги приложите към производствените си компютри.
За да решите този проблем, изпълнете следните стъпки:

  1. Добавете нова локална променлива във функцията InsertInvLineFromShptLine в таблицата "Ред за изпращане на продажби" (111) и след това задайте променливата по следния начин:

    • Име: SalesHeader
    • DataType: Record
    • Подтип: Заглавка "Продажби " (36)
  2. Променете кода във функцията InsertInvLineFromShptLine в таблицата "Ред за изпращане на продажби" (111):
    Съществуващ код 1

    ...
    TransferOldExtLines.ClearLineNumbers;
    
    REPEAT
    ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0);
    ...
    

    Код за замяна 1

    ...
    TransferOldExtLines.ClearLineNumbers;
    
    // Add the following line.
    SalesHeader.GET(TempSalesLine."Document Type",TempSalesLine."Document No.");
    
    REPEAT
    ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0);
    ...
    

    Съществуващ код 2

    ...
    SalesOrderLine."Attached to Line No.");
    SalesLine."Shortcut Dimension 1 Code" := SalesOrderLine."Shortcut Dimension 1 Code";
    SalesLine."Shortcut Dimension 2 Code" := SalesOrderLine."Shortcut Dimension 2 Code";
    SalesLine.INSERT;
    
    ItemTrackingMgt.CopyHandledItemTrkgToInvLine(SalesOrderLine,SalesLine);
    ...
    

    Код за замяна 2

    ...
    SalesOrderLine."Attached to Line No.");
    SalesLine."Shortcut Dimension 1 Code" := SalesOrderLine."Shortcut Dimension 1 Code";
    SalesLine."Shortcut Dimension 2 Code" := SalesOrderLine."Shortcut Dimension 2 Code";
    
    // Add the following line. 
    SalesLine."Postponed VAT" := SalesHeader."Postponed VAT";
    
    SalesLine.INSERT;
    
    ItemTrackingMgt.CopyHandledItemTrkgToInvLine(SalesOrderLine,SalesLine);
    ...
    
  3. Добавете нова локална променлива във функцията InsertInvLineFromRcptLine в кошчето. Редова таблица (121) и след това задайте променливата, както следва:

    • Име: PurchHeader
    • DataType: Record
    • Подтип: Заглавка на покупката (38)
  4. Променете кода във функцията InsertInvLineFromRcptLine в кошчето. Таблица с редове (121), както следва:
    Съществуващ код 1

    ...
    TransferOldExtLines.ClearLineNumbers;
    
    REPEAT
    ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0);
    ...
    

    Код за замяна 1

    ...
    TransferOldExtLines.ClearLineNumbers;
    
    // Add the following line. 
    PurchHeader.GET(TempPurchLine."Document Type",TempPurchLine."Document No.");
    
    REPEAT
    ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0);
    ...
    

    Съществуващ код 2

    ...
    ELSE
    PurchLine."Drop Shipment" := TRUE;
    
    PurchLine.INSERT;
    
    ItemTrackingMgt.CopyHandledItemTrkgToInvLine2(PurchOrderLine,PurchLine);
    ...
    

    Код за замяна 2

    ...
    ELSE
    PurchLine."Drop Shipment" := TRUE;
    
    // Add the following line. 
    PurchLine."Postponed VAT" := PurchHeader."Postponed VAT";
    
    PurchLine.INSERT;
    
    ItemTrackingMgt.CopyHandledItemTrkgToInvLine2(PurchOrderLine,PurchLine);
    ...
    
  5. Добавете нова локална променлива във функцията InsertInvLineFromShptLine в таблицата "Ред за изпращане на услуга" (5991) и след това задайте променливата по следния начин:

    • Име: ServiceHeader
    • DataType: Record
    • Подтип: Заглавка на услуга (5900)
  6. Променете кода във функцията InsertInvLineFromShptLine в таблицата "Ред за изпращане на услуга" (5991), както следва:
    Съществуващ код 1

    ...
    TransferOldExtLines.ClearLineNumbers;
    
    REPEAT
    ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0);
    ...
    

    Код за замяна 1

    ...
    TransferOldExtLines.ClearLineNumbers;
    
    // Add the following line.
    ServiceHeader.GET(TempServiceLine."Document Type",TempServiceLine."Document No.");
    
    REPEAT
    ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0);
    ...
    

    Съществуващ код 2

    ...
    ServiceOrderLine."Attached to Line No.");
    ServiceLine."Shortcut Dimension 1 Code" := ServiceOrderLine."Shortcut Dimension 1 Code";
    ServiceLine."Shortcut Dimension 2 Code" := ServiceOrderLine."Shortcut Dimension 2 Code";
    ServiceLine.INSERT;
    ...
    

    Код за замяна 2

    ...
    ServiceOrderLine."Attached to Line No.");
    ServiceLine."Shortcut Dimension 1 Code" := ServiceOrderLine."Shortcut Dimension 1 Code";
    ServiceLine."Shortcut Dimension 2 Code" := ServiceOrderLine."Shortcut Dimension 2 Code";
    
    // Add the following line.
    ServiceLine."Postponed VAT" := ServiceHeader."Postponed VAT";
    
    ServiceLine.INSERT;
    ...
    
  7. Добавете нова локална променлива във функцията InsertInvLineFromRetShptLine в таблицата "Ред за обратна пратка" (6651) и след това задайте променливата по следния начин:

    • Име: PurchHeader
    • DataType: Record
    • Подтип: Заглавка на покупката (38)
  8. Променете кода във функцията InsertInvLineFromRetShptLine в таблицата "Ред за обратна пратка" (6651), както следва:
    Съществуващ код 1

    ...
    TransferOldExtLines.ClearLineNumbers;
    
    REPEAT
    ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0);
    ...
    

    Код за замяна 1

    ...
    TransferOldExtLines.ClearLineNumbers;
    
    // Add the following line.
    PurchHeader.GET(TempPurchLine."Document Type",TempPurchLine."Document No.");
    
    REPEAT
    ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0);
    ...
    

    Съществуващ код 2

    ...
    "Attached to Line No.");
    PurchLine."Shortcut Dimension 1 Code" := PurchOrderLine."Shortcut Dimension 1 Code";
    PurchLine."Shortcut Dimension 2 Code" := PurchOrderLine."Shortcut Dimension 2 Code";
    PurchLine.INSERT;
    
    ItemTrackingMgt.CopyHandledItemTrkgToInvLine2(PurchOrderLine,PurchLine);
    ...
    

    Код за замяна 2

    ...
    "Attached to Line No.");
    PurchLine."Shortcut Dimension 1 Code" := PurchOrderLine."Shortcut Dimension 1 Code";
    PurchLine."Shortcut Dimension 2 Code" := PurchOrderLine."Shortcut Dimension 2 Code";
    
    // Add the following line. 
    PurchLine."Postponed VAT" := PurchHeader."Postponed VAT";
    
    PurchLine.INSERT;
    
    ItemTrackingMgt.CopyHandledItemTrkgToInvLine2(PurchOrderLine,PurchLine);
    ...
    
  9. Добавете нова локална променлива във функцията InsertInvLineFromRetRcptLine в таблицата с ред за обратна разписка за връщане (6661) и след това задайте променливата по следния начин:

    • Име: SalesHeader
    • DataType: Record
    • Подтип: Заглавка "Продажби " (36)
  10. Променете кода във функцията InsertInvLineFromRetRcptLine в таблицата с редовете за обратна разписка за връщане (6661), както следва:
    Съществуващ код 1

    ...
    TransferOldExtLines.ClearLineNumbers;
    
    REPEAT
    ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0);
    ...
    

    Код за замяна 1

    ...
    TransferOldExtLines.ClearLineNumbers;
    
    // Add the following line.
    SalesHeader.GET(TempSalesLine."Document Type",TempSalesLine."Document No.");
    
    REPEAT
    ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0);
    ...
    

    Съществуващ код 2

    ...
    SalesOrderLine."Attached to Line No.");
    SalesLine."Shortcut Dimension 1 Code" := SalesOrderLine."Shortcut Dimension 1 Code";
    SalesLine."Shortcut Dimension 2 Code" := SalesOrderLine."Shortcut Dimension 2 Code";
    SalesLine.INSERT;
    
    ItemTrackingMgt.CopyHandledItemTrkgToInvLine(SalesOrderLine,SalesLine);
    ...
    

    Код за замяна 2

    ...
    SalesOrderLine."Attached to Line No.");
    SalesLine."Shortcut Dimension 1 Code" := SalesOrderLine."Shortcut Dimension 1 Code";
    SalesLine."Shortcut Dimension 2 Code" := SalesOrderLine."Shortcut Dimension 2 Code";
    
    // Add the following line.
    SalesLine."Postponed VAT" := SalesHeader."Postponed VAT";
    
    SalesLine.INSERT;
    
    ItemTrackingMgt.CopyHandledItemTrkgToInvLine(SalesOrderLine,SalesLine);
    ...
    
  11. Променете кода във функцията CopySalesLine в кодовата единица Mgt. за копиране на документ (6620), както следва:
    Съществуващ код 1

    ...
    ToSalesLine."Document Type" := ToSalesHeader."Document Type";
    ToSalesLine."Document No." := ToSalesHeader."No.";
    ToSalesLine."Line No." := NextLineNo;
    ToSalesLine.VALIDATE("Currency Code",FromSalesHeader."Currency Code");
    IF RecalculateLines AND NOT FromSalesLine."System-Created Entry" THEN BEGIN
    ToSalesLine.VALIDATE(Type,FromSalesLine.Type);
    ...
    

    Код за замяна 1

    ...
    ToSalesLine."Document Type" := ToSalesHeader."Document Type";
    ToSalesLine."Document No." := ToSalesHeader."No.";
    ToSalesLine."Line No." := NextLineNo;
    
    // Add the following line. 
    ToSalesLine."Postponed VAT" := ToSalesHeader."Postponed VAT";
    
    ToSalesLine.VALIDATE("Currency Code",FromSalesHeader."Currency Code");
    IF RecalculateLines AND NOT FromSalesLine."System-Created Entry" THEN BEGIN
    ToSalesLine.VALIDATE(Type,FromSalesLine.Type);
    ...
    

    Съществуващ код 2

    ...
    ToPurchLine."Document Type" := ToPurchHeader."Document Type";
    ToPurchLine."Document No." := ToPurchHeader."No.";
    ToPurchLine."Line No." := NextLineNo;
    ToPurchLine.VALIDATE("Currency Code",FromPurchHeader."Currency Code");
    
    IF RecalculateLines AND NOT FromPurchLine."System-Created Entry" THEN BEGIN
    ...
    

    Код за замяна 2

    ...
    ToPurchLine."Document Type" := ToPurchHeader."Document Type";
    ToPurchLine."Document No." := ToPurchHeader."No.";
    ToPurchLine."Line No." := NextLineNo;
    
    // Add the following line. 
    ToPurchLine."Postponed VAT" := ToPurchHeader."Postponed VAT";
    
    ToPurchLine.VALIDATE("Currency Code",FromPurchHeader."Currency Code");
    
    IF RecalculateLines AND NOT FromPurchLine."System-Created Entry" THEN BEGIN
    ...
    

Предварителни изисквания

Трябва да имате инсталиран един от следните продукти, за да приложите тази гореща корекция:

  • Полската версия на Microsoft Dynamics NAV 2009 R2
  • Полската версия на Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)

Информация за премахване

Не можете да премахнете тази гореща корекция.

Състояние

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.

Забележка: Това е статия "FAST PUBLISH", създадена директно от организацията за поддръжка на Microsoft. Информацията, съдържаща се тук, е предоставена както е в отговор на възникващи проблеми. В резултат на бързината на предоставянето им, материалите могат да включват печатни грешки и могат да бъдат коригирани по всяко време без предизвестие. Вижте условията на използване за други съображения.