Pazīmes

Nepareizs dokumenta tipam tiek izmantots, ja importējat LSV DD (tiešs debets) failus un noraidīja maksājumi pastāv Šveices valodas versijā Microsoft Dynamics NAV 2009. Maksājumu ir atcelta, ja joprojām nav iestatīts dokumenta tipa maksājumu. Tomēr šie ieraksti nevar izlikt nepareizu pierakstīšanās apjoma dēļ. Izpildiet darbības sadaļā koda izmaiņas , lai atrisinātu šo problēmu. Šī problēma rodas ar šādiem produktiem:

  • Microsoft Dynamics NAV 2009 R2 Šveices versija

  • Microsoft Dynamics NAV 2009 SP1 Šveices versija

Risinājums

Informācija par labojumfailu

Pašlaik korporācija Microsoft piedāvā atbalstītu labojumfailu. Tomēr tas ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. Izmantojiet to tikai tām sistēmām, kurām ir radusies tieši šī problēma. Iespējams, tiks veikta šī labojumfaila papildu testēšana. Tādēļ, ja jums ir šī problēma nerada nopietnus traucējumus, ieteicams nogaidīt, līdz tiks izlaista nākamā servisa pakotne Microsoft Dynamics NAV 2009 vai nākamo Microsoft Dynamics NAV versiju, kurā ir iekļauts šis labojumfails.

Piezīme. Īpašos gadījumos standarta izmaksas par atbalsta zvaniem nav jāsedz, ja tehniskā atbalsta speciālists Microsoft Dynamics un saistītiem produktiem nosaka, ka šo problēmu novērsīs noteikts atjauninājums. Parasti atbalsta izmaksas tiek piemērotas jautājumiem par papildu atbalstu un problēmām, kas neskar specifisko atjauninājumu apspriešanu.

Informācija par instalēšanu

Microsoft piedāvā programmēšanas piemērus tikai uzskatāmībai, nesniedzot nekādas tiešas vai netiešas garantijas. Tas ietver, bet neaprobežojas ar netiešām garantijām par piemērotību pārdošanai vai atbilstību noteiktam mērķim. Šajā rakstā tiek pieņemts, ka pārzināt programmēšanas valodu, kas tiek aprakstīta, un rīkus, kas tiek izmantoti, lai izveidotu un atkļūdotu procedūras. Microsoft atbalsta inženieri var palīdzēt izskaidrot kādas noteiktas procedūras funkcionalitāti. Taču viņi nemainīs šos piemērus, lai sniegtu skaidrākus, un neveidos jaunas procedūras, kas atbilstu īpašām prasībām.

Piezīme. Pirms šī labojumfaila instalēšanas pārliecinieties, vai, ka visi Microsoft Dynamics NAV klienta lietotāji ir atteikušies sistēmu. Tas ietver Microsoft Dynamics NAV lietojumprogrammu serveris (NAS) pakalpojumus. Jums ir jābūt tikai klienta lietotājam, kurš ir pieteicies datorā, kad izmantojat šo labojumfailu.

Lai ieviestu šo labojumfailu, datorā jābūt instalētai izstrādātāja licenci.

Ieteicams, ka lietotāja konts tiek atvērts logs Windows lietotājvārdi vai logā datu bāzes lietotājvārdi piešķirt "SUPER" lomas ID. Ja lietotāja kontam nevar piešķirt "SUPER" lomas ID, ir jāpārbauda lietotāja konts ir šādas atļaujas:

  • Objektu, kad tiks mainīts modificēt atļaujas.

  • Izpildes atļauja objekta objekta ID 5210 sistēmas un sistēmas objekta ID 9015

    objektu.

Piezīme. Jums nav tiesības datu krātuvju vien veikt datu labošana.

Koda izmaiņas

Piezīme. Vienmēr pārbaudes kods novērš kontrolētā vidē pirms lietojat datoru ražošanas labojumus.

Lai novērstu šo problēmu, rīkojieties šādi:

  1. Nomainiet šo kodu globālo mainīgo LSVMgt koda (3010831), šādi:
    Kods

    ...Text11500@1150080 : TextConst 'ENU=Could not find Transaction No. %1 in Debit Direct Order No. %2.';
    FileMgt@1150042 : Codeunit 419;
    FileSystemObject@1150081 : Automation "{420B2830-E718-11CF-893D-00A0C9054228} 1.0:{0D43FE01-F093-11CF-8940-00A0C9054228}:'Microsoft Scripting Runtime'.FileSystemObject";

    PROCEDURE ReleaseCustLedgEntries@1(_GenJnlLine@1150000 : Record 81);
    BEGIN
    ...

    Aizstāšanas kodu

    ...Text11500@1150080 : TextConst 'ENU=Could not find Transaction No. %1 in Debit Direct Order No. %2.';
    FileMgt@1150042 : Codeunit 419;
    FileSystemObject@1150081 : Automation "{420B2830-E718-11CF-893D-00A0C9054228} 1.0:{0D43FE01-F093-11CF-8940-00A0C9054228}:'Microsoft Scripting Runtime'.FileSystemObject";

    // Add the following line.
    IsCancellationExist@1150082 : Boolean;
    // End of the added line.

    PROCEDURE ReleaseCustLedgEntries@1(_GenJnlLine@1150000 : Record 81);
    BEGIN
    ...
  2. Nomainiet šo kodu LSVMgt koda (3010831) ImportDebitDirectFile funkciju šādi:
    Kods 1

    ...FeeAmount := 0;
    TotalRecRecords := 0;
    TotalRecRecordsRev := 0;

    // Journal name for no serie
    GlBatchName.GET(ActGenJnlLine."Journal Template Name",ActGenJnlLine."Journal Batch Name");
    ...

    Aizstāšanas kods = 1

    ...FeeAmount := 0;
    TotalRecRecords := 0;
    TotalRecRecordsRev := 0;

    // Add the following line.
    IsCancellationExist := FALSE;
    // End of the added line.

    // Journal name for no serie
    GlBatchName.GET(ActGenJnlLine."Journal Template Name",ActGenJnlLine."Journal Batch Name");
    ...

    Kods 2.

    ...// Split File line into fields

    // Delete the following lines.
    FileID := COPYSTR(Line,1,3);
    IF FileID <> '036' THEN
    ERROR(Text049 + Text011);
    TA := COPYSTR(Line,36,2);
    IF NOT (TA = '97') THEN BEGIN
    TotalRecord := FALSE;
    EVALUATE(InvoiceAmt,COPYSTR(Line,54,13));
    EVALUATE(yyCR,COPYSTR(Line,4,2));
    EVALUATE(mmCR,COPYSTR(Line,6,2));
    EVALUATE(ddCR,COPYSTR(Line,8,2));
    IF yyCR > 98 THEN
    PostDate := DMY2DATE(ddCR,mmCR,1900 + yyCR)
    ELSE
    PostDate := DMY2DATE(ddCR,mmCR,2000 + yyCR);

    DebitDirectOrderNo := COPYSTR(Line,34,2);
    EVALUATE(DebitDirectRecordNo,COPYSTR(Line,38,6));
    EVALUATE(RejectionCode,COPYSTR(Line,543,2));
    Currency := COPYSTR(Line,51,3);

    // DEBIT DIRECT
    LsvJour.RESET;
    LsvJour.SETRANGE("Credit Date",PostDate);
    LsvJour.SETRANGE("DebitDirect Orderno.",DebitDirectOrderNo);
    IF NOT LsvJour.FIND('+') THEN
    ERROR(Text059,DebitDirectOrderNo,PostDate);

    LsvJournalLine.RESET;
    //CH0001.begin
    LsvJournalLine.SETCURRENTKEY("LSV Journal No.","Transaction No.");
    LsvJournalLine.SETRANGE("LSV Journal No.",LsvJour."No.");
    //LsvJournalLine.SETRANGE("Line No.",DebitDirectRecordNo);
    LsvJournalLine.SETRANGE("Transaction No.",DebitDirectRecordNo);
    //LsvJournalLine.FIND('-');
    IF NOT LsvJournalLine.FINDFIRST THEN BEGIN
    d.CLOSE;
    ERROR(Text11500, DebitDirectRecordNo, DebitDirectOrderNo);
    END;
    //CH0001.end
    InInvoiceNo := LsvJournalLine."Applies-to Doc. No.";
    // END DEBIT DIRECT

    // Process transaction of credit record
    CASE TA OF
    '81': // Credit
    BEGIN
    Transaction := Transaction::Credit;
    LsvJournalLine."LSV Status" := LsvJournalLine."LSV Status"::Open;
    LsvJournalLine."DD Rejection Reason" := LsvJournalLine."DD Rejection Reason"::" ";
    LsvJournalLine.MODIFY;

    IF LSVSetup.READPERMISSION THEN BEGIN
    ClosedByESR(InInvoiceNo);
    END;
    END;
    '84': // Cancellation "Storno"
    BEGIN
    IF RejectionCode <> 2 THEN
    Transaction := Transaction::Correction
    ELSE
    Transaction := Transaction::Cancellation;

    LsvJournalLine."LSV Status" := LsvJournalLine."LSV Status"::Rejected;
    LsvJournalLine."DD Rejection Reason" := RejectionCode;
    LsvJournalLine.MODIFY;
    END;
    ELSE
    ERROR(Text023 + Text011);
    END;
    END ELSE BEGIN
    TotalRecord := TRUE;
    EVALUATE(TempAmount,COPYSTR(Line,60,13));
    CreditAmount := CreditAmount + TempAmount / 100;
    EVALUATE(TempAmount,COPYSTR(Line,82,13));
    RejectionAmount := RejectionAmount + TempAmount / 100;
    EVALUATE(TempAmount,COPYSTR(Line,104,13));
    ReversalAmount := ReversalAmount + TempAmount / 100;
    EVALUATE(TempAmount,COPYSTR(Line,120,11));
    FeeAmount := FeeAmount + TempAmount / 100;
    // Credit Count
    EVALUATE(TempAmount,COPYSTR(Line,54,6));
    TotalRecRecords := TotalRecRecords + TempAmount;
    // Rejection Count
    EVALUATE(TempAmount,COPYSTR(Line,76,6));
    TotalRecRecordsRev := TotalRecRecordsRev + TempAmount;
    // Reversal Count
    EVALUATE(TempAmount,COPYSTR(Line,98,6));
    TotalRecRecordsRev := TotalRecRecordsRev + TempAmount;
    END;
    // END OF SPLIT

    IF NOT (TotalRecord) AND (Transaction <> Transaction::Correction) THEN BEGIN
    // End of the deleted lines.

    // Insert GL line
    GenJournalLine.INIT;
    GenJournalLine."Journal Template Name" := ActGenJnlLine."Journal Template Name";
    ...

    Aizstāšanas kods 2.

    ...// Split File line into fields

    // Add the following lines.
    FileID := COPYSTR(Line,1,3);
    IF FileID <> '036' THEN
    ERROR(Text049 + Text011);
    TA := COPYSTR(Line,36,2);
    IF NOT (TA = '97') THEN BEGIN
    TotalRecord := FALSE;
    EVALUATE(InvoiceAmt,COPYSTR(Line,54,13));
    EVALUATE(yyCR,COPYSTR(Line,4,2));
    EVALUATE(mmCR,COPYSTR(Line,6,2));
    EVALUATE(ddCR,COPYSTR(Line,8,2));
    IF yyCR > 98 THEN
    PostDate := DMY2DATE(ddCR,mmCR,1900 + yyCR)
    ELSE
    PostDate := DMY2DATE(ddCR,mmCR,2000 + yyCR);

    DebitDirectOrderNo := COPYSTR(Line,34,2);
    EVALUATE(DebitDirectRecordNo,COPYSTR(Line,38,6));
    EVALUATE(RejectionCode,COPYSTR(Line,543,2));
    Currency := COPYSTR(Line,51,3);

    // DEBIT DIRECT
    LsvJour.RESET;
    LsvJour.SETRANGE("Credit Date",PostDate);
    LsvJour.SETRANGE("DebitDirect Orderno.",DebitDirectOrderNo);
    IF NOT LsvJour.FIND('+') THEN
    ERROR(Text059,DebitDirectOrderNo,PostDate);

    LsvJournalLine.RESET;
    //CH0001.begin
    LsvJournalLine.SETCURRENTKEY("LSV Journal No.","Transaction No.");
    LsvJournalLine.SETRANGE("LSV Journal No.",LsvJour."No.");
    //LsvJournalLine.SETRANGE("Line No.",DebitDirectRecordNo);
    LsvJournalLine.SETRANGE("Transaction No.",DebitDirectRecordNo);
    //LsvJournalLine.FIND('-');
    IF NOT LsvJournalLine.FINDFIRST THEN BEGIN
    d.CLOSE;
    ERROR(Text11500, DebitDirectRecordNo, DebitDirectOrderNo);
    END;
    //CH0001.end
    InInvoiceNo := LsvJournalLine."Applies-to Doc. No.";
    // END DEBIT DIRECT

    // Process transaction of credit record
    CASE TA OF
    '81': // Credit
    BEGIN
    Transaction := Transaction::Credit;
    LsvJournalLine."LSV Status" := LsvJournalLine."LSV Status"::Open;
    LsvJournalLine."DD Rejection Reason" := LsvJournalLine."DD Rejection Reason"::" ";
    LsvJournalLine.MODIFY;

    IF LSVSetup.READPERMISSION THEN BEGIN
    ClosedByESR(InInvoiceNo);
    END;
    END;
    '84': // Cancellation "Storno"
    BEGIN
    IF RejectionCode <> 2 THEN
    Transaction := Transaction::Correction
    ELSE
    Transaction := Transaction::Cancellation;

    LsvJournalLine."LSV Status" := LsvJournalLine."LSV Status"::Rejected;
    LsvJournalLine."DD Rejection Reason" := RejectionCode;
    LsvJournalLine.MODIFY;
    END;
    ELSE
    ERROR(Text023 + Text011);
    END;
    END ELSE BEGIN
    TotalRecord := TRUE;
    EVALUATE(TempAmount,COPYSTR(Line,60,13));
    CreditAmount := CreditAmount + TempAmount / 100;
    EVALUATE(TempAmount,COPYSTR(Line,82,13));
    RejectionAmount := RejectionAmount + TempAmount / 100;
    EVALUATE(TempAmount,COPYSTR(Line,104,13));
    ReversalAmount := ReversalAmount + TempAmount / 100;
    EVALUATE(TempAmount,COPYSTR(Line,120,11));
    FeeAmount := FeeAmount + TempAmount / 100;
    // Credit Count
    EVALUATE(TempAmount,COPYSTR(Line,54,6));
    TotalRecRecords := TotalRecRecords + TempAmount;
    // Rejection Count
    EVALUATE(TempAmount,COPYSTR(Line,76,6));
    TotalRecRecordsRev := TotalRecRecordsRev + TempAmount;
    // Reversal Count
    EVALUATE(TempAmount,COPYSTR(Line,98,6));
    TotalRecRecordsRev := TotalRecRecordsRev + TempAmount;
    END;
    // END OF SPLIT

    IF NOT (TotalRecord) AND (Transaction <> Transaction::Correction) THEN BEGIN
    // End of the added lines.

    // Insert GL line
    GenJournalLine.INIT;
    GenJournalLine."Journal Template Name" := ActGenJnlLine."Journal Template Name";
    ...

    Kods 3

    ...GenJournalLine.INIT;
    GenJournalLine."Journal Template Name" := ActGenJnlLine."Journal Template Name";
    GenJournalLine."Journal Batch Name" := ActGenJnlLine."Journal Batch Name";
    LastLineNo := LastLineNo + 10000;
    GenJournalLine."Line No." := LastLineNo;
    GenJournalLine."Document No." := NextDocNo;
    ...

    Aizstāšanas kodu 3.

    ... GenJournalLine.INIT;
    GenJournalLine."Journal Template Name" := ActGenJnlLine."Journal Template Name";
    GenJournalLine."Journal Batch Name" := ActGenJnlLine."Journal Batch Name";

    // Add the following lines.
    GenJournalLine."Posting Date" := PostDate;
    GenJournalLine."Account Type" := GenJournalLine."Account Type"::Customer;

    IF Transaction = Transaction::Cancellation THEN BEGIN
    IsCancellationExist := TRUE;
    GenJournalLine."Document Type" := GenJournalLine."Document Type"::Refund;
    NextDocNo := NoSeriesMgt.GetNextNo(GlBatchName."No. Series",PostDate,FALSE);
    END ELSE
    GenJournalLine."Document Type" := GenJournalLine."Document Type"::Payment;

    // End of the added lines.

    LastLineNo := LastLineNo + 10000;
    GenJournalLine."Line No." := LastLineNo;
    GenJournalLine."Document No." := NextDocNo;
    ...

    Kods 4

    ...LastLineNo := LastLineNo + 10000;
    GenJournalLine."Line No." := LastLineNo;
    GenJournalLine."Document No." := NextDocNo;

    // Delete the following lines.
    GenJournalLine."Posting Date" := PostDate;
    GenJournalLine."Account Type" := GenJournalLine."Account Type"::Customer;
    GenJournalLine."Document Type" := GenJournalLine."Document Type"::Payment;
    // End of the deleted lines.

    GeneralLedgerSetup.GET;
    IF GeneralLedgerSetup."LCY Code" <> Currency THEN
    ...

    Aizstāšanas kodu 4

    ... LastLineNo := LastLineNo + 10000;
    GenJournalLine."Line No." := LastLineNo;
    GenJournalLine."Document No." := NextDocNo;

    // Add the following lines.

    IF Transaction = Transaction::Cancellation THEN
    NextDocNo := NoSeriesMgt.GetNextNo(GlBatchName."No. Series",PostDate,FALSE);
    // End of the added lines.

    GeneralLedgerSetup.GET;
    IF GeneralLedgerSetup."LCY Code" <> Currency THEN
    ...

    5 kods

    ... IF CustLedgerEntry.FIND('-') THEN
    GenJournalLine.VALIDATE("Account No.",CustLedgerEntry."Customer No.");

    // Delete the following lines.
    GenJournalLine."Applies-to Doc. Type" := GenJournalLine."Applies-to Doc. Type"::Invoice;
    GenJournalLine."Applies-to Doc. No." := InInvoiceNo;
    // End of the deleted lines.

    IF GenJournalLine."Currency Code" <> CustLedgerEntry."Currency Code" THEN
    GenJournalLine.VALIDATE("Currency Code",CustLedgerEntry."Currency Code");
    ...

    Aizstāšanas kodu 5

    ... IF CustLedgerEntry.FIND('-') THEN
    GenJournalLine.VALIDATE("Account No.",CustLedgerEntry."Customer No.");

    // Add the following lines.
    IF Transaction <> Transaction::Cancellation THEN BEGIN
    GenJournalLine."Applies-to Doc. Type" := GenJournalLine."Applies-to Doc. Type"::Invoice;
    GenJournalLine."Applies-to Doc. No." := InInvoiceNo;
    END;
    // End of the added lines.

    IF GenJournalLine."Currency Code" <> CustLedgerEntry."Currency Code" THEN
    GenJournalLine.VALIDATE("Currency Code",CustLedgerEntry."Currency Code");
    ...

    Kods 6

    ...// *** Bal account per line or as combined entry

    // Delete the following line.
    IF MultiplePostingDates THEN BEGIN
    // End of the deleted line.

    // Bal Account per line
    IF GenJournalLine.FIND('-') THEN
    REPEAT
    ...

    Aizstāšanas kodu 6

    ...// *** Bal account per line or as combined entry

    // Add the following line.
    IF MultiplePostingDates OR IsCancellationExist THEN BEGIN
    // End of the added line.

    // Bal Account per line
    IF GenJournalLine.FIND('-') THEN
    REPEAT
    ...

Priekšnosacījumi

Datorā ir jābūt instalētai kādai no lai lietotu šo labojumfailu šādiem produktiem:

  • Microsoft Dynamics NAV 2009 R2 Šveices versija

  • Microsoft Dynamics NAV 2009 SP1 Šveices versija

Informācija par noņemšanu

Nevar noņemt šo labojumfailu.

Statuss

Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".

Piezīme. Šis ir STEIDZAMI PUBLICĒJAMS raksts, kas izveidots tieši Microsoft atbalsta organizācijā. Šajā rakstā ietvertā informācija ir sniegta, reaģējot uz nesen konstatētām problēmām. Tā kā šis raksts ir tapis pieejams neilgā laikā, materiālos var būt pareizrakstības kļūdas un tās var tikt labotas jebkurā laikā bez paziņojuma. Skatīt Lietošanasciti apsvērumi.

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar valodas kvalitāti?
Kas ietekmēja jūsu pieredzi?

Paldies par jūsu atsauksmēm!

×