Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.


В тази статия се отнася за Microsoft Dynamics NAV за Източна Европа ДД език език.

Симптоми

Да предположим, че прилагането на актуална корекция 2672643 в Източна Европа версия на Microsoft Dynamics NAV 2009 R2. Изпращате предварително писмо за поръчка, която съдържа авансови плащания. В тази ситуация когато доставят и фактуриране на поръчки за продажби, получавате следното съобщение за грешка:

Количество за доставка не може да бъде повече от 0,9. продажби линия тип документ = "Ред", документ номер = "номер", ред. = "номер".


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

2672643 "не са публикувани предварително плащане суми по ред [Брой]" съобщение за грешка, когато изпращате частично експедиране на поръчка в Източна Европа версия на Microsoft Dynamics NAV 2009 R2

Решение

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

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

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



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

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

Забележка: Преди да инсталирате тази актуална корекция, уверете се, че всички потребители на клиента на Microsoft Dynamics NAV са излезли от системата. Това включва и услуги на Microsoft Dynamics NAV приложение сървър (NAS). Трябва да бъде само клиент потребител, който е влязъл при прилагане на тази актуална корекция.

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

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

  • Разрешение за промяна на обекта, ще се променя.

  • Разрешението за изпълнение за обекта на системата обект номер 5210 и системата обект ID 9015 обект.



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

