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

В тази статия се отнася за Microsoft Dynamics NAV за всички държави и всички езикови местоположения.

Симптоми

Да предположим, че имате дневник, който има повече от един елемент за проследяване на елемент в Microsoft Dynamics NAV 2009. Когато изпращате елемент в дневника на клетка, складови записи се актуализират само с последния ред, който е въведен проследяване. Затова има дисбаланс елемент между склада и книгата за артикули.
Този проблем възниква в следните продукти:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)


Решение

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

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

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



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

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

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

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

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

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

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



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

Промени код

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

  1. Добавяне на нова глобална променлива в таблицата дневник за проекти (210) и след това задайте променливата както следва:

    • Име: WMSManagement

    • Тип данни: кодова единица

    • Подтип: WMS управление (7302)

  2. Изтриване на следния код в свойство TableRelation СК код на поле (5403) в реда от дневника таблица (210):

    Bin.Code WHERE (Location Code=FIELD(Location Code));
  3. Промяна на кода в OnValidate началните СК код полето (5403) в реда от дневника таблица (210) както следва:
    Съществуващ код

    ...// Delete the following lines.
    TESTFIELD("Location Code");
    CheckItemAvailable;
    // End of the lines.
    ...

    Замени код

    ...// Add the following lines.
    TESTFIELD("Location Code");
    IF "Bin Code" <> '' THEN BEGIN
    GetLocation("Location Code");
    Location.TESTFIELD("Bin Mandatory");
    END;
    TESTFIELD(Type,Type::Item);
    CheckItemAvailable;
    WMSManagement.FindBinContent("Location Code","Bin Code","No.","Variant Code",'')
    // End of the lines.
    ...
  4. Добавяне на нова локална променлива в Кода на СК - OnLookup triggerin таблицата дневник за проекти (210) и след това задайте променливата както следва:

    • Име: BinCode

    • Тип данни: код

    • Дължина: 20

  5. Добавете следния код в Кода на СК - OnLookup превключвател в таблицата дневник за проекти (210):

    TESTFIELD("Location Code");TESTFIELD(Type,Type::Item);
    BinCode := WMSManagement.BinContentLookUp("Location Code","No.","Variant Code",'',"Bin Code");
    IF BinCode <> '' THEN
    VALIDATE("Bin Code",BinCode);
  6. Променете стойността на свойството OptionString на полето Документ източник (25) в таблицата Ред от дневник (7311) на следното:
    OptionString=, S. поръчки, фактури S., S. сервиз, S. връщане поръчка, P. поръчка, P. фактура, P. сервиз, P. връщане поръчка, Inb. Прехвърляне на Outb. Прехвърляне на Prod. Инвентаризация консумация, елемент от дневник. Журнал., вх. Журнал., журнал консумация., изход журнал., КИ журнал. сървър ред, работа журнал.

  7. Променете стойността на свойството OptionString на полето Заглавие (60) в таблицата Ред от дневник (7311) на следното:
    OptionString= , публикувани разписка, публикувани P. фактура, публикувана Rtrn. разписка, публикувани P. критерий известие, публикувани доставки, публикувани S. фактура, публикувана Rtrn. доставки, публикувани S. критерий известие, публикувани T. получаване, публикувани T. доставки, елемент дневника артикули, складиране, изписване, преместване, дневник, дневник

  8. Променете стойността на свойството OptionString на полето документ източник (25) в таблицата Запис за склад (7312) на следното:
    OptionString=, S. поръчки, фактури S., S. сервиз, S. връщане поръчка, P. поръчка, P. фактура, P. сервиз, P. връщане поръчка, Inb. Прехвърляне на Outb. Прехвърляне на Prod. Инвентаризация консумация, елемент от дневник. Журнал., вх. Журнал., изх. изходни журнал,. КИ журнал, сервиз ред, работа журнал.

  9. Променете стойността на свойството OptionString на полето Заглавие (60) в таблицата Запис за склад (7312) на следното:
    OptionString= , публикувани разписка, публикувани P. фактура, публикувана Rtrn. разписка, публикувани P. критерий известие, публикувани доставки, публикувани S. фактура, публикувана Rtrn. доставки, публикувани S. критерий известие, публикувани T. получаване, публикувани T. доставки, елемент дневника артикули, складиране, изписване, преместване, дневник, дневник

  10. Промените видими свойството на контрол на кода (60) в дневника формата (201) както следва:
    Съществуващ код

    Visible = Yes

    Замени код

    Visible = No
  11. Добавяне на полето СК код между Часовете и полето Код вид работа в дневника формата (201), и след това задайте полето както следва:

    ...{ 61 ;Label ;0 ;0 ;0 ;0 ;ParentControl=60;
    InColumnHeading=Yes }

    // Add the following lines.
    { 102 ;TextBox ;35507;1650 ;1700 ;440 ;ParentControl=1;
    InColumn=Yes;
    SourceExpr="Bin Code" }
    { 103 ;Label ;0 ;0 ;0 ;0 ;ParentControl=102;
    InColumnHeading=Yes }
    // End of the lines.

    { 48 ;TextBox ;11430;2530 ;1650 ;440 ;ParentControl=1;
    ...
  12. Добавяне на нова глобална променлива работа журнал.-Post линия кодова единица (1012) и след това задайте променливата както следва:

    • Име: местоположение

    • Тип данни: запис

    • Подтип: местоположение (14)

  13. Създайте нова функция GetLocation журнал работа.-Post линия кодова единица (1012) както следва:

    LOCAL PROCEDURE GetLocation@25(LocationCode@1000 : Code[10]);
  14. Добавете следния код в GetLocation функция в журнал работа.-след ред кодова единица (1012):

    IF LocationCode = '' THENCLEAR(Location)
    ELSE
    IF Location.Code <> LocationCode THEN
    Location.GET(LocationCode);
  15. Създайте нова функция PostWhseJnlLine журнал работа.-Post линия кодова единица (1012) както следва:

    LOCAL PROCEDURE PostWhseJnlLine@24(ItemJnlLine@1000 : Record 83;OriginalQuantity@1001 : Decimal;OriginalQuantityBase@1002 : Decimal;VAR TempTrackingSpecification@1003 : TEMPORARY Record 336);
  16. Създайте следните локални променливи във функцията PostWhseJnlLine задание дневник.-Post линия кодова единица (1012):

    1. Добавяне на локална променлива във функцията PostWhseJnlLine журнал работа.-Post линия кодова единица (1012) и след това задайте променливата както следва:

      • Име: WarehouseJournalLine

      • Тип данни: запис

      • Подтип: склад дневник (7311)

    2. Добавяне на локална променлива във функцията PostWhseJnlLine задание дневник.-Post линия кодова единица (1012) и след това задайте променливата както следва:

      • Име: TempWarehouseJournalLine

      • Тип данни: временен запис

      • Подтип: склад дневник (7311)

    3. Добавяне на локална променлива във функцията PostWhseJnlLine журнал работа.-Post линия кодова единица (1012) и след това задайте променливата както следва:

      • Име: ItemTrackingManagement

      • Тип данни: кодова единица

      • Подтип: проследяване управление (6500)

    4. Добавяне на локална променлива във функцията PostWhseJnlLine задание дневник.-Post линия кодова единица (1012) и след това задайте променливата както следва:

      • Име: WMSManagement

      • Тип данни: кодова единица

      • Подтип: WMS управление (7302)

    5. Добавяне на локална променлива във функцията PostWhseJnlLine задание дневник.-Post линия кодова единица (1012) и след това задайте променливата както следва:

      • Име: WhseJnlRegisterLine

      • Тип данни: кодова единица

      • Подтип: Вх. Журнал-регистър линия (7301)

  17. Добавете следния код в PostWhseJnlLine функция в журнал работа.-Post линия кодова единица (1012) както следва:

    WITH ItemJnlLine DO BEGINIF "Entry Type" IN ["Entry Type"::Consumption,"Entry Type"::Output] THEN
    EXIT;
    Quantity := OriginalQuantity;
    "Quantity (Base)" := OriginalQuantityBase;
    GetLocation("Location Code");
    IF Location."Bin Mandatory" THEN
    IF WMSManagement.CreateWhseJnlLine(ItemJnlLine,0,WarehouseJournalLine,FALSE,FALSE) THEN BEGIN
    TempTrackingSpecification.MODIFYALL("Source Type",DATABASE::"Job Journal Line");
    ItemTrackingManagement.SplitWhseJnlLine(WarehouseJournalLine,TempWarehouseJournalLine,TempTrackingSpecification,FALSE);
    IF TempWarehouseJournalLine.FIND('-') THEN
    REPEAT
    WMSManagement.CheckWhseJnlLine(TempWarehouseJournalLine,1,0,FALSE);
    WhseJnlRegisterLine.RUN(TempWarehouseJournalLine);
    UNTIL TempWarehouseJournalLine.NEXT = 0;
    END;
    END;
  18. Добавяне на нова локална променлива във функцията код в журнал работа.-Post линия кодова единица (1012) и след това задайте променливата както следва:

    • Име: TempTrackingSpecification

    • Тип данни: временен запис

    • Подтип: спецификация на проследяване (336)

  19. Добавяне на нова локална променлива във функцията код в задание дневник.-Post линия кодова единица (1012) и след това задайте променливата както следва:

    • Име: ItemJnlLine2

    • Тип данни: запис

    • Подтип: Ед (83)

  20. Променяте кода функцията журнал работа.-Post линия кодова единица (1012) както следва:
    Съществуващ код 1

    ...ItemJnlLine.INIT;
    ItemJnlLine."Item No." := JobJnlLine2."No.";
    ...

    Замени код 1

    ...ItemJnlLine.INIT;

    // Add the following line.
    ItemJnlLine."Line No." := "Line No.";

    ItemJnlLine."Item No." := JobJnlLine2."No.";
    ...

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

    ...ItemLedgEntry.LOCKTABLE;
    ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim);
    END;
    ...

    Замени код 2

    ...ItemLedgEntry.LOCKTABLE;

    // Add the following line.
    ItemJnlLine2 := ItemJnlLine;

    ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim);

    // Add the following lines.
    ItemJnlPostLine.CollectTrackingSpecification(TempTrackingSpecification);
    PostWhseJnlLine(ItemJnlLine2,ItemJnlLine2.Quantity,ItemJnlLine2."Quantity (Base)",TempTrackingSpecification);
    // End of the lines.
    ...
  21. Променете стойността на свойството OptionString на параметъра заглавие във функцията GetSourceDocument артикули. Управление на кодова единица (5775) следното:
    OptionString=, S. поръчки, фактури S., S. сервиз, S. връщане поръчка, P. поръчка, P. фактура, P. сервиз, P. връщане поръчка, Inb. Прехвърляне на Outb. Прехвърляне на Prod. Инвентаризация консумация, елемент от дневник. Журнал., вх. Дневник,. консумация журнал, изход журнал,. КИ журнал, сервиз ред, работа журнал.

  22. Променяте функцията GetSourceDocument артикули. Управление на кодова единица (5775) както следва:
    Съществуващ код

    ...EXIT;
    END;
    END;
    ERROR(Text000);
    ...

    Замени код

    ...EXIT;
    END;

    // Add the following lines.
    DATABASE::"Job Journal Line":
    BEGIN
    SourceDocument := SourceDocument::"Job Jnl.";
    EXIT;
    END;
    // End of the lines.

    END;
    ERROR(Text000);
    ...
  23. Промяна на кода в CreateWhseJnlLine функция в WMS управление кодова единица (7302) както следва:
    Съществуващ код

    ...WhseJnlLine."Source Line No." := "Line No.";
    END;
    WhseJnlLine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Delete the following line.
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal";

    WhseJnlLine."Reference No." := "Document No.";
    ...

    Замени код

    ...WhseJnlLine."Source Line No." := "Line No.";

    // Add the following lines.
    END ELSE
    IF "Job No." <> '' THEN BEGIN
    WhseJnlLine."Source Type" := DATABASE::"Job Journal Line";
    WhseJnlLine."Source Subtype" := ItemJnlTemplateType;
    WhseMgt.GetSourceDocument(WhseJnlLine."Source Document",WhseJnlLine."Source Type",WhseJnlLine."Source Subtype");
    WhseJnlLine."Source No." := "Document No.";
    WhseJnlLine."Source Line No." := "Line No.";
    // End of the lines.
    END;WhseJnlLine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Add the following lines.
    IF "Job No." = '' THEN
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal"
    ELSE
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Job Journal";
    // End of the lines.

    WhseJnlLine."Reference No." := "Document No.";
    ...ine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Add the following lines.
    IF "Job No." = '' THEN
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal"
    ELSE
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Job Journal";
    // End of the lines.

    WhseJnlLine."Reference No." := "Document No.";
    ...

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

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

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

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

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

Статус

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

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

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

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

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

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

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

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

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

×