Symptomer

Elektroniske betalinger-funksjonalitet som gir muligheten til å eksportere elektroniske betalinger fra Journal og Cartera (oppdrag) i den spanske versjonen av Microsoft Dynamics NAV 2009. Bare exportation fra Cartera gjennom et oppdrag er mulig ved hjelp av SEPA (XML). Du bør ha muligheten til å eksportere SEPA fra journalen for kreditt overføring (CT) også. Følg trinnene i delen kodeendringer for å løse dette problemet. Dette problemet oppstår i følgende produkter:

  • Den spanske versjonen av Microsoft Dynamics NAV 2009 R2

  • Den spanske versjonen av Microsoft Dynamics NAV 2009 SP1

Oppløsning

Informasjon om hurtigreparasjon

En støttet hurtigreparasjon er nå tilgjengelig fra Microsoft. Det er imidlertid bare ment å løse problemet som er beskrevet i denne artikkelen. Bruk den bare på systemer som har dette bestemte problemet. Denne hurtigreparasjonen kan gjennomgå ytterligere testing. Hvis du ikke er alvorlig påvirket av dette problemet, anbefaler vi derfor at du venter på neste oppdateringspakke for Microsoft Dynamics NAV 2009 eller den neste versjonen av Microsoft Dynamics NAV som inneholder denne hurtigreparasjonen.

Obs! I spesielle tilfeller avgifter som vanligvis påløper for støtte samtaler kan avbrytes hvis en kundestøttemedarbeider for Microsoft Dynamics og beslektede produkter avgjør at en bestemt oppdatering løser problemet. Vanlige kundestøttekostnader gjelder for ytterligere kundestøttespørsmål og problemer som ikke dekkes av den gjeldende oppdateringen.

Installasjonsinformasjon

Microsoft bruker ment som eksempler, uten garanti, verken direkte eller indirekte. Dette inkluderer, men er ikke begrenset til, eventuelle stilltiende garantier om salgbarhet eller anvendelighet for særskilte formål. Denne artikkelen forutsetter at du er kjent med programmeringsspråket som anvendes, og verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsofts kundestøtteteknikere kan hjelpe deg med å forklare funksjonaliteten til en bestemt prosedyre. De endrer imidlertid ikke disse eksemplene for å lage forbedret funksjonalitet eller lage prosedyrer som dekker dine spesifikke behov.

Obs! Før du installerer denne hurtigreparasjonen, må du kontrollere at alle brukerne i Microsoft Dynamics NAV-klienten er logget av systemet. Dette inkluderer tjenester for Microsoft Dynamics NAV Application Server (NAS). Du skal bare klient-brukeren som er logget på når du implementerer denne hurtigreparasjonen.

Hvis du vil implementere denne hurtigreparasjonen, må du ha en utviklerlisens.

Vi anbefaler at kontoen i vinduet Windows-pålogging eller i vinduet Database-pålogging være tildelt "SUPER" rolle-ID. Hvis brukerkontoen ikke kan tilordnes "SUPER" rolle-IDen, må du kontrollere at brukerkontoen har følgende tillatelser:

  • Endre-tillatelse for objektet du vil endre.

  • Tilgangsnivået for systemet objekt-IDen til 5210 objektet og systemet objekt-ID-9015

    -objektet.

Obs! Du har ikke tilgangsrettigheter til datalagre med mindre du har til å utføre data reparasjon.

Kodeendringer

Obs! Alltid løser teste koden i et kontrollert miljø før du installerer hurtigreparasjoner til produksjonsdatamaskiner for.

Hvis du vil løse dette problemet, gjør du følgende:

  1. Endre koden i kontrollene i Betalingsjournal-skjemaet (256) som følger:
    Eksisterende kode 1

    ...     OnValidate=BEGIN
    GenJnlManagement.GetAccounts(Rec,AccName,BalAccName);
    ShowShortcutDimCode(ShortcutDimCode);
    END;
    }
    { 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10;
    ...

    Ny kode 1

    ...         OnValidate=BEGIN
    GenJnlManagement.GetAccounts(Rec,AccName,BalAccName);
    ShowShortcutDimCode(ShortcutDimCode);

    // Add the following line.
    CheckRecipientBankAccount;
    // End of the added line.

    END;
    }
    { 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10;
    ...

    Eksisterende kode 2

    ... SourceExpr="Reason Code" }
    { 70 ;Label ;0 ;0 ;0 ;0 ;ParentControl=69;
    InColumnHeading=Yes }
    { 24 ;Frame ;220 ;6160 ;16060;1430 ;HorzGlue=Both;
    VertGlue=Bottom;
    ShowCaption=No }
    ...

    Ny kode 2

    ... SourceExpr="Reason Code" }
    { 70 ;Label ;0 ;0 ;0 ;0 ;ParentControl=69;
    InColumnHeading=Yes }

    // Add the following lines.
    { 1100012;TextBox ;71517;1100 ;1700 ;440 ;ParentControl=1;
    InColumn=Yes;
    SourceExpr="Recipient Bank Account" }
    { 1100013;Label ;0 ;0 ;0 ;0 ;ParentControl=1100012;
    InColumnHeading=Yes }
    // End of the added lines.

    { 24 ;Frame ;220 ;6160 ;16060;1430 ;HorzGlue=Both;
    VertGlue=Bottom;
    ShowCaption=No }
    ...

    Eksisterende kode 3

    ...CaptionML=ENU=Export;
    OnPush=VAR
    Text1100000@1100000 : TextConst 'ENU=Nothing to export.';
    BEGIN
    // es0006.begin
    GenJnlLine.RESET;
    ...

    Ny kode 3

    ...CaptionML=ENU=Export;
    OnPush=VAR
    Text1100000@1100000 : TextConst 'ENU=Nothing to export.';

    // Add the following line.
    Selection@1100004 : Integer;
    // End of the added line.

    BEGIN
    // es0006.begin
    GenJnlLine.RESET;
    ...

    Eksisterende kode 4

    ... GenJnlLine.SETRANGE("Journal Batch Name","Journal Batch Name");
    IF NOT GenJnlLine.FIND('-') THEN
    ERROR(Text1100000);
    GenJnlLine.TESTFIELD("Elect. Pmts Exported",FALSE);
    REPORT.RUNMODAL(REPORT::"Export Electronic Payments",TRUE,FALSE,GenJnlLine);
    // es0006.end
    END;
    }
    ...

    Ny kode 4

    ... GenJnlLine.SETRANGE("Journal Batch Name","Journal Batch Name");
    IF NOT GenJnlLine.FIND('-') THEN
    ERROR(Text1100000);

    // Add the following lines.
    Selection := STRMENU(ExportFormatTypeTxt,2);
    CASE Selection OF
    1:
    BEGIN
    IF ExportedPmtExist(GenJnlLine) THEN
    IF NOT CONFIRM(ExportAgainQst) THEN
    EXIT;
    CODEUNIT.RUN(CODEUNIT::"SEPA CT-Export File",GenJnlLine);
    END;
    2:
    BEGIN
    // End of the added lines.

    GenJnlLine.TESTFIELD("Elect. Pmts Exported",FALSE);
    REPORT.RUNMODAL(REPORT::"Export Electronic Payments",TRUE,FALSE,GenJnlLine);

    // Add the following lines.
    END;
    END;
    // End of the added lines.
    // es0006.end
    END;
    }
    ...

    Eksisterende kode 5

    ... // es0006.end
    END;
    }
    { ID=65;
    CaptionML=ENU=Void Check;
    OnPush=BEGIN
    ...

    Ny kode 5

    ...  // es0006.end
    END;
    }

    // Add the following lines.
    { ID=1100014;
    PushAction=RunObject;
    MenuLevel=1;
    CaptionML=ENU=Show Export File Errors;
    RunObject=Form 1228;
    RunFormLink=Journal Template Name=FIELD(Journal Template Name),
    Journal Batch Name=FIELD(Journal Batch Name) }
    // End of the added lines.

    { ID=65;
    CaptionML=ENU=Void Check;
    OnPush=BEGIN
    ...
  2. Endre koden i globale variabler i Betalingsjournal-skjemaet (256) som følger:
    Eksisterende kode

    ...ShowTotalBalance@1017 : Boolean;
    ShortcutDimCode@1018 : ARRAY [8] OF Code[20];
    OpenedFromBatch@1019 : Boolean;

    LOCAL PROCEDURE UpdateBalance@1();
    BEGIN
    ...

    Ny kode

    ...     ShowTotalBalance@1017 : Boolean;
    ShortcutDimCode@1018 : ARRAY [8] OF Code[20];
    OpenedFromBatch@1019 : Boolean;

    // Add the following lines.
    ExportFormatTypeTxt@1100001 : TextConst 'ENU=SEPA,N34.1';
    ExportAgainQst@1100000 : TextConst 'ENU=One or more of the selected lines have already been exported. Do you want to export again?';
    // End of the added lines.

    LOCAL PROCEDURE UpdateBalance@1();
    BEGIN
    ...
  3. Endre koden i ExportedPmtExist -funksjonen i Betalingsjournal-skjemaet (256) som følger:
    Eksisterende kode

    ...    CurrForm.TotalBalance.VISIBLE := ShowTotalBalance;
    END;

    BEGIN
    {
    <changelog>
    ...

    Ny kode

    ...      CurrForm.TotalBalance.VISIBLE := ShowTotalBalance;
    END;

    // Add the following lines.
    LOCAL PROCEDURE ExportedPmtExist@1100002(GenJournalLine@1100000 : Record 81) : Boolean;
    VAR
    GenJnlLine3@1100001 : Record 81;
    BEGIN
    GenJnlLine3.COPYFILTERS(GenJnlLine);
    GenJnlLine3.SETRANGE("Exported to Payment File",TRUE);
    EXIT(NOT GenJnlLine3.ISEMPTY);
    END;

    LOCAL PROCEDURE CheckRecipientBankAccount@1100000();
    VAR
    VendorBankAccount@1100000 : Record 288;
    CustomerBankAccount@1100001 : Record 287;
    BEGIN
    IF ("Account No." <> xRec."Account No.") THEN
    VALIDATE("Recipient Bank Account",'');
    END;
    // End of the added lines.

    BEGIN
    {
    <changelog>
    ...
  4. Endre koden i egenskapene i Betalingsjournal-siden (256) som følger:
    Eksisterende kode

    ...END;
    END;
    }
    { 1900000004;0 ;ActionContainer;
    ActionContainerType=ActionItems }
    { 40 ;1 ;ActionGroup;
    ...

    Ny kode

    ...  END;
    END;
    }

    // Add the following lines.
    { 1100050 ;2 ;ActionGroup;
    CaptionML=ENU=Electronic Payments }
    { 1100051 ;3 ;Action ;
    CaptionML=ENU=Export;
    OnAction=VAR
    Text1100000@1100000 : TextConst 'ENU=Nothing to export.';
    Selection@1100004 : Integer;
    BEGIN
    // es0006.begin
    GenJnlLine.RESET;
    GenJnlLine := Rec;
    GenJnlLine.SETRANGE("Journal Template Name","Journal Template Name");
    GenJnlLine.SETRANGE("Journal Batch Name","Journal Batch Name");
    IF NOT GenJnlLine.FIND('-') THEN
    ERROR(Text1100000);

    Selection := STRMENU(ExportFormatTypeTxt,2);
    CASE Selection OF
    1:
    BEGIN
    IF ExportedPmtExist(GenJnlLine) THEN
    IF NOT CONFIRM(ExportAgainQst) THEN
    EXIT;
    CODEUNIT.RUN(CODEUNIT::"SEPA CT-Export File",GenJnlLine);
    END;
    2:
    BEGIN
    GenJnlLine.TESTFIELD("Elect. Pmts Exported",FALSE);
    REPORT.RUNMODAL(REPORT::"Export Electronic Payments",TRUE,FALSE,GenJnlLine);
    END;
    END;
    // es0006.end
    END;
    }
    { 1100052 ;3 ;Action ;
    CaptionML=ENU=Void;
    OnAction=VAR
    VoidElecPayments@1101100000 : Report 10722;
    BEGIN
    // es0006.begin
    GenJnlLine.RESET;
    GenJnlLine := Rec;
    GenJnlLine.SETRANGE("Journal Template Name","Journal Template Name");
    GenJnlLine.SETRANGE("Journal Batch Name","Journal Batch Name");
    CLEAR(VoidElecPayments);
    VoidElecPayments.SETTABLEVIEW(GenJnlLine);
    VoidElecPayments.RUNMODAL;
    // es0006.end
    END;
    }
    { 1100014 ;3 ;Action ;
    CaptionML=ENU=Show Export File Errors;
    RunObject=Page 1228;
    RunFormLink=Journal Template Name=FIELD(Journal Template Name),Journal Batch Name=FIELD(Journal Batch Name) }
    // End of the added lines.

    { 1900000004;0 ;ActionContainer;
    ActionContainerType=ActionItems }
    { 40 ;1 ;ActionGroup;
    ...
  5. Endre koden i kontrollene i Betalingsjournal-siden (256) som følger:
    Eksisterende kode 1

    ...OnValidate=BEGIN
    GenJnlManagement.GetAccounts(Rec,AccName,BalAccName);
    ShowShortcutDimCode(ShortcutDimCode);
    END;
    }
    ...

    Ny kode 1

    ...OnValidate=BEGIN
    GenJnlManagement.GetAccounts(Rec,AccName,BalAccName);
    ShowShortcutDimCode(ShortcutDimCode);

    // Add the following line.
    CheckRecipientBankAccount;
    // End of the added line.

    END;
    }
    ...

    Eksisterende kode 2

    ...SourceExpr="Reason Code";
    Visible=FALSE }

    { 24 ;1 ;Group }

    { 1903561801;2;Group ;
    ...

    Ny kode 2

    ...SourceExpr="Reason Code";
    Visible=FALSE }

    // Add the following lines.
    { 1100012;2;Field ;
    SourceExpr="Recipient Bank Account" }
    // End of the added lines.

    { 24 ;1 ;Group }

    { 1903561801;2;Group ;
    ...
  6. Endre koden i globale variabler i Betalingsjournal-siden (256) som følger:
    Eksisterende kode

    ...ShowTotalBalance@1017 : Boolean;
    ShortcutDimCode@1018 : ARRAY [8] OF Code[20];
    OpenedFromBatch@1019 : Boolean;
    BalanceVisible@19073040 : Boolean INDATASET;
    TotalBalanceVisible@19063333 : Boolean INDATASET;
    ...

    Ny kode

    ...ShowTotalBalance@1017 : Boolean;
    ShortcutDimCode@1018 : ARRAY [8] OF Code[20];
    OpenedFromBatch@1019 : Boolean;

    // Add the following lines.
    ExportFormatTypeTxt@1100001 : TextConst 'ENU=SEPA,N34.1';
    ExportAgainQst@1100000 : TextConst 'ENU=One or more of the selected lines have already been exported. Do you want to export again?';
    // End of the added lines.

    BalanceVisible@19073040 : Boolean INDATASET;
    TotalBalanceVisible@19063333 : Boolean INDATASET;
    ...
  7. Endre koden i ExportedPmtExist -funksjonen i Betalingsjournal-siden (256) som følger:
    Eksisterende kode

    ...TotalBalanceVisible := ShowTotalBalance;
    END;

    LOCAL PROCEDURE CurrentJnlBatchNameOnAfterVali@19002411();
    BEGIN
    CurrPage.SAVERECORD;
    ...

    Ny kode

    ...TotalBalanceVisible := ShowTotalBalance;
    END;

    // Add the following lines.
    LOCAL PROCEDURE ExportedPmtExist@1100002(GenJournalLine@1100000 : Record 81) : Boolean;
    VAR
    GenJnlLine3@1100001 : Record 81;
    BEGIN
    GenJnlLine3.COPYFILTERS(GenJnlLine);
    GenJnlLine3.SETRANGE("Exported to Payment File",TRUE);
    EXIT(NOT GenJnlLine3.ISEMPTY);
    END;

    LOCAL PROCEDURE CheckRecipientBankAccount@1100000();
    VAR
    VendorBankAccount@1100000 : Record 288;
    CustomerBankAccount@1100001 : Record 287;
    BEGIN
    IF ("Account No." <> xRec."Account No.") THEN
    VALIDATE("Recipient Bank Account",'');
    END;
    // End of the added lines.

    LOCAL PROCEDURE CurrentJnlBatchNameOnAfterVali@19002411();
    BEGIN
    CurrPage.SAVERECORD;
    ...
  8. Endre koden i egenskapene i SEPA CT pain.001.001.03 xmlport (1000) som følger:
    Eksisterende kode

    ...ELEMENTS
    {
    { [{0EA1BA75-FB56-4C05-946C-A299E4809E84}]; ;Document ;Element ;Table ;
    SourceTable=Table81 }

    { [{596E5521-E230-4D9C-B0F7-DF29388F515B}];1 ;xmlns ;Attribute;Text ;
    VariableName=XMLNamespace }
    ...

    Ny kode

    ... ELEMENTS
    {
    { [{0EA1BA75-FB56-4C05-946C-A299E4809E84}]; ;Document ;Element ;Table ;
    SourceTable=Table81;

    // Add the following line.
    MaxOccurs=Once }
    // End of the added line.

    { [{596E5521-E230-4D9C-B0F7-DF29388F515B}];1 ;xmlns ;Attribute;Text ;
    VariableName=XMLNamespace }
    ...
  9. Endre koden i InitData -funksjonen i SEPA CT pain.001.001.03 xmlport (1000) som følger:
    Eksisterende kode

    ...  PaymentGroupNo@1000 : Integer;
    BEGIN
    SEPACTFillExportBuffer.FillExportBuffer("Gen. Journal Line",PaymentExportData);
    PaymentExportData.GetRemittanceTexts(TempPaymentExportRemittanceTxt);

    NoOfTransfers := FORMAT(PaymentExportData.COUNT);
    ...

    Ny kode

    ...PaymentGroupNo@1000 : Integer;
    BEGIN
    SEPACTFillExportBuffer.FillExportBuffer("Gen. Journal Line",PaymentExportData);

    // Add the following lines.
    "Gen. Journal Line".SETRANGE("Journal Template Name",'');
    "Gen. Journal Line".SETRANGE("Journal Batch Name",'');
    // End of the added lines.

    PaymentExportData.GetRemittanceTexts(TempPaymentExportRemittanceTxt);

    NoOfTransfers := FORMAT(PaymentExportData.COUNT);
    ...


Forutsetninger

Du må ha én av de følgende programmene installert for å bruke denne hurtigreparasjonen:

  • Den spanske versjonen av Microsoft Dynamics NAV 2009 R2

  • Den spanske versjonen av Microsoft Dynamics NAV 2009 SP1

Informasjon om fjerning

Du kan ikke fjerne denne hurtigreparasjonen.

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Obs! Dette er en "RASKT PUBLISERE" artikkel opprettet direkte fra innenfor organisasjonen Microsoft Kundestøtte. Informasjonen i dette dokumentet tilbys som-er som svar på nye problemer. Som et resultat av hastigheten i å gjøre den tilgjengelig materialene kan inkludere typografiske feil, og den kunne bli revidert når som helst uten varsel. Se Vilkårene for Brukfor andre hensyn.

Trenger du mer hjelp?

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Microsoft Insiders

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?

Takk for tilbakemeldingen!

×