Промени код

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

  1. Да променяте Ав за приспадане - OnValidate задейства в таблицата "Ред от продажби" (37) както следва:
    Съществуващ код

    ..."Prepmt Amt to Deduct",
    STRSUBSTNO(Text045,"Prepmt. Amt. Inv." - "Prepmt Amt Deducted"));

    IF "Qty. to Invoice" = Quantity - "Quantity Invoiced" THEN

    // Delete the following line.
    TESTFIELD("Prepmt Amt to Deduct","Prepmt. Amt. Inv." - "Prepmt Amt Deducted");
    ...

    Смяна на код

    ..."Prepmt Amt to Deduct",
    STRSUBSTNO(Text045,"Prepmt. Amt. Inv." - "Prepmt Amt Deducted"));

    IF "Qty. to Invoice" = Quantity - "Quantity Invoiced" THEN

    // Add the following lines.
    TESTFIELD("Prepmt Amt to Deduct","Prepmt. Amt. Inv." - "Prepmt Amt Deducted");
    GetSalesHeader;
    IF SalesHeader."Prepayment Type" = SalesHeader."Prepayment Type"::Advance THEN BEGIN
    VATPostingSetup.GET("VAT Bus. Posting Group","VAT Prod. Posting Group");
    VATPostingSetup.TESTFIELD("Adv. Invoice Correction Type",VATPostingSetup."Adv. Invoice Correction Type"::Percentage);
    END;
    // End of the added lines.
    ...


  2. Променете кода в CalcPrepaymentToDeduct функция в таблицата "Ред от продажби" (37) както следва:

    1. Изтрийте следните локални променливи:

      PrepmtPct: Decimal;AbsoluteAdvCorrection : Boolean;
    2. Променяте както следва:
      Съществуващ код

      ...IF (Quantity - "Quantity Invoiced") <> 0 THEN BEGIN
      GetSalesHeader;
      IF SalesHeader."Prepayment Type" = SalesHeader."Prepayment Type"::Advance THEN BEGIN
      VATPostingSetup.GET("VAT Bus. Posting Group","VAT Prod. Posting Group");

      // Delete the following lines.
      AbsoluteAdvCorrection :=
      VATPostingSetup."Adv. Invoice Correction Type" = VATPostingSetup."Adv. Invoice Correction Type"::Absolute;
      IF AbsoluteAdvCorrection THEN BEGIN
      PrepmtPct := "Prepayment %";
      "Prepayment %" := 100;
      END;
      END;
      IF SalesHeader."Prices Including VAT" THEN
      "Prepmt Amt to Deduct" :=
      ROUND(
      ROUND(
      ROUND(
      ROUND("Unit Price" * "Qty. to Invoice",Currency."Amount Rounding Precision") *
      (1 - ("Line Discount %" / 100)),Currency."Amount Rounding Precision") *
      ("Prepayment %" / 100) / (1 + ("VAT %" / 100)),Currency."Amount Rounding Precision") *
      (1 + ("VAT %" / 100)),Currency."Amount Rounding Precision")
      ELSE
      "Prepmt Amt to Deduct" :=
      ROUND(
      ROUND(
      ROUND("Unit Price" * "Qty. to Invoice",Currency."Amount Rounding Precision") *
      (1 - ("Line Discount %" / 100)),Currency."Amount Rounding Precision") *
      "Prepayment %" / 100 ,Currency."Amount Rounding Precision");
      IF AbsoluteAdvCorrection THEN BEGIN
      "Prepayment %" := PrepmtPct;
      IF "Prepmt Amt to Deduct" > ("Prepmt. Amt. Inv." - "Prepmt Amt Deducted") THEN
      "Prepmt Amt to Deduct" := "Prepmt. Amt. Inv." - "Prepmt Amt Deducted";
      END;
      END ELSE
      "Prepmt Amt to Deduct" := 0
      // End of the deleted lines.
      ...

      Смяна на код

      ...IF (Quantity - "Quantity Invoiced") <> 0 THEN BEGIN
      GetSalesHeader;
      IF SalesHeader."Prepayment Type" = SalesHeader."Prepayment Type"::Advance THEN BEGIN
      VATPostingSetup.GET("VAT Bus. Posting Group","VAT Prod. Posting Group");

      // Add the following lines.
      CASE VATPostingSetup."Adv. Invoice Correction Type" OF
      VATPostingSetup."Adv. Invoice Correction Type"::Percentage:
      "Prepmt Amt to Deduct" :=
      ROUND("Qty. to Invoice" / (Quantity - "Quantity Invoiced") *
      ("Prepmt. Amt. Inv." - "Prepmt Amt Deducted"),Currency."Amount Rounding Precision");
      VATPostingSetup."Adv. Invoice Correction Type"::Absolute:
      BEGIN
      "Prepmt Amt to Deduct" := PrepmtAmtToDeduct(SalesHeader."Prices Including VAT",100);
      IF "Prepmt Amt to Deduct" > ("Prepmt. Amt. Inv." - "Prepmt Amt Deducted") THEN
      "Prepmt Amt to Deduct" := "Prepmt. Amt. Inv." - "Prepmt Amt Deducted";
      END;
      VATPostingSetup."Adv. Invoice Correction Type"::"Fully Invoiced":
      IF "Qty. to Invoice" = Quantity - "Quantity Invoiced" THEN
      "Prepmt Amt to Deduct" := "Prepmt. Amt. Inv." - "Prepmt Amt Deducted"
      ELSE
      "Prepmt Amt to Deduct" := 0;
      END;
      END ELSE
      "Prepmt Amt to Deduct" := PrepmtAmtToDeduct(SalesHeader."Prices Including VAT","Prepayment %");
      END ELSE
      "Prepmt Amt to Deduct" := 0
      // End of the added lines.
      ...


  3. Създайте нова функция PrepmtAmtToDeduct в таблицата "Ред от продажби" (37) както следва:

    PROCEDURE PrepmtAmtToDeduct@1470002(PricesIncludingVAT@1470000 : Boolean;PrepaymentPct@1470001 : Decimal) : Decimal;VAR
    VATPct@1470002 : Decimal;
    BEGIN
    IF PricesIncludingVAT THEN
    VATPct := "VAT %"
    ELSE
    VATPct := 0;
    EXIT(
    ROUND(
    ROUND(
    ROUND(
    ROUND("Unit Price" * "Qty. to Invoice",Currency."Amount Rounding Precision") *
    (1 - ("Line Discount %" / 100)),Currency."Amount Rounding Precision") *
    (PrepaymentPct / 100) / (1 + (VATPct / 100)),Currency."Amount Rounding Precision") *
    (1 + (VATPct / 100)),Currency."Amount Rounding Precision"));
    END;
  4. Да променяте Ав за приспадане - OnValidate задейства в таблицата "Ред от покупка" (39) както следва:
    Съществуващ код

    ...FIELDERROR(
    "Prepmt Amt to Deduct",
    STRSUBSTNO(Text039,"Prepmt. Amt. Inv." - "Prepmt Amt Deducted"));

    IF "Qty. to Invoice" = Quantity - "Quantity Invoiced" THEN

    // Delete the following line.
    TESTFIELD("Prepmt Amt to Deduct","Prepmt. Amt. Inv." - "Prepmt Amt Deducted");
    ...

    Смяна на код

    ...FIELDERROR(
    "Prepmt Amt to Deduct",
    STRSUBSTNO(Text039,"Prepmt. Amt. Inv." - "Prepmt Amt Deducted"));

    IF "Qty. to Invoice" = Quantity - "Quantity Invoiced" THEN

    // Add the following lines.
    TESTFIELD("Prepmt Amt to Deduct","Prepmt. Amt. Inv." - "Prepmt Amt Deducted");
    GetPurchHeader;
    IF PurchHeader."Prepayment Type" = PurchHeader."Prepayment Type"::Advance THEN BEGIN
    VATPostingSetup.GET("VAT Bus. Posting Group","VAT Prod. Posting Group");
    VATPostingSetup.TESTFIELD("Adv. Invoice Correction Type",VATPostingSetup."Adv. Invoice Correction Type"::Percentage);
    END;
    // End of the added lines.
    ...
  5. Променете кода в CalcPrepaymentToDeduct функция в таблицата "Ред от покупка" (39). За да направите това, изпълнете следните стъпки:

    1. Изтрийте следните локални променливи:

      PrepmtPct@ : Decimal;AbsoluteAdvCorrection@ : Boolean;
    2. Променяте както следва:
      Съществуващ код

      ...IF (Quantity - "Quantity Invoiced") <> 0 THEN BEGIN
      GetPurchHeader;
      IF PurchHeader."Prepayment Type" = PurchHeader."Prepayment Type"::Advance THEN BEGIN
      VATPostingSetup.GET("VAT Bus. Posting Group","VAT Prod. Posting Group");

      // Delete the following lines.
      AbsoluteAdvCorrection :=
      VATPostingSetup."Adv. Invoice Correction Type" = VATPostingSetup."Adv. Invoice Correction Type"::Absolute;
      IF AbsoluteAdvCorrection THEN BEGIN
      PrepmtPct := "Prepayment %";
      "Prepayment %" := 100;
      END;
      END;
      IF PurchHeader."Prices Including VAT" THEN
      "Prepmt Amt to Deduct" :=
      ROUND(
      ROUND(
      ROUND(
      ROUND("Direct Unit Cost" * "Qty. to Invoice",Currency."Amount Rounding Precision") *
      (1 - ("Line Discount %" / 100)),Currency."Amount Rounding Precision") *
      ("Prepayment %" / 100) / (1 + ("VAT %" / 100)),Currency."Amount Rounding Precision") *
      (1 + ("VAT %" / 100)),Currency."Amount Rounding Precision")
      ELSE
      "Prepmt Amt to Deduct" :=
      ROUND(
      ROUND(
      ROUND("Direct Unit Cost" * "Qty. to Invoice",Currency."Amount Rounding Precision") *
      (1 - ("Line Discount %" / 100)),Currency."Amount Rounding Precision") *
      "Prepayment %" / 100,Currency."Amount Rounding Precision");
      IF AbsoluteAdvCorrection THEN BEGIN
      "Prepayment %" := PrepmtPct;
      IF "Prepmt Amt to Deduct" > ("Prepmt. Amt. Inv." - "Prepmt Amt Deducted") THEN
      "Prepmt Amt to Deduct" := "Prepmt. Amt. Inv." - "Prepmt Amt Deducted";
      END;
      END ELSE
      "Prepmt Amt to Deduct" := 0
      // End of the deleted lines.
      ...

      Смяна на код

      ...IF (Quantity - "Quantity Invoiced") <> 0 THEN BEGIN
      GetPurchHeader;
      IF PurchHeader."Prepayment Type" = PurchHeader."Prepayment Type"::Advance THEN BEGIN
      VATPostingSetup.GET("VAT Bus. Posting Group","VAT Prod. Posting Group");

      // Add the following lines.
      CASE VATPostingSetup."Adv. Invoice Correction Type" OF
      VATPostingSetup."Adv. Invoice Correction Type"::Percentage:
      "Prepmt Amt to Deduct" :=
      ROUND("Qty. to Invoice" / (Quantity - "Quantity Invoiced") *
      ("Prepmt. Amt. Inv." - "Prepmt Amt Deducted"),Currency."Amount Rounding Precision");
      VATPostingSetup."Adv. Invoice Correction Type"::Absolute:
      BEGIN
      "Prepmt Amt to Deduct" := PrepmtAmtToDeduct(PurchHeader."Prices Including VAT",100);
      IF "Prepmt Amt to Deduct" > ("Prepmt. Amt. Inv." - "Prepmt Amt Deducted") THEN
      "Prepmt Amt to Deduct" := "Prepmt. Amt. Inv." - "Prepmt Amt Deducted";
      END;
      VATPostingSetup."Adv. Invoice Correction Type"::"Fully Invoiced":
      IF "Qty. to Invoice" = Quantity - "Quantity Invoiced" THEN
      "Prepmt Amt to Deduct" := "Prepmt. Amt. Inv." - "Prepmt Amt Deducted"
      ELSE
      "Prepmt Amt to Deduct" := 0;
      END;
      END ELSE
      "Prepmt Amt to Deduct" := PrepmtAmtToDeduct(PurchHeader."Prices Including VAT","Prepayment %");
      END ELSE
      "Prepmt Amt to Deduct" := 0
      // End of the added lines.
      ...
  6. Създайте нова функция PrepmtAmtToDeduct в таблицата "Ред от покупка" (39) както следва:

    PROCEDURE PrepmtAmtToDeduct@1470002(PricesIncludingVAT@1470000 : Boolean;PrepaymentPct@1470001 : Decimal) : Decimal;VAR
    VATPct@1470002 : Decimal;
    BEGIN
    IF PricesIncludingVAT THEN
    VATPct := "VAT %"
    ELSE
    VATPct := 0;
    EXIT(
    ROUND(
    ROUND(
    ROUND(
    ROUND("Direct Unit Cost" * "Qty. to Invoice",Currency."Amount Rounding Precision") *
    (1 - ("Line Discount %" / 100)),Currency."Amount Rounding Precision") *
    (PrepaymentPct / 100) / (1 + (VATPct / 100)),Currency."Amount Rounding Precision") *
    (1 + (VATPct / 100)),Currency."Amount Rounding Precision"));
    END;
  7. Да променяте задейства при изпълнение на "Продажби-Post" кодова единица (80) както следва:
    Съществуващ код

    ...ItemJnlRollRndg := FALSE;
    LineCount := LineCount + 1;
    Window.UPDATE(2,LineCount);
    IF Invoice AND (NOT GLSetup."Allow VAT Date Change in Lines") THEN
    SalesLine."VAT Date" := "VAT Date";
    IF SalesLine.Type = SalesLine.Type::"Charge (Item)" THEN BEGIN
    SalesLine.TESTFIELD(Amount);
    SalesLine.TESTFIELD("Job No.",'');
    SalesLine.TESTFIELD("Job Contract Entry No.",0);
    END;
    ...

    Смяна на код

    ...ItemJnlRollRndg := FALSE;
    LineCount := LineCount + 1;
    Window.UPDATE(2,LineCount);
    IF Invoice AND (NOT GLSetup."Allow VAT Date Change in Lines") THEN
    SalesLine."VAT Date" := "VAT Date";

    // Add the following lines.
    IF Invoice THEN
    IF SalesHeader."Prepayment Type" = SalesHeader."Prepayment Type"::Advance THEN
    TestPrepmtAmount;
    // End of the added lines.

    IF SalesLine.Type = SalesLine.Type::"Charge (Item)" THEN BEGIN
    SalesLine.TESTFIELD(Amount);
    SalesLine.TESTFIELD("Job No.",'');
    SalesLine.TESTFIELD("Job Contract Entry No.",0);
    END;
    ...
  8. Създайте нова функция TestPrepmtAmount в "Продажби-Post" кодова единица (80) както следва:

    PROCEDURE TestPrepmtAmount@1470003();VAR
    AllowedQtyToShip@1470000 : Decimal;
    SalesAdvLetterHeader@1470001 : Record 26585;
    BEGIN
    WITH SalesLine DO BEGIN
    IF ("Prepmt. Line Amount" = 0) OR (Quantity = 0) THEN
    EXIT;
    SalesAdvLetterHeader.SETRANGE("Order No.","Document No.");
    IF NOT SalesAdvLetterHeader.ISEMPTY THEN BEGIN
    AllowedQtyToShip :=
    ROUND(
    ("Line Amount" - "Prepmt. Line Amount" + "Prepmt. Amt. Inv.") /
    "Line Amount" * Quantity - "Quantity Invoiced",0.00001);
    IF "Qty. to Ship" > AllowedQtyToShip THEN
    FIELDERROR("Qty. to Ship",STRSUBSTNO(Text047,AllowedQtyToShip));
    END;
    END;
    END;
  9. В превключвател при изпълнение на промени "покупка.-Post" кодова единица (90) както следва:
    Съществуващ код

    ...IF GUIALLOWED THEN
    Window.UPDATE(2,LineCount);
    IF Invoice AND (NOT GLSetup."Allow VAT Date Change in Lines") THEN
    PurchLine."VAT Date" := "VAT Date";
    IF Invoice THEN
    TestPrepmtAmount;
    IF PurchLine.Type = PurchLine.Type::"Charge (Item)" THEN BEGIN
    PurchLine.TESTFIELD(Amount);
    PurchLine.TESTFIELD("Job No.",'');
    END;
    ...

    Смяна на код

    ...IF GUIALLOWED THEN
    Window.UPDATE(2,LineCount);
    IF Invoice AND (NOT GLSetup."Allow VAT Date Change in Lines") THEN
    PurchLine."VAT Date" := "VAT Date";
    IF Invoice THEN

    // Add the following line.
    IF PurchHeader."Prepayment Type" = PurchHeader."Prepayment Type"::Advance THEN

    TestPrepmtAmount;
    IF PurchLine.Type = PurchLine.Type::"Charge (Item)" THEN BEGIN
    PurchLine.TESTFIELD(Amount);
    PurchLine.TESTFIELD("Job No.",'');
    END;
    ...
  10. Изтриване на функцията TestPrepmtAmount и я създадете отново в "Продажби-Post" кодова единица (80) както следва:

    LOCAL PROCEDURE TestPrepmtAmount@55();VAR
    AllowedQtyToReceive@1470000 : Decimal;
    PurchAdvLetterHeader@147001 : Record 26587;
    BEGIN
    WITH PurchLine DO BEGIN
    IF ("Prepmt. Line Amount" = 0) OR (Quantity = 0) THEN
    EXIT;

    PurchAdvLetterHeader.SETRANGE("Order No.","Document No.");
    IF NOT PurchAdvLetterHeader.ISEMPTY THEN BEGIN
    AllowedQtyToReceive :=
    ROUND(
    ("Line Amount" - "Prepmt. Line Amount" + "Prepmt. Amt. Inv.") /
    "Line Amount" * Quantity - "Quantity Invoiced",0.00001);
    IF "Qty. to Receive" > AllowedQtyToReceive THEN
    FIELDERROR("Qty. to Receive",STRSUBSTNO(Text047,AllowedQtyToReceive));
    END;
    END;
    END;
  11. Променете кода в TestSalesPrepayment функция в "Управление на одобрения" кодова единица (439) както следва:
    Съществуващ код

    ...SalesLines.SETRANGE("Document Type",SalesHeader."Document Type");
    SalesLines.SETRANGE("Document No.",SalesHeader."No.");
    SalesLines.SETFILTER("Prepmt. Line Amount",'<>%1',0);
    IF SalesLines.FIND('-') THEN BEGIN
    REPEAT
    ...

    Смяна на код

    ...// Add the following lines.
    IF SalesHeader."Prepayment Type" = SalesHeader."Prepayment Type"::Advance THEN
    EXIT(IsNotInvoicedSalesAdvLetter(SalesHeader."No."));
    // End of the added lines.

    SalesLines.SETRANGE("Document Type",SalesHeader."Document Type");
    SalesLines.SETRANGE("Document No.",SalesHeader."No.");
    SalesLines.SETFILTER("Prepmt. Line Amount",'<>%1',0);
    IF SalesLines.FIND('-') THEN BEGIN
    REPEAT
    ...


  12. Променете кода в TestPurchasePrepayment функция в "Управление на одобрения" кодова единица (439) както следва:
    Съществуващ код

    ...PurchaseLines.SETRANGE("Document Type",PurchaseHeader."Document Type");
    PurchaseLines.SETRANGE("Document No.",PurchaseHeader."No.");
    PurchaseLines.SETFILTER("Prepmt. Line Amount",'<>%1',0);
    IF PurchaseLines.FIND('-') THEN BEGIN
    REPEAT
    ...

    Смяна на код

    ...// Add the following lines.
    IF PurchaseHeader."Prepayment Type" = PurchaseHeader."Prepayment Type"::Advance THEN
    EXIT(IsNotInvoicedPurchAdvLetter(PurchaseHeader."No."));
    // End of the added lines.

    PurchaseLines.SETRANGE("Document Type",PurchaseHeader."Document Type");
    PurchaseLines.SETRANGE("Document No.",PurchaseHeader."No.");
    PurchaseLines.SETFILTER("Prepmt. Line Amount",'<>%1',0);
    IF PurchaseLines.FIND('-') THEN BEGIN
    REPEAT
    ...
  13. Създайте нов IsNotInvoicedSalesAdvLetter местната функция в "Управление на одобрения" кодова единица (439) както следва:

    LOCAL PROCEDURE IsNotInvoicedSalesAdvLetter@38(SalesOrderNo@1170000000 : Code[30]) : Boolean;VAR
    SalesAdvLetterHeader@1001 : Record 26585;
    SalesAdvLetterLine@1002 : Record 26586;
    BEGIN
    WITH SalesAdvLetterHeader DO BEGIN
    SETRANGE("Order No.",SalesOrderNo);
    IF FIND('-') THEN
    REPEAT
    SalesAdvLetterLine.SETRANGE("Letter No.","No.");
    IF SalesAdvLetterLine.FIND('-') THEN
    REPEAT
    IF SalesAdvLetterLine."Amount Including VAT" <> SalesAdvLetterLine."Amount Invoiced" THEN
    EXIT(TRUE);
    UNTIL SalesAdvLetterLine.NEXT = 0;
    UNTIL NEXT = 0;
    END;
    END;
  14. Създайте нов IsNotInvoicedPurchAdvLetter местни функция в "Управление на одобрения" кодова единица (439) както следва:

    LOCAL PROCEDURE IsNotInvoicedPurchAdvLetter@39(PurchOrderNo@1170000000 : Code[30]) : Boolean;VAR
    PurchAdvLetterHeader@1001 : Record 26587;
    PurchAdvLetterLine@1002 : Record 26588;
    BEGIN
    WITH PurchAdvLetterHeader DO BEGIN
    SETRANGE("Order No.",PurchOrderNo);
    IF FIND('-') THEN
    REPEAT
    PurchAdvLetterLine.SETRANGE("Letter No.","No.");
    IF PurchAdvLetterLine.FIND('-') THEN
    REPEAT
    IF PurchAdvLetterLine."Amount Including VAT" <> PurchAdvLetterLine."Amount Invoiced" THEN
    EXIT(TRUE);
    UNTIL PurchAdvLetterLine.NEXT = 0;
    UNTIL NEXT = 0;
    END;
    END;

Необходими условия:

Трябва да имате Източна Европа версия на Microsoft Dynamics NAV 2009 R2 да приложите тази актуална корекция.

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

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

Статус

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

Забележка: Това е статия "БЪРЗА ПУБЛИКАЦИЯ", създадени директно от организацията за поддръжка на Microsoft. Информацията тук се предоставя "както-е" в отговор на появили се проблеми. В резултат на скоростта да го предлага материалите могат да съдържат печатни грешки и могат да бъдат коригирани по всяко време без предизвестие. Вижте Условия за други съображения.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×