Dimenze nejsou převzaty z původní položky, když změníte náklady pro konkrétní položku zboží pomocí deníku přecenění v aplikaci Microsoft Dynamics NAV

Platí pro
Dynamics NAV 2009 Microsoft Dynamics NAV 5.0

Tento článek platí pro Microsoft Dynamics NAV 2009 pro všechny země a všechna jazyková národní prostředí.

Příznaky

Předpokládejme, že nainstalujete opravu hotfix 979020 v aplikaci Microsoft Dynamics NAV. Pokud změníte náklady pro konkrétní položku zboží (ILE) pomocí deníku přecenění, dimenze nebudou převzaty z původní položky.
  Další informace o opravě hotfix 979020 naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

979020 Aplikace Microsoft Dynamics NAV 2009 vždy použije výchozí dimenzi zboží, když spustíte funkci Vypočítat hodnotu zásob v deníku přecenění pomocí možnosti Vypočítat položku položky podle položky zboží
K tomuto problému dochází u následujících produktů:

  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 Service Pack 1
  • Microsoft Dynamics NAV 5.0 Service Pack 1

Řešení

Informace o opravě hotfix

Od Microsoftu je teď k dispozici podporovaná oprava hotfix. Účelem je však pouze vyřešení problému, který je popsán v tomto článku. Aplikujte ho jenom na systémy, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může projít dalším testováním. Pokud se vás tedy tento problém vážně netýká, doporučujeme počkat na další aktualizaci Service Pack pro produkt Microsoft Dynamics NAV 2009 nebo další verzi aplikace Microsoft Dynamics NAV, která tuto opravu hotfix obsahuje.

Poznámka: Ve zvláštních případech mohou být poplatky, které jsou obvykle účtovány za telefonická hovory podpory, zrušeny, pokud pracovník technické podpory pro řešení Microsoft Dynamics a související produkty zjistí, že konkrétní aktualizace vyřeší váš problém. Další dotazy a problémy týkající se podpory, které se netýkají této konkrétní opravy, podléhají běžným sazbám za podporu.

            
          

Informace o instalaci

Společnost Microsoft poskytuje příklady programování pouze pro ilustraci, bez záruky, ať už vyjádřené nebo předpokládané. To zahrnuje, ale není omezeno na, předpokládané záruky prodejnosti nebo vhodnosti pro konkrétní účel. Tento článek předpokládá, že jste obeznámeni s programovacím jazykem, který je předváděn, a s nástroji, které se používají k vytváření a ladění procedur. Pracovníci technické podpory Microsoftu vám můžou pomoct vysvětlit funkčnost určitého postupu, ale nebudou tyto příklady upravovat za účelem poskytování dalších funkcí nebo konstrukce procedur, které by splňovaly vaše konkrétní požadavky.

Poznámka: Před instalací této opravy hotfix ověřte, zda jsou všichni uživatelé klienta Microsoft Navision odhlášeni ze systému. To zahrnuje i uživatele klienta Microsoft Navision Application Services (NAS). Měli byste být jediným klientským uživatelem, který je přihlášen při implementaci této opravy hotfix.

K implementaci této opravy hotfix musíte mít vývojářskou licenci.

Doporučujeme, aby uživatelské účtu v okně Windows Přihlášení nebo v okně Přihlášení k databázi bylo přiřazeno ID role "SUPER". Pokud nelze uživatelskému účtu přiřadit ID role "SUPER", je nutné ověřit, zda má uživatelský účet následující oprávnění:

  • Oprávnění k úpravám objektu, který budete měnit.
  • Oprávnění ke spuštění pro objekt s ID systémového objektu 5210 a pro objekt s ID systémového objektu 9015.

                
Poznámka: K úložištím dat nemusíte mít práva, ledaže byste museli provádět opravu dat.

Změny kódu

Poznámka: Před použitím oprav v produkčních počítačích vždy otestujte opravy kódu v kontrolovaném prostředí.
Chcete-li tento problém vyřešit, postupujte takto:

  1. Změňte kód v okně Vlastnosti v tabulce řádku deníku položky (83) následujícím způsobem:
    Existující kód

    ...
                       "Journal Template Name","Journal Batch Name","Line No.",0,
                       "Shortcut Dimension 1 Code","Shortcut Dimension 2 Code");
    
                     CheckPlanningAssignment;
                   END;
    
          OnModify=BEGIN
                     ReserveItemJnlLine.VerifyChange(Rec,xRec);
    ...
    
    

    Náhradní kód

    ...
                       "Journal Template Name","Journal Batch Name","Line No.",0,
                       "Shortcut Dimension 1 Code","Shortcut Dimension 2 Code");
    
                     CheckPlanningAssignment;
    
    // Add the following lines.
                       IF "Applies-to Entry" > 0 THEN
                         CreateDimFromILE;
    // End of the lines.
    
                   END;
    
          OnModify=BEGIN
                     ReserveItemJnlLine.VerifyChange(Rec,xRec);
    ...
    
    
  2. Změňte kód v poli v tabulce Řádek deníku položky (83) takto:
    Existující kód

    ...
                                                                          "Variant Code" := '';
                                                                          "Bin Code" := '';
                                                                        END;
                                                                      END;
                                                                    END;
    
                                                         OnLookup=BEGIN
                                                                    SelectItemEntry(FIELDNO("Applies-to Entry"));
    ...
    
    

    Náhradní kód

    ...
                                                                          "Variant Code" := '';
                                                                          "Bin Code" := '';
                                                                        END;
                                                                      END;
    
                                                                    // Add the following line.
                                                                        CreateDimFromILE;
                                                                    // End of the line.
    
                                                                    END;
    
                                                         OnLookup=BEGIN
                                                                    SelectItemEntry(FIELDNO("Applies-to Entry"));
    ...
    
    
  3. Změňte kód ve funkci CreateDimFromILE v tabulce řádku deníku položky (83) následujícím způsobem:
    Existující kód

    ...
              EXIT(TRUE);
            EXIT(FALSE);
          END;
    
          BEGIN
          END.
        }
      }
    ...
    
    

    Náhradní kód

    ...
              EXIT(TRUE);
            EXIT(FALSE);
          END;
    
    // Add the following lines.
           LOCAL PROCEDURE CreateDimFromILE@1100();
           VAR
             LedgEntryDim@1001 : Record 355;
             JnlLineDim@1003 : Record 356;
             LedgEntryDim1@1170000000 : Record 355;
             DimMgt@1004 : Codeunit 408;
           BEGIN
             IF ("Line No." <> 0) AND ("Value Entry Type" = "Value Entry Type"::Revaluation) THEN BEGIN
               JnlLineDim.SETRANGE("Table ID",DATABASE::"Item Journal Line");
               JnlLineDim.SETRANGE("Journal Template Name","Journal Template Name");
               JnlLineDim.SETRANGE("Journal Batch Name","Journal Batch Name");
               JnlLineDim.SETRANGE("Journal Line No.","Line No.");
               JnlLineDim.DELETEALL;
               "Shortcut Dimension 1 Code" := '';
               "Shortcut Dimension 2 Code" := '';
    
    
               IF "Applies-to Entry" <> 0 THEN BEGIN
                 ReadGLSetup;
                 LedgEntryDim.SETRANGE("Table ID",DATABASE::"Item Ledger Entry");
                 LedgEntryDim.SETRANGE("Entry No.","Applies-to Entry");
    
                 DimMgt.MoveLedgEntryDimToJnlLineDim(
                   LedgEntryDim,JnlLineDim,DATABASE::"Item Journal Line",
                   "Journal Template Name","Journal Batch Name","Line No.",0);
    
                 JnlLineDim.SETCURRENTKEY("Dimension Code","Dimension Value Code");
                 JnlLineDim.SETRANGE("Dimension Code",GLSetup."Global Dimension 1 Code");
                 IF JnlLineDim.FINDFIRST THEN
                   "Shortcut Dimension 1 Code" := JnlLineDim."Dimension Value Code";
    
                 JnlLineDim.SETRANGE("Dimension Code",GLSetup."Global Dimension 2 Code");
                 IF JnlLineDim.FINDFIRST THEN
                   "Shortcut Dimension 2 Code" := JnlLineDim."Dimension Value Code";
               END;
             END;
           END;
    
    // End of the lines.
    
          BEGIN
          END.
        }
      }
    ...
    
    

Požadavky

Chcete-li nainstalovat tuto opravu hotfix, musíte mít nainstalovaný jeden z následujících produktů:

  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 Service Pack 1
  • Microsoft Dynamics NAV 5.0 Service Pack 1

Informace o odebrání

Tuto opravu hotfix nelze odebrat.

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.

Poznámka: Toto je článek určený k rychlému zveřejnění, který byl vytvořen přímo v rámci organizace podpory společnosti Microsoft. Zde uvedené informace jsou poskytovány tak, jak jsou, jako reakce na nově vznikající potíže. Vzhledem k rychlosti, s jakou byl článek zpřístupněn, mohou příslušné materiály obsahovat typografické chyby a mohou být kdykoli bez předchozího upozornění revidovány. Další okolnosti viz Podmínky použití .