Šablóna: CPR - Navision kód opraviť šablóny

BUG #: 190420 (údržby)

Tento článok sa vzťahuje na Microsoft Dynamics NAV pre všetky krajiny a všetky jazykové locales.

Príznaky

Predpokladajme, že spustíte funkciu Získať Publikované dokument riadky obrátený na stránke vrátiť objednávok v Microsoft Dynamics NAV 2009. Nastavenie filtra pre položku, zobrazí nasledujúce chybové hlásenie:

Riadok predajnej faktúry: Neexistuje riadku predajnej faktúry vo filtri. Číslo dokladu filtre:X,: @Y


Poznámka: Zástupný symbol X nahrádza číslo dokladu, z ktorého kurzor a zástupný symbol a nahrádza číslo zadané vo filtri.

Tento problém sa vyskytuje v nasledovných produktov:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 Service Pack 1

Riešenie

Informácie o rýchlej oprave

Rýchla oprava je k dispozícii od spoločnosti Microsoft. Je však určená iba opraviť problém popísaný v tomto článku. Použite ju iba v počítačoch s týmto konkrétnym problémom. Môže, že táto rýchla oprava bude ďalej testovaná. Ak vám nespôsobuje tento problém, odporúčame vám počkať na ďalšiu Microsoft Dynamics NAV 2009 service pack alebo ďalšej verzii Microsoft Dynamics NAV, ktorá obsahuje túto rýchlu opravu.

Poznámka: V špeciálnych prípadoch sa poplatky, ktoré sú telefonickú podporu nemusia účtovať ak technickú podporu Professional pre Microsoft Dynamics a súvisiace produkty zistí, že táto konkrétna aktualizácia vyrieši váš problém. Ďalšie otázky a žiadosti o technickú podporu, ktoré sa netýkajú tejto špecifickej aktualizácie, podliehajú bežným sadzbám za poskytovanie technickej podpory.

Ak táto rýchla oprava nie je verejne prístupná na prevzatie (čo znamená, v tomto článku sa neuvádza verejná adresa URL pre túto rýchlu opravu), distribúcia vyžaduje technické vedenie, členom eskalačného tímu alebo nadriadeným a platí nasledovné:

  • Získať rýchlu opravu, musí zákazníkov vyskytujú chyby, ktoré je spomenuté v časti "Príznaky".

  • Musíte sledovať zákazníkov to Odoslať a dodať im najnovší balík service pack po sprístupnení (v prípade, že takýto balík vydaný).

Táto rýchla oprava bude tvoriť súčasť Microsoft Dynamics NAV 2013.


Informácie o inštalácii

Spoločnosť Microsoft poskytuje príklady programovacieho kódu len ako názornú ukážku bez vyjadrených či predpokladaných záruk. Tie okrem iného zahŕňajú predpokladané záruky obchodovateľnosti alebo vhodnosti na konkrétny účel. Tento článok predpokladá, že ovládate predvádzaný programovací jazyk a nástroje, ktoré sa používajú na vytváranie a ladenie procedúr. Pracovníci technickej podpory spoločnosti Microsoft môžu vysvetliť fungovanie konkrétneho postupu. Ale nemôžu tieto príklady poskytovať pridanú funkčnosť alebo konštrukčné procedúry zohľadňujúce vaše konkrétne požiadavky.

Poznámka: Pred inštaláciou tejto rýchlej opravy sa overiť, že všetky Microsoft Navision klienta používatelia odhlásení systému. Toto zahŕňa používateľov klienta Microsoft Navision aplikácie služby (NAS). Mali by ste byť iba klient prihláseného používateľa je pri implementácii túto rýchlu opravu.

Vykonávať túto rýchlu opravu, musíte mať licencie pre vývojárov.

Odporúčame, aby používateľského konta v okne prihlásenia systému Windows alebo v okne prihlásenia do databázy pridelí "SUPER" úlohu ID. Ak používateľské konto nemožno priradiť úlohu ID "SUPER", musíte overiť, že používateľské konto má nasledujúce povolenia:

  • Zmeniť povolenia pre objekt, ktorý sa zmení.

  • Povolenia na vykonanie systému objekt ID 5210 a systém objekt ID 9015 objektu.



Poznámka: Nemusíte mať práva ukladá údaje, pokiaľ budete musieť vykonať opravy údajov.

Zmeny kódu

Poznámka: Vždy skúšobný opravy v prostredí kontrolované pred použitím opravy výroby počítačov.
Ak chcete vyriešiť tento problém, postupujte nasledovne:

  1. Zmena kódu v IsFirstDocLine funkcia sa Post.Doc - S.ShptLn Sbfrm stránky (5851):
    Existujúci kód

    ...        RevUnitCostLCY2 := RevUnitCostLCY;
    SalesShptLine2.COPYFILTERS(Rec);
    SalesShptLine2.SETRANGE("Document No.","Document No.");
    SalesShptLine2.FINDSET;
    REPEAT
    ShowRec := IsShowRec(SalesShptLine2);
    IF ShowRec THEN BEGIN
    ...

    Nahradenie kódu

    ...        RevUnitCostLCY2 := RevUnitCostLCY;
    SalesShptLine2.COPYFILTERS(Rec);
    SalesShptLine2.SETRANGE("Document No.","Document No.");
    IF NOT SalesShptLine2.FINDSET THEN
    EXIT(FALSE);
    REPEAT
    ShowRec := IsShowRec(SalesShptLine2);
    IF ShowRec THEN BEGIN

  2. Zmena kódu v IsFirstDocLine funkcia sa Post.Doc - S.InvLn Podformulár stránky (5852):
    Existujúci kód

    ...        RevUnitCostLCY2 := RevUnitCostLCY;
    SalesInvLine2.COPYFILTERS(Rec);
    SalesInvLine2.SETRANGE("Document No.","Document No.");
    SalesInvLine2.FINDSET;
    REPEAT
    ShowRec := IsShowRec(SalesInvLine2);
    IF ShowRec THEN BEGIN
    ...

    Nahradenie kódu

    ...        RevUnitCostLCY2 := RevUnitCostLCY;
    SalesInvLine2.COPYFILTERS(Rec);
    SalesInvLine2.SETRANGE("Document No.","Document No.");
    IF NOT SalesInvLine2.FINDSET THEN
    EXIT(FALSE);
    REPEAT
    ShowRec := IsShowRec(SalesInvLine2);
    IF ShowRec THEN BEGIN

  3. Zmena kódu v IsFirstDocLine funkcia sa Post.Doc - P.RcptLn Sbfrm stránky (5856):
    Existujúci kód

    ...        RevUnitCostLCY2 := RevUnitCostLCY;
    PurchRcptLine2.COPYFILTERS(Rec);
    PurchRcptLine2.SETRANGE("Document No.","Document No.");
    PurchRcptLine2.FINDSET;
    REPEAT
    ShowRec := IsShowRec(PurchRcptLine2);
    IF ShowRec THEN BEGIN
    ...

    Nahradenie kódu

    ...        RevUnitCostLCY2 := RevUnitCostLCY;
    PurchRcptLine2.COPYFILTERS(Rec);
    PurchRcptLine2.SETRANGE("Document No.","Document No.");
    IF NOT PurchRcptLine2.FINDSET THEN
    EXIT(FALSE);
    REPEAT
    ShowRec := IsShowRec(PurchRcptLine2);
    IF ShowRec THEN BEGIN

  4. Zmena kódu v IsFirstDocLine funkcia sa Post.Doc - P.InvLn Podformulár stránky (5857):
    Existujúci kód

    ...        RevUnitCostLCY2 := RevUnitCostLCY;
    PurchInvLine2.COPYFILTERS(Rec);
    PurchInvLine2.SETRANGE("Document No.","Document No.");
    PurchInvLine2.FINDSET;
    REPEAT
    ShowRec := IsShowRec(PurchInvLine2);
    IF ShowRec THEN BEGIN
    ...

    Nahradenie kódu

    ...        RevUnitCostLCY2 := RevUnitCostLCY;
    PurchInvLine2.COPYFILTERS(Rec);
    PurchInvLine2.SETRANGE("Document No.","Document No.");
    IF NOT PurchInvLine2.FINDSET THEN
    EXIT(FALSE);
    REPEAT
    ShowRec := IsShowRec(PurchInvLine2);
    IF ShowRec THEN BEGIN

  5. Zmena kódu v IsFirstDocLine funkcia v nákupné. Príjem formulára riadky (5806) takto:
    Existujúci kód

    ...          FILTERGROUP(2);
    PurchRcptLine.COPYFILTERS(Rec);
    FILTERGROUP(0);
    PurchRcptLine.SETRANGE("Document No.","Document No.");

    // Delete the following line.
    PurchRcptLine.FIND('-');

    TempPurchRcptLine := PurchRcptLine;
    TempPurchRcptLine.INSERT;
    END;
    IF "Line No." = TempPurchRcptLine."Line No." THEN
    ...

    Nahradenie kódu

    ...          FILTERGROUP(2);
    PurchRcptLine.COPYFILTERS(Rec);
    FILTERGROUP(0);
    PurchRcptLine.SETRANGE("Document No.","Document No.");

    // Add the following lines.
    IF NOT PurchRcptLine.FINDFIRST THEN
    EXIT(FALSE);
    // End of the lines.

    TempPurchRcptLine := PurchRcptLine;
    TempPurchRcptLine.INSERT;
    END;
    IF "Line No." = TempPurchRcptLine."Line No." THEN

  6. Zmena kódu v IsFirstDocLine funkcia vo formulári si Pst.Doc RtrnRcptLn Podformulár (5853):
    Existujúci kód

    ...        TempReturnRcptLine.SETRANGE("Document No.","Document No.");
    IF NOT TempReturnRcptLine.FINDFIRST THEN BEGIN
    ReturnRcptLine.COPYFILTERS(Rec);
    ReturnRcptLine.SETRANGE("Document No.","Document No.");

    // Delete the following line.
    ReturnRcptLine.FINDSET;

    TempReturnRcptLine := ReturnRcptLine;
    TempReturnRcptLine.INSERT;
    END;
    ...

    Nahradenie kódu

    ...        TempReturnRcptLine.SETRANGE("Document No.","Document No.");
    IF NOT TempReturnRcptLine.FINDFIRST THEN BEGIN
    ReturnRcptLine.COPYFILTERS(Rec);
    ReturnRcptLine.SETRANGE("Document No.","Document No.");

    // Add the following lines.
    IF NOT ReturnRcptLine.FINDSET THEN
    EXIT(FALSE);
    // End of the lines.

    TempReturnRcptLine := ReturnRcptLine;
    TempReturnRcptLine.INSERT;
    END;

  7. Zmena kódu v IsFirstDocLine funkcia vo formulári sa Post.Doc S.Cr.MemoLn Sbfrm (5854):
    Existujúci kód

    ...        TempSalesCrMemoLine.SETRANGE("Document No.","Document No.");
    IF NOT TempSalesCrMemoLine.FINDFIRST THEN BEGIN
    SalesCrMemoLine.COPYFILTERS(Rec);
    SalesCrMemoLine.SETRANGE("Document No.","Document No.");

    // Delete the following line.
    SalesCrMemoLine.FIND('-');

    TempSalesCrMemoLine := SalesCrMemoLine;
    TempSalesCrMemoLine.INSERT;
    END;
    ...

    Nahradenie kódu

    ...        TempSalesCrMemoLine.SETRANGE("Document No.","Document No.");
    IF NOT TempSalesCrMemoLine.FINDFIRST THEN BEGIN
    SalesCrMemoLine.COPYFILTERS(Rec);
    SalesCrMemoLine.SETRANGE("Document No.","Document No.");

    // Add the following lines.
    IF NOT SalesCrMemoLine.FINDFIRST THEN
    EXIT(FALSE);
    // End of the lines.

    TempSalesCrMemoLine := SalesCrMemoLine;
    TempSalesCrMemoLine.INSERT;
    END;

  8. Zmena kódu v IsFirstDocLine funkcia vo formulári si Pst.Doc RtrnShptLn Podformulár (5858):
    Existujúci kód

    ...        TempReturnShptLine.SETRANGE("Document No.","Document No.");
    IF NOT TempReturnShptLine.FINDFIRST THEN BEGIN
    ReturnShptLine.COPYFILTERS(Rec);
    ReturnShptLine.SETRANGE("Document No.","Document No.");

    // Delete the following line.
    ReturnShptLine.FINDSET;

    TempReturnShptLine := ReturnShptLine;
    TempReturnShptLine.INSERT;
    END;
    ...

    Nahradenie kódu

    ...        TempReturnShptLine.SETRANGE("Document No.","Document No.");
    IF NOT TempReturnShptLine.FINDFIRST THEN BEGIN
    ReturnShptLine.COPYFILTERS(Rec);
    ReturnShptLine.SETRANGE("Document No.","Document No.");

    // Add the following lines.
    IF NOT ReturnShptLine.FINDSET THEN
    EXIT(FALSE);
    // End of the lines.

    TempReturnShptLine := ReturnShptLine;
    TempReturnShptLine.INSERT;
    END;

  9. Zmena kódu v IsFirstDocLine funkcia vo formulári sa Post.Doc P.Cr.MemoLn Sbfrm (5859):
    Existujúci kód

    ...        TempPurchCrMemoLine.SETRANGE("Document No.","Document No.");
    IF NOT TempPurchCrMemoLine.FINDFIRST THEN BEGIN
    PurchCrMemoLine.COPYFILTERS(Rec);
    PurchCrMemoLine.SETRANGE("Document No.","Document No.");

    // Delete the following line.
    PurchCrMemoLine.FINDSET;

    TempPurchCrMemoLine := PurchCrMemoLine;
    TempPurchCrMemoLine.INSERT;
    END;
    ...

    Nahradenie kódu

    ...        TempPurchCrMemoLine.SETRANGE("Document No.","Document No.");
    IF NOT TempPurchCrMemoLine.FINDFIRST THEN BEGIN
    PurchCrMemoLine.COPYFILTERS(Rec);
    PurchCrMemoLine.SETRANGE("Document No.","Document No.");

    // Add the following lines.
    IF NOT PurchCrMemoLine.FINDSET THEN
    EXIT(FALSE);
    // End of the lines.

    TempPurchCrMemoLine := PurchCrMemoLine;
    TempPurchCrMemoLine.INSERT;
    END;

  10. Zmena kódu v IsFirstDocLine funkcia vo formulári načítať riadky Service (5994):
    Existujúci kód

    ...        TempServiceShptLine.SETRANGE("Document No.","Document No.");
    IF NOT TempServiceShptLine.FIND('-') THEN BEGIN
    ServiceShptLine.COPYFILTERS(Rec);
    ServiceShptLine.SETRANGE("Document No.","Document No.");

    // Delete the following line.
    ServiceShptLine.FIND('-');

    TempServiceShptLine := ServiceShptLine;
    TempServiceShptLine.INSERT;
    END;
    IF "Line No." = TempServiceShptLine."Line No." THEN
    ...

    Nahradenie kódu

    ...        TempServiceShptLine.SETRANGE("Document No.","Document No.");
    IF NOT TempServiceShptLine.FIND('-') THEN BEGIN
    ServiceShptLine.COPYFILTERS(Rec);
    ServiceShptLine.SETRANGE("Document No.","Document No.");

    // Add the following lines.
    IF NOT ServiceShptLine.FINDFIRST THEN
    EXIT(FALSE);
    // End of the lines.

    TempServiceShptLine := ServiceShptLine;
    TempServiceShptLine.INSERT;
    END;
    IF "Line No." = TempServiceShptLine."Line No." THEN

  11. Zmena kódu v IsFirstDocLine funkcia vo formulári Podformulár riadkov Service (6036):
    Existujúci kód

    ...        IF NOT TempServLine.FIND('-') THEN BEGIN
    ServLine.COPYFILTERS(Rec);
    ServLine.SETRANGE("Document Type","Document Type");
    ServLine.SETRANGE("Document No.","Document No.");

    // Delete the following line.
    ServLine.FIND('-');

    TempServLine := ServLine;
    TempServLine.INSERT;
    END;
    IF "Line No." = TempServLine."Line No." THEN
    IF "Line No." = TempServiceShptLine."Line No." THEN
    ...

    Nahradenie kódu

    ...        IF NOT TempServLine.FIND('-') THEN BEGIN
    ServLine.COPYFILTERS(Rec);
    ServLine.SETRANGE("Document Type","Document Type");
    ServLine.SETRANGE("Document No.","Document No.");

    // Add the following lines.
    IF NOT ServLine.FINDFIRST THEN
    EXIT(FALSE);
    // End of the lines.

    TempServLine := ServLine;
    TempServLine.INSERT;
    END;
    IF "Line No." = TempServLine."Line No." THEN

  12. Zmena kódu v IsFirstDocLine funkcia vo formulári Podformulár riadkov dodávky služieb (6037):
    Existujúci kód

    ...        TempServShptLine.SETRANGE("Document No.","Document No.");
    IF NOT TempServShptLine.FIND('-') THEN BEGIN
    ServShptLine.COPYFILTERS(Rec);
    ServShptLine.SETRANGE("Document No.","Document No.");

    // Delete the following line.
    ServShptLine.FIND('-');

    TempServShptLine := ServShptLine;
    TempServShptLine.INSERT;
    END;
    IF "Line No." = TempServShptLine."Line No." THEN
    ...

    Nahradenie kódu

    ...        TempServShptLine.SETRANGE("Document No.","Document No.");
    IF NOT TempServShptLine.FIND('-') THEN BEGIN
    ServShptLine.COPYFILTERS(Rec);
    ServShptLine.SETRANGE("Document No.","Document No.");

    // Add the following lines.
    IF NOT ServShptLine.FINDFIRST THEN
    EXIT(FALSE);
    // End of the lines.
    TempServShptLine := ServShptLine;
    TempServShptLine.INSERT;
    END;
    IF "Line No." = TempServShptLine."Line No." THEN

  13. Zmena kódu v IsFirstDocLine funkcia vo formulári Podformulár riadkov faktúry služby (6038):
    Existujúci kód

    ...        TempServInvLine.SETRANGE("Document No.","Document No.");
    IF NOT TempServInvLine.FIND('-') THEN BEGIN
    ServInvLine.COPYFILTERS(Rec);
    ServInvLine.SETRANGE("Document No.","Document No.");

    // Delete the following line.
    ServInvLine.FIND('-');

    TempServInvLine := ServInvLine;
    TempServInvLine.INSERT;
    END;
    EXIT("Line No." = TempServInvLine."Line No.");
    ...

    Nahradenie kódu

    ...        TempServInvLine.SETRANGE("Document No.","Document No.");
    IF NOT TempServInvLine.FIND('-') THEN BEGIN
    ServInvLine.COPYFILTERS(Rec);
    ServInvLine.SETRANGE("Document No.","Document No.");

    // Add the following lines.
    IF NOT ServInvLine.FINDFIRST THEN
    EXIT(FALSE);
    // End of the lines.

    TempServInvLine := ServInvLine;
    TempServInvLine.INSERT;
    END;
    EXIT("Line No." = TempServInvLine."Line No.");

  14. Zmena kódu v IsFirstDocLine funkcia vo forme služby Cr. Memo Podformulár riadkov (6039):
    Existujúci kód

    ...        TempServCrMemoLine.SETRANGE("Document No.","Document No.");
    IF NOT TempServCrMemoLine.FIND('-') THEN BEGIN
    ServCrMemoLine.COPYFILTERS(Rec);
    ServCrMemoLine.SETRANGE("Document No.","Document No.");

    // Delete the following line.
    ServCrMemoLine.FIND('-');

    TempServCrMemoLine := ServCrMemoLine;
    TempServCrMemoLine.INSERT;
    END;
    EXIT("Line No." = TempServCrMemoLine."Line No.");
    ...

    Nahradenie kódu

    ...        TempServCrMemoLine.SETRANGE("Document No.","Document No.");
    IF NOT TempServCrMemoLine.FIND('-') THEN BEGIN
    ServCrMemoLine.COPYFILTERS(Rec);
    ServCrMemoLine.SETRANGE("Document No.","Document No.");

    // Add the following lines.
    IF NOT ServCrMemoLine.FINDFIRST THEN
    EXIT(FALSE);
    // End of the lines.

    TempServCrMemoLine := ServCrMemoLine;
    TempServCrMemoLine.INSERT;
    END;
    EXIT("Line No." = TempServCrMemoLine."Line No.");

  15. Zmena kódu v IsFirstDocLine funkcia vo formulári načítať riadky príjemky návratky (6638):
    Existujúci kód

    ...        TempReturnRcptLine.SETRANGE("Document No.","Document No.");
    IF NOT TempReturnRcptLine.FIND('-') THEN BEGIN
    ReturnRcptLine.COPYFILTERS(Rec);
    ReturnRcptLine.SETRANGE("Document No.","Document No.");

    // Delete the following line.
    ReturnRcptLine.FIND('-');

    TempReturnRcptLine := ReturnRcptLine;
    TempReturnRcptLine.INSERT;
    END;
    IF "Line No." = TempReturnRcptLine."Line No." THEN
    ...

    Nahradenie kódu

    ...        TempReturnRcptLine.SETRANGE("Document No.","Document No.");
    IF NOT TempReturnRcptLine.FIND('-') THEN BEGIN
    ReturnRcptLine.COPYFILTERS(Rec);
    ReturnRcptLine.SETRANGE("Document No.","Document No.");

    // Add the following lines.
    IF NOT ReturnRcptLine.FINDFIRST THEN
    EXIT(FALSE);
    // End of the lines.

    TempReturnRcptLine := ReturnRcptLine;
    TempReturnRcptLine.INSERT;
    END;
    IF "Line No." = TempReturnRcptLine."Line No." THEN

  16. Zmena kódu v IsFirstDocLine funkcia vo formulári načítať riadky dodávky návratky (6648):
    Existujúci kód

    ...        TempReturnShptLine.SETRANGE("Document No.","Document No.");
    IF NOT TempReturnShptLine.FIND('-') THEN BEGIN
    ReturnShptLine.COPYFILTERS(Rec);
    ReturnShptLine.SETRANGE("Document No.","Document No.");

    // Delete the following line.
    ReturnShptLine.FIND('-');

    TempReturnShptLine := ReturnShptLine;
    TempReturnShptLine.INSERT;
    END;
    IF "Line No." = TempReturnShptLine."Line No." THEN
    ...

    Nahradenie kódu

    ...        TempReturnShptLine.SETRANGE("Document No.","Document No.");
    IF NOT TempReturnShptLine.FIND('-') THEN BEGIN
    ReturnShptLine.COPYFILTERS(Rec);
    ReturnShptLine.SETRANGE("Document No.","Document No.");

    // Add the following lines.
    IF NOT ReturnShptLine.FINDFIRST THEN
    EXIT(FALSE);
    // End of the lines.

    TempReturnShptLine := ReturnShptLine;
    TempReturnShptLine.INSERT;
    END;
    IF "Line No." = TempReturnShptLine."Line No." THEN

Požiadavky

Musíte mať jednu z nasledovných produktov nainštalovaný chcete použiť túto rýchlu opravu:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 Service Pack 1

Informácie o odstránení

Nemôžete odstrániť túto rýchlu opravu.

Stav

Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.

Odkazy

VSFT DynamicsNAVSE: 351438

Poznámka: To je "Rýchlo publikovať" článok vytvorené priamo v rámci organizácie technickej podpory spoločnosti Microsoft. Uvedené informácie sa poskytuje ako-v reakcii na naliehavé problémy. Rýchlosťou robiť materiály môžu obsahovať typografické chyby a môžu byť kedykoľvek bez predchádzajúceho upozornenia. Prečítajte si Podmienky používania z iných dôvodov.

Autor: mmels
Writer: v-brialu
Tech Reviewer: mmels
Editor:

Potrebujete ďalšiu pomoc?

Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pripojiť k Microsoft insiderov chcú

Považujete poskytnuté informácie za užitočné?

Aká je podľa vás kvalita prekladu?
Čo sa vám páčilo a čo nie?

Ďakujem za vaše pripomienky!

×