Ten artykuł dotyczy funkcji Microsoft Dynamics NAV dla ustawień regionalnych języka portugalskiego (pt).
Objawy
Załóżmy, że zainstalowano aktualizację ERP — certyfikacja prawna w portugalskiej wersji programu Microsoft Dynamics NAV. Po uruchomieniu funkcji Kopiuj dokument na fakturze korygującej sprzedaży jest wyświetlany następujący komunikat o błędzie:
Uwaga
Zawartości pola Skrót nie można skopiować do pola Kod przepływu gotówkowego, ponieważ rozmiar pola Kod przepływu gotówkowego jest zbyt mały.
Ten problem występuje w następujących produktach:
- Portugalska wersja programu Microsoft Dynamics NAV 2009 R2
- Dodatek Service Pack 1 (SP1) dla portugalskiej wersji programu Microsoft Dynamics NAV 2009
- Dodatek Service Pack 1 (SP1) dla portugalskiej wersji programu Microsoft Dynamics NAV 5.0
Rozwiązanie
Informacje dotyczące poprawek
Obsługiwana poprawka jest teraz dostępna od firmy Microsoft. Jednak jego celem jest tylko naprawienie problemu opisanego w tym artykule. Zastosuj ją tylko do systemów, w których występuje ten konkretny problem. Ta poprawka może wymagać dodatkowych testów. W związku z tym, jeśli ten problem cię nie dotyczy poważnie, zalecamy poczekanie na następny dodatek Service Pack dla oprogramowania Microsoft Dynamics NAV lub następną wersję microsoft dynamics NAV zawierającą tę poprawkę.
Uwaga W specjalnych przypadkach opłaty, które zwykle naliczane są w związku z połączeniami pomocy technicznej, mogą zostać anulowane, jeśli specjalista pomocy technicznej w zakresie oprogramowania Microsoft Dynamics i produktów pokrewnych ustali, że określona aktualizacja rozwiąże problem. Typowe koszty pomocy technicznej będą miały zastosowanie do dodatkowych pytań dotyczących pomocy technicznej i problemów, które nie kwalifikują się do określonej aktualizacji.
Informacje o instalacji
Firma Microsoft udostępnia przykłady programowania wyłącznie w celach ilustracyjnych, bez gwarancji wyrażonej lub dorozumianej. To obejmuje między innymi dorozumiane gwarancje przydatności handlowej lub przydatności do określonego celu. W tym artykule założono, że znasz język programowania, który jest demonstrowany, oraz narzędzia, które są używane do tworzenia i debugowania procedur. Inżynierowie pomocy technicznej firmy Microsoft mogą pomóc w objaśnieniu funkcjonalności określonej procedury, ale nie zmodyfikują tych przykładów w celu zapewnienia dodatkowych funkcji ani skonstruowania procedur spełniających określone wymagania.
Uwaga Przed zainstalowaniem tej poprawki sprawdź, czy wszyscy użytkownicy klienckich usługi Microsoft Navision wylogowali się z systemu. Dotyczy to również użytkowników klienckich usług Microsoft Navision Application Services (NAS). Należy być jedynym użytkownikiem klienckim, który jest zalogowany podczas implementowania tej poprawki.
Aby zaimplementować tę poprawkę, musisz mieć licencję dewelopera.
Zalecamy przypisanie do konta użytkownika w oknie Logowania systemu Windows lub w oknie Logowania bazy danych identyfikator roli "SUPER". Jeśli do konta użytkownika nie można przypisać identyfikatora roli "SUPER", należy sprawdzić, czy konto użytkownika ma następujące uprawnienia:
- Uprawnienie Modyfikuj dla obiektu, który ma zostać zmieniony.
- Uprawnienie Execute dla obiektu System Object ID 5210 i obiektu System Object ID 9015.
Uwaga Nie musisz mieć praw do magazynów danych, chyba że musisz wykonać naprawę danych.
Zmiany kodu
Uwaga Przed zastosowaniem poprawek do komputerów produkcyjnych należy zawsze testować poprawki kodu w środowisku kontrolowanym.
Aby rozwiązać ten problem, wykonaj następujące czynności:
Zmień kod w funkcji Formularz żądania w raporcie Kopiuj dokument sprzedaży (292) w następujący sposób:
Istniejący kod... FromSalesHeader.TRANSFERFIELDS(FromReturnRcptHeader); DocType::"Posted Credit Memo": IF FromSalesCrMemoHeader.GET(DocNo) THEN // Delete the following line. FromSalesHeader.TRANSFERFIELDS(FromSalesCrMemoHeader); END; IF FromSalesHeader."No." = '' THEN DocNo := ''; ...Kod zastępczy
... FromSalesHeader.TRANSFERFIELDS(FromReturnRcptHeader); DocType::"Posted Credit Memo": IF FromSalesCrMemoHeader.GET(DocNo) THEN // Add the following line. CopyDocMgt.CopySalesCrMemoHeader(FromSalesHeader,FromSalesCrMemoHeader); // PT0001 END; IF FromSalesHeader."No." = '' THEN DocNo := ''; ...Zmień kod w funkcji ValidateDocNo w raporcie Kopiuj dokument sprzedaży (292) w następujący sposób:
Istniejący kod... DocType::"Posted Credit Memo": BEGIN FromSalesCrMemoHeader.GET(DocNo); // Delete the following line. FromSalesHeader.TRANSFERFIELDS(FromSalesCrMemoHeader); END; END; END; ...Kod zastępczy
... DocType::"Posted Credit Memo": BEGIN FromSalesCrMemoHeader.GET(DocNo); // Add the following line. CopyDocMgt.CopySalesCrMemoHeader(FromSalesHeader,FromSalesCrMemoHeader); // PT0001 END; END; END; ...Zmień kod w funkcji CopySalesDoc w koderze Copy Document Mgt. (6620) w następujący sposób:
Istniejący kod 1... SalesDocType::"Posted Credit Memo": BEGIN ToSalesHeader.VALIDATE("Sell-to Customer No.",FromSalesCrMemoHeader."Sell-to Customer No."); // Delete the following line. TRANSFERFIELDS(FromSalesCrMemoHeader,FALSE); CopyFromPstdSalesDocDimToHdr( ToSalesHeader,FromDocType,FromSalesShptHeader,FromSalesInvHeader, FromReturnRcptHeader,FromSalesCrMemoHeader); ...Kod zastępczy 1
... SalesDocType::"Posted Credit Memo": BEGIN ToSalesHeader.VALIDATE("Sell-to Customer No.",FromSalesCrMemoHeader."Sell-to Customer No."); // Add the following line. CopySalesCrMemoHeader(ToSalesHeader,FromSalesCrMemoHeader); // PT0001 CopyFromPstdSalesDocDimToHdr( ToSalesHeader,FromDocType,FromSalesShptHeader,FromSalesInvHeader, FromReturnRcptHeader,FromSalesCrMemoHeader); ...Istniejący kod 2
... END; SalesDocType::"Posted Credit Memo": BEGIN // Delete the following line. FromSalesHeader.TRANSFERFIELDS(FromSalesCrMemoHeader); FromSalesCrMemoLine.RESET; FromSalesCrMemoLine.SETRANGE("Document No.",FromSalesCrMemoHeader."No."); IF MoveNegLines THEN ...Kod zastępczy 2
... END; SalesDocType::"Posted Credit Memo": BEGIN // Add the following line. CopySalesCrMemoHeader(FromSalesHeader,FromSalesCrMemoHeader); // PT0001 FromSalesCrMemoLine.RESET; FromSalesCrMemoLine.SETRANGE("Document No.",FromSalesCrMemoHeader."No."); IF MoveNegLines THEN ...Zmień kod w funkcji CopySalesCrMemoLinesToDoc w oknie Kopiowanie dokumentu Mgt. koder-dekoder (6620) w następujący sposób:
Istniejący kod... FromSalesCrMemoHeader.GET("Document No."); TransferOldExtLines.ClearLineNumbers; END; // Delete the following line. FromSalesHeader.TRANSFERFIELDS(FromSalesCrMemoHeader); FillExactCostRevLink := IsSalesFillExactCostRevLink(ToSalesHeader,3,FromSalesHeader."Currency Code"); FromSalesLine.TRANSFERFIELDS(FromSalesCrMemoLine); ...Kod zastępczy
... FromSalesCrMemoHeader.GET("Document No."); TransferOldExtLines.ClearLineNumbers; END; // Add the following line. CopySalesCrMemoHeader(FromSalesHeader,FromSalesCrMemoHeader); // PT0001 FillExactCostRevLink := IsSalesFillExactCostRevLink(ToSalesHeader,3,FromSalesHeader."Currency Code"); FromSalesLine.TRANSFERFIELDS(FromSalesCrMemoLine); ...Zmień kod w dokumentacji w kodzie kodera-dekodera Kopiuj dokument Mgt (6620) w następujący sposób:
Istniejący kod... FORMAT(ToSalesHeader."No.")); END; BEGIN END. } } ...Kod zastępczy
... FORMAT(ToSalesHeader."No.")); END; // Add the following lines. PROCEDURE CopySalesCrMemoHeader@1110018(VAR SalesHeader@1110001 : Record 36;SalesCrMemoHeader@1110002 : Record 114); BEGIN WITH SalesHeader DO BEGIN "No." := SalesCrMemoHeader."No."; "Sell-to Customer No." := SalesCrMemoHeader."Sell-to Customer No."; "Bill-to Customer No." := SalesCrMemoHeader."Bill-to Customer No."; "Bill-to Name" := SalesCrMemoHeader."Bill-to Name"; "Bill-to Name 2" := SalesCrMemoHeader."Bill-to Name 2"; "Bill-to Address" := SalesCrMemoHeader."Bill-to Address"; "Bill-to Address 2" := SalesCrMemoHeader."Bill-to Address 2"; "Bill-to City" := SalesCrMemoHeader."Bill-to City"; "Bill-to Contact" := SalesCrMemoHeader."Bill-to Contact"; "Your Reference" := SalesCrMemoHeader."Your Reference"; "Ship-to Code" := SalesCrMemoHeader."Ship-to Code"; "Ship-to Name" := SalesCrMemoHeader."Ship-to Name"; "Ship-to Name 2" := SalesCrMemoHeader."Ship-to Name 2"; "Ship-to Address" := SalesCrMemoHeader."Ship-to Address"; "Ship-to Address 2" := SalesCrMemoHeader."Ship-to Address 2"; "Ship-to City" := SalesCrMemoHeader."Ship-to City"; "Ship-to Contact" := SalesCrMemoHeader."Ship-to Contact"; "Posting Date" := SalesCrMemoHeader."Posting Date"; "Shipment Date" := SalesCrMemoHeader."Shipment Date"; "Posting Description" := SalesCrMemoHeader."Posting Description"; "Payment Terms Code" := SalesCrMemoHeader."Payment Terms Code"; "Due Date" := SalesCrMemoHeader."Due Date"; "Payment Discount %" := SalesCrMemoHeader."Payment Discount %"; "Pmt. Discount Date" := SalesCrMemoHeader."Pmt. Discount Date"; "Shipment Method Code" := SalesCrMemoHeader."Shipment Method Code"; "Location Code" := SalesCrMemoHeader."Location Code"; "Shortcut Dimension 1 Code" := SalesCrMemoHeader."Shortcut Dimension 1 Code"; "Shortcut Dimension 2 Code" := SalesCrMemoHeader."Shortcut Dimension 2 Code"; "Customer Posting Group" := SalesCrMemoHeader."Customer Posting Group"; "Currency Code" := SalesCrMemoHeader."Currency Code"; "Currency Factor" := SalesCrMemoHeader."Currency Factor"; "Customer Price Group" := SalesCrMemoHeader."Customer Price Group"; "Prices Including VAT" := SalesCrMemoHeader."Prices Including VAT"; "Invoice Disc. Code" := SalesCrMemoHeader."Invoice Disc. Code"; "Customer Disc. Group" := SalesCrMemoHeader."Customer Disc. Group"; "Language Code" := SalesCrMemoHeader."Language Code"; "Salesperson Code" := SalesCrMemoHeader."Salesperson Code"; Comment := SalesCrMemoHeader.Comment; "No. Printed" := SalesCrMemoHeader."No. Printed"; "On Hold" := SalesCrMemoHeader."On Hold"; "Applies-to Doc. Type" := SalesCrMemoHeader."Applies-to Doc. Type"; "Applies-to Doc. No." := SalesCrMemoHeader."Applies-to Doc. No."; "Bal. Account No." := SalesCrMemoHeader."Bal. Account No."; Amount := SalesCrMemoHeader.Amount; "Amount Including VAT" := SalesCrMemoHeader."Amount Including VAT"; "VAT Registration No." := SalesCrMemoHeader."VAT Registration No."; "Reason Code" := SalesCrMemoHeader."Reason Code"; "Gen. Bus. Posting Group" := SalesCrMemoHeader."Gen. Bus. Posting Group"; "EU 3-Party Trade" := SalesCrMemoHeader."EU 3-Party Trade"; "Transaction Type" := SalesCrMemoHeader."Transaction Type"; "Transport Method" := SalesCrMemoHeader."Transport Method"; "VAT Country/Region Code" := SalesCrMemoHeader."VAT Country/Region Code"; "Sell-to Customer Name" := SalesCrMemoHeader."Sell-to Customer Name"; "Sell-to Customer Name 2" := SalesCrMemoHeader."Sell-to Customer Name 2"; "Sell-to Address" := SalesCrMemoHeader."Sell-to Address"; "Sell-to Address 2" := SalesCrMemoHeader."Sell-to Address 2"; "Sell-to City" := SalesCrMemoHeader."Sell-to City"; "Sell-to Contact" := SalesCrMemoHeader."Sell-to Contact"; "Bill-to Post Code" := SalesCrMemoHeader."Bill-to Post Code"; "Bill-to County" := SalesCrMemoHeader."Bill-to County"; "Bill-to Country/Region Code" := SalesCrMemoHeader."Bill-to Country/Region Code"; "Sell-to Post Code" := SalesCrMemoHeader."Sell-to Post Code"; "Sell-to County" := SalesCrMemoHeader."Sell-to County"; "Sell-to Country/Region Code" := SalesCrMemoHeader."Sell-to Country/Region Code"; "Ship-to Post Code" := SalesCrMemoHeader."Sell-to Post Code"; "Ship-to County" := SalesCrMemoHeader."Ship-to County"; "Ship-to Country/Region Code" := SalesCrMemoHeader."Ship-to Country/Region Code"; "Exit Point" := SalesCrMemoHeader."Exit Point"; Correction := SalesCrMemoHeader.Correction; "Document Date" := SalesCrMemoHeader."Document Date"; "External Document No." := SalesCrMemoHeader."External Document No."; Area := SalesCrMemoHeader.Area; "Transaction Specification" := SalesCrMemoHeader."Transaction Specification"; "Payment Method Code" := SalesCrMemoHeader."Payment Method Code"; "No. Series" := SalesCrMemoHeader."Pre-Assigned No. Series"; "Posting No. Series" := SalesCrMemoHeader."No. Series"; "Tax Area Code" := SalesCrMemoHeader."Tax Area Code"; "Tax Liable" := SalesCrMemoHeader."Tax Liable"; "VAT Bus. Posting Group" := SalesCrMemoHeader."VAT Bus. Posting Group"; "VAT Base Discount %" := SalesCrMemoHeader."VAT Base Discount %"; "Prepmt. Cr. Memo No. Series" := SalesCrMemoHeader."Prepmt. Cr. Memo No. Series"; "Campaign No." := SalesCrMemoHeader."Campaign No."; "Sell-to Contact No." := SalesCrMemoHeader."Sell-to Contact No."; "Bill-to Contact No." := SalesCrMemoHeader."Bill-to Contact No."; "Responsibility Center" := SalesCrMemoHeader."Responsibility Center"; "Allow Line Disc." := SalesCrMemoHeader."Allow Line Disc."; "Get Shipment Used" := SalesCrMemoHeader."Get Return Receipt Used"; "Amount in VAT Report" := SalesCrMemoHeader."Amount in VAT Report"; "Applies-to Bill No." := SalesCrMemoHeader."Applies-to Bill No."; "Cust. Bank Acc. Code" := SalesCrMemoHeader."Cust. Bank Acc. Code"; "Pay-at Code" := SalesCrMemoHeader."Pay-at Code"; "Date Sent" := SalesCrMemoHeader."Date Sent"; "Time Sent" := SalesCrMemoHeader."Time Sent"; "BizTalk Document Sent" := SalesCrMemoHeader."BizTalk Document Sent"; END; END; // End of the lines. BEGIN END. } } ...
Wymagania wstępne
Aby zastosować tę poprawkę, musisz mieć zainstalowany jeden z następujących produktów:
- Portugalska wersja programu Microsoft Dynamics NAV 2009 R2
- Dodatek Service Pack 1 (SP1) dla portugalskiej wersji programu Microsoft Dynamics NAV 2009
- Dodatek Service Pack 1 (SP1) dla portugalskiej wersji programu Microsoft Dynamics NAV 5.0
Informacje o usunięciu
Nie można usunąć tej poprawki.
Stan
Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.
Uwaga Jest to artykuł "SZYBKIE PUBLIKOWANIE" utworzony bezpośrednio z poziomu organizacji pomocy technicznej firmy Microsoft. Informacje zawarte w niniejszym artykule są dostarczane w stanie odpowiadającym na pojawiające się problemy. Ze względu na szybkość jego udostępnienia materiały mogą zawierać błędy typograficzne i mogą zostać poprawione w dowolnym momencie bez powiadomienia. Zobacz Warunki użytkowania , aby zapoznać się z innymi zagadnieniami.