Acest articol se aplică la setările regionale Microsoft Dynamics NAV pentru limba poloneză (pl).
Simptome
Să presupunem că creați un nou memo de credit de vânzări care are taxa pe valoare adăugată amânată specificată în antetul de vânzări din versiunea poloneză de Microsoft Dynamics NAV. După ce importați o linie dintr-o factură publicată rulând funcția Preluare linii document postate pentru inversare... , câmpul TVA amânat din linie este transferat din documentul postat în mod neașteptat. Prin urmare, câmpul TVA amânat din linie are o valoare care diferă de valoarea TVA amânat din antetul de vânzări.
Această problemă apare în cazul următoarelor produse:
- Versiunea poloneză de Microsoft Dynamics NAV 2009 R2
- Versiunea poloneză de Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
Rezolvare
Informații despre remedierea rapidă
O remediere rapidă acceptată este acum disponibilă de la Microsoft. Însă, scopul său este doar să corecteze problema descrisă în acest articol. Aplicați-o doar sistemelor care se confruntă cu această problemă specifică. Această remediere rapidă poate fi testată suplimentar. De aceea, dacă această problemă nu vă afectează grav, vă recomandăm să așteptați următorul pachet Service Pack Microsoft Dynamics NAV 2009 sau versiunea următoare Microsoft Dynamics NAV care conține această remediere rapidă.
Notă În cazuri speciale, costurile implicate de obicei pentru apelurile de asistență pot fi revocate dacă un specialist în asistență tehnică pentru Microsoft Dynamics și produsele asociate stabilește că o anumită actualizare va rezolva problema. Costurile uzuale de suport se vor aplica pentru întrebări suplimentare de suport și pentru probleme ce nu fac obiectul actualizării în chestiune.
Informații despre instalare
Microsoft oferă exemple de programare numai în scop ilustrativ, fără nicio garanție explicită sau implicită. Aceasta include, dar nu se limitează la, garanțiile implicite de vandabilitate sau adecvare pentru un anumit scop. Acest articol presupune că sunteți familiarizat cu limbajul de programare prezentat și cu instrumentele utilizate pentru a crea și a depana proceduri. Inginerii de asistență Microsoft pot ajuta la explicarea funcționalității unei anumite proceduri, însă nu vor modifica aceste exemple pentru a furniza funcționalitate suplimentară și nu vor construi proceduri pentru a răspunde cerințelor dvs. specifice.
Notă Înainte de a instala această remediere rapidă, verificați dacă toți utilizatorii clientului Microsoft Navision sunt deconectați de la sistem. Printre aceștia se numără utilizatorii clienților Microsoft Navision Application Services (NAS). Ar trebui să fiți singurul utilizator client conectat atunci când implementați această remediere rapidă.
Pentru a implementa această remediere rapidă, trebuie să aveți o licență de dezvoltator.
Recomandăm ca contului de utilizator din fereastra Conectări Windows sau din fereastra Conectări bază de date să primească ID-ul de rol "SUPER". În cazul în care contului de utilizator nu i se poate atribui ID-ul de rol "SUPER", trebuie să verificați dacă acel cont de utilizator are următoarele permisiuni:
- Permisiunea Modificare pentru obiectul pe care îl veți modifica.
- Permisiunea de executare pentru obiectul cu ID obiect de sistem 5210 și pentru obiectul ID obiect de sistem 9015.
Notă: nu trebuie să aveți drepturi asupra depozitelor de date decât dacă trebuie să efectuați repararea datelor.
Modificări de cod
Notă: testați întotdeauna remedierile de cod într-un mediu controlat înainte de a aplica remedierile la computerele de producție.
Pentru a rezolva această problemă, urmați acești pași:
Adăugați o variabilă locală nouă în funcția InsertInvLineFromShptLine din tabelul Linie de livrare vânzări (111), apoi specificați variabila după cum urmează:
- Nume: SalesHeader
- Tip de date: Înregistrare
- Subtip: Antet vânzări (36)
Modificați codul din funcția InsertInvLineFromShptLine din tabelul Linie de livrare vânzări (111):
Cod existent 1... TransferOldExtLines.ClearLineNumbers; REPEAT ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0); ...Cod de înlocuire 1
... TransferOldExtLines.ClearLineNumbers; // Add the following line. SalesHeader.GET(TempSalesLine."Document Type",TempSalesLine."Document No."); REPEAT ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0); ...Cod existent 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); ...Codul de înlocuire 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); ...Adăugați o variabilă locală nouă în funcția InsertInvLineFromRcptLine din Purch. Rcpt. Tabel cu linii (121), apoi specificați variabila după cum urmează:
- Nume: PurchHeader
- Tip de date: Înregistrare
- Subtip: Antet achiziție (38)
Modificați codul din funcția InsertInvLineFromRcptLine din Purch. Rcpt. Tabel cu linii (121) după cum urmează:
Cod existent 1... TransferOldExtLines.ClearLineNumbers; REPEAT ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0); ...Cod de înlocuire 1
... TransferOldExtLines.ClearLineNumbers; // Add the following line. PurchHeader.GET(TempPurchLine."Document Type",TempPurchLine."Document No."); REPEAT ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0); ...Cod existent 2
... ELSE PurchLine."Drop Shipment" := TRUE; PurchLine.INSERT; ItemTrackingMgt.CopyHandledItemTrkgToInvLine2(PurchOrderLine,PurchLine); ...Codul de înlocuire 2
... ELSE PurchLine."Drop Shipment" := TRUE; // Add the following line. PurchLine."Postponed VAT" := PurchHeader."Postponed VAT"; PurchLine.INSERT; ItemTrackingMgt.CopyHandledItemTrkgToInvLine2(PurchOrderLine,PurchLine); ...Adăugați o variabilă locală nouă în funcția InsertInvLineFromShptLine din tabelul Linie de livrare serviciu (5991), apoi specificați variabila după cum urmează:
- Nume: ServiceHeader
- Tip de date: Înregistrare
- Subtip: Antet serviciu (5900)
Modificați codul din funcția InsertInvLineFromShptLine din tabelul Linie de livrare de serviciu (5991), după cum urmează:
Cod existent 1... TransferOldExtLines.ClearLineNumbers; REPEAT ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0); ...Cod de înlocuire 1
... TransferOldExtLines.ClearLineNumbers; // Add the following line. ServiceHeader.GET(TempServiceLine."Document Type",TempServiceLine."Document No."); REPEAT ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0); ...Cod existent 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; ...Codul de înlocuire 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; ...Adăugați o nouă variabilă locală în funcția InsertInvLineFromRetShptLine din tabelul Return Shipment Line (6651), apoi specificați variabila după cum urmează:
- Nume: PurchHeader
- Tip de date: Înregistrare
- Subtip: Antet achiziție (38)
Modificați codul din funcția InsertInvLineFromRetShptLine din tabelul Return Shipment Line (6651), după cum urmează:
Cod existent 1... TransferOldExtLines.ClearLineNumbers; REPEAT ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0); ...Cod de înlocuire 1
... TransferOldExtLines.ClearLineNumbers; // Add the following line. PurchHeader.GET(TempPurchLine."Document Type",TempPurchLine."Document No."); REPEAT ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0); ...Cod existent 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); ...Codul de înlocuire 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); ...Adăugați o variabilă locală nouă în funcția InsertInvLineFromRetRcptLine din tabelul Linie de confirmare de returnare (6661), apoi specificați variabila după cum urmează:
- Nume: SalesHeader
- Tip de date: Înregistrare
- Subtip: Antet vânzări (36)
Modificați codul din funcția InsertInvLineFromRetRcptLine din tabelul Linie de confirmare de returnare (6661), după cum urmează:
Cod existent 1... TransferOldExtLines.ClearLineNumbers; REPEAT ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0); ...Cod de înlocuire 1
... TransferOldExtLines.ClearLineNumbers; // Add the following line. SalesHeader.GET(TempSalesLine."Document Type",TempSalesLine."Document No."); REPEAT ExtTextLine := (TransferOldExtLines.GetNewLineNumber("Attached to Line No.") <> 0); ...Cod existent 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); ...Codul de înlocuire 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); ...Modificați codul din funcția CopySalesLine din unitatea de cod Copiere document Mgt. (6620), după cum urmează:
Cod existent 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); ...Cod de înlocuire 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); ...Cod existent 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 ...Codul de înlocuire 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 ...
Cerințe preliminare
Trebuie să aveți instalat unul dintre următoarele produse pentru a aplica această remediere rapidă:
- Versiunea poloneză de Microsoft Dynamics NAV 2009 R2
- Versiunea poloneză de Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
Eliminarea informațiilor
Nu puteți elimina această remediere rapidă.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.
Notă: Acesta este un articol "PUBLICARE RAPIDĂ" creat direct din cadrul organizației de asistență Microsoft. Informațiile din acest document sunt furnizate ca atare ca răspuns la problemele apărute. Ca urmare a vitezei de punere la dispoziție, materialele pot include erori tipografice și pot fi revizuite în orice moment fără preaviz. Consultați Condițiile de utilizare pentru alte considerente.