Tämä artikkeli koskee Microsoft Dynamics NAV -ohjelmaa unkarin (hu) kielikielellä.
Ongelman ilmenemistapa
Oletetaan, että käytät ennakkomaksun hotfix-TFS326659 Microsoft Dynamics NAV 2009 R2:n unkarinkielisessä versiossa. Kun kirjaat ennakkolaskun asiakkaalle käyttämällä ulkomaista valuuttaa, asiakaskortin Ennakot (LVA) -arvo on 0,01. Oletat , että Ennakot (LCY) - arvo on nolla.
Lisätietoja ennakkomaksun hotfix-korjauksesta TFS326659 on seuraavissa tiedoissa:
TFS326659 Ennakkomaksupäivitys Microsoft Dynamics NAV 2009 R2:lle - Unkari
Ratkaisu
Hotfix-tiedot
Tuettu hotfix-korjaus on nyt saatavilla Microsoftilta. Sen tarkoituksena on kuitenkin korjata vain tässä artikkelissa kuvattu ongelma. Käytä sitä vain järjestelmissä, joissa on tämä ongelma. Tämä hotfix-korjaus voi saada lisätestejä. Jos ongelma ei siis vaikuta sinuun vakavasti, suosittelemme odottamaan seuraavaa Microsoft Dynamics NAV 2009 Service Pack -pakettia tai seuraavaa Microsoft Dynamics NAV -versiota, joka sisältää tämän hotfix-korjauksen.
Huomautus Erityistapauksissa tukipuheluista tavallisesti aiheutuvat maksut voidaan peruuttaa, jos Microsoft Dynamicsin ja siihen liittyvien tuotteiden teknisen tuen asiantuntija määrittää, että tietty päivitys ratkaisee ongelmasi. Tavanomaiset tukikustannukset koskevat muita tukikysymyksiä ja -ongelmia, jotka eivät ole oikeutettuja kyseiseen päivitykseen.
Asennustiedot
Microsoft tarjoaa ohjelmointiesimerkkejä vain havainnollistamista varten ilman ilmaistua tai oletettua takuuta. Tämä sisältää muun muassa oletetut takuut soveltuvuudesta kaupankäynnin kohteeksi tai sopivuudesta tiettyyn tarkoitukseen. Tässä artikkelissa oletetaan, että tunnet ohjelmointikielen, jota esitellään, sekä työkalut, joita käytetään toimintosarjojen luomiseen ja virheenkorjaukseen. Microsoftin tukihenkilöt voivat auttaa selittämään tietyn toimintosarjan toiminnallisuuden. He eivät kuitenkaan muokkaa näitä esimerkkejä tarjotakseen lisätoimintoja tai luodakseen toimintosarjoja, jotka vastaavat tarpeitasi.
Huomautus Varmista ennen tämän hotfix-korjauksen asentamista, että kaikki Microsoft Dynamics NAV -asiakasohjelman käyttäjät ovat kirjautuneet ulos järjestelmästä. Tämä sisältää Microsoft Dynamics NAV -sovelluspalvelimen (NAS) palvelut. Sinun pitäisi olla ainoa asiakaskäyttäjä, joka on kirjautunut sisään, kun otat tämän hotfix-korjauksen käyttöön.
Jotta voit ottaa tämän hotfix-korjauksen käyttöön, sinulla on oltava kehittäjän käyttöoikeus.
Suosittelemme, että käyttäjätilille, joka on Windowsin kirjautumisikkunassa tai Tietokannan kirjautumiset -ikkunassa, määritetään "SUPER"-roolitunnus. Jos käyttäjätilille ei voi määrittää "SUPER"-roolitunnusta, sinun on varmistettava, että käyttäjätilillä on seuraavat käyttöoikeudet:
Muutettavan objektin Muokkaa-käyttöoikeus.
System Object ID 5210 -objektin ja System Object ID 9015:n suoritusoikeus
Objekti.
Huomautus Sinulla ei tarvitse olla oikeuksia tietosäilöihin, ellei sinun tarvitse korjata tietoja.
Koodin muutokset
Huomautus Testaa koodikorjaukset aina valvotussa ympäristössä, ennen kuin otat korjaukset käyttöön tuotantotietokoneissasi.
Voit ratkaista ongelman seuraavasti:
Muuta PostCust-funktion koodia Genissä. Jnl.-Post Line Codeunit (12) seuraavasti:
Olemassa oleva koodi 1... CustLedgEntry."Prepayment Type" := "Prepayment Type"; // Delete the following lines. IF CustLedgEntry.Prepayment AND (CustLedgEntry."Document Type" = CustLedgEntry."Document Type"::Payment) AND (CustLedgEntry."Prepayment Type" = CustLedgEntry."Prepayment Type"::Advance) // End of the deleted lines. THEN BEGIN ...Korvaava koodi 1
... CustLedgEntry."Prepayment Type" := "Prepayment Type"; // Add the following lines. IF IsAdvancePrepayment(CustLedgEntry.Prepayment,CustLedgEntry."Prepayment Type") AND (CustLedgEntry."Document Type" = CustLedgEntry."Document Type"::Payment) // End of the added lines. THEN BEGIN ...Nykyinen koodi 2
... DtldCVLedgEntryBuf.Advance := // Delete the following line. CustLedgEntry.Prepayment AND (CustLedgEntry."Prepayment Type" = CustLedgEntry."Prepayment Type"::Advance); // End of the deleted line. TransferCustLedgEntry(CVLedgEntryBuf,CustLedgEntry,TRUE); ...Korvaava koodi 2
... DtldCVLedgEntryBuf.Advance := // Add the following line. IsAdvancePrepayment(CustLedgEntry.Prepayment,CustLedgEntry."Prepayment Type"); // End of the added line. TransferCustLedgEntry(CVLedgEntryBuf,CustLedgEntry,TRUE); ...Muuta Genin PostVend-funktion koodia. Jnl.-Post Line Codeunit (12) seuraavasti:
Olemassa oleva koodi 1... VendLedgEntry."Prepayment Type" := "Prepayment Type"; // Delete the following lines. IF VendLedgEntry.Prepayment AND (VendLedgEntry."Document Type" = VendLedgEntry."Document Type"::Payment) AND (VendLedgEntry."Prepayment Type" = VendLedgEntry."Prepayment Type"::Advance) // End of the deleted lines. THEN BEGIN ...Korvaava koodi 1
... VendLedgEntry."Prepayment Type" := "Prepayment Type"; // Add the following lines. IF IsAdvancePrepayment(VendLedgEntry.Prepayment,VendLedgEntry."Prepayment Type") AND (VendLedgEntry."Document Type" = VendLedgEntry."Document Type"::Payment) // End of the added lines. THEN BEGIN ...Nykyinen koodi 2
... DtldCVLedgEntryBuf.Advance := // Delete the following line. VendLedgEntry.Prepayment AND (VendLedgEntry."Prepayment Type" = VendLedgEntry."Prepayment Type"::Advance); // End of the deleted line. TransferVendLedgEntry(CVLedgEntryBuf,VendLedgEntry,TRUE); ...Korvaava koodi 2
... DtldCVLedgEntryBuf.Advance := // Add the following line. IsAdvancePrepayment(VendLedgEntry.Prepayment,VendLedgEntry."Prepayment Type"); // End of the added line. TransferVendLedgEntry(CVLedgEntryBuf,VendLedgEntry,TRUE); ...Muuta koodia CalcCurrencyRealizedGainLoss-funktiossa Gen-funktiossa. Jnl.-Post Line Codeunit (12) seuraavasti:
Aiemmin luotu koodi... DtldCVLedgEntryBuf.Advance := // Delete the following line. CVLedgEntryBuf.Prepayment AND (CVLedgEntryBuf."Prepayment Type" = CVLedgEntryBuf."Prepayment Type"::Advance); // End of the deleted line. IF RealizedGainLossLCY < 0 THEN BEGIN ...Korvaava koodi
... DtldCVLedgEntryBuf.Advance := // Add the following line. IsAdvancePrepayment(CVLedgEntryBuf.Prepayment,CVLedgEntryBuf."Prepayment Type"); // End of the added line. IF RealizedGainLossLCY < 0 THEN BEGIN ...Muuta CalcApplication-funktion koodia Genissä. Jnl.-Post Line Codeunit (12) seuraavasti:
Olemassa oleva koodi 1... DtldCVLedgEntryBuf.Advance := // Delete the following line. OldCVLedgEntryBuf.Prepayment AND (OldCVLedgEntryBuf."Prepayment Type" = OldCVLedgEntryBuf."Prepayment Type"::Advance); // End of the deleted line. InsertDtldCVLedgEntry(DtldCVLedgEntryBuf,OldCVLedgEntryBuf,FALSE); ...Korvaava koodi 1
... DtldCVLedgEntryBuf.Advance := // Add the following line. IsAdvancePrepayment(OldCVLedgEntryBuf.Prepayment,OldCVLedgEntryBuf."Prepayment Type"); // End of the added line. InsertDtldCVLedgEntry(DtldCVLedgEntryBuf,OldCVLedgEntryBuf,FALSE); ...Nykyinen koodi 2
... DtldCVLedgEntryBuf.Advance := // Delete the following line. NewCVLedgEntryBuf.Prepayment AND (NewCVLedgEntryBuf."Prepayment Type" = NewCVLedgEntryBuf."Prepayment Type"::Advance); // End of the deleted line. InsertDtldCVLedgEntry(DtldCVLedgEntryBuf,NewCVLedgEntryBuf,FALSE); ...Korvaava koodi 2
... DtldCVLedgEntryBuf.Advance := // Add the following line. IsAdvancePrepayment(NewCVLedgEntryBuf.Prepayment,NewCVLedgEntryBuf."Prepayment Type"); // End of the added line. InsertDtldCVLedgEntry(DtldCVLedgEntryBuf,NewCVLedgEntryBuf,FALSE); ...Muuta CalcAmtLCYAdjustment-funktion koodia Genissä. Jnl.-Post Line Codeunit (12) seuraavasti:
Aiemmin luotu koodi... DtldCVLedgEntryBuf."Entry Type"::"Correction of Remaining Amount"; DtldCVLedgEntryBuf."Amount (LCY)" := AdjustedAmountLCY - CVLedgEntryBuf."Remaining Amt. (LCY)"; ...Korvaava koodi
... DtldCVLedgEntryBuf."Entry Type"::"Correction of Remaining Amount"; // Add the following lines. DtldCVLedgEntryBuf.Advance := IsAdvancePrepayment(CVLedgEntryBuf.Prepayment,CVLedgEntryBuf."Prepayment Type"); // End of the added lines. DtldCVLedgEntryBuf."Amount (LCY)" := AdjustedAmountLCY - CVLedgEntryBuf."Remaining Amt. (LCY)"; ...Muuta PostDtldCustLedgEntries-funktion koodia Gen-funktiossa. Jnl.-Post Line Codeunit (12) seuraavasti:
Olemassa oleva koodi 1... GenJnlLine."Posting Group", // Delete the following lines. GenJnlLine.Prepayment AND (GenJnlLine."Prepayment Type" = GenJnlLine."Prepayment Type"::Advance)); // End of the deleted lines. IF CustLedgEntryInserted OR (TotalAmountLCY <> 0) OR ...Korvaava koodi 1
... GenJnlLine."Posting Group", // Add the following line. IsAdvancePrepayment(GenJnlLine.Prepayment,GenJnlLine."Prepayment Type")); // End of the added line. IF CustLedgEntryInserted OR (TotalAmountLCY <> 0) OR ...Nykyinen koodi 2
...GenJnlLine."Posting Group", // Delete the following lines. GenJnlLine.Prepayment AND (GenJnlLine."Prepayment Type" = GenJnlLine."Prepayment Type"::Advance)); // End of the deleted lines.IF CustLedgEntryInserted OR (TotalAmountLCY <> 0) OR ...Korvaava koodi 2
...GenJnlLine."Posting Group", // Add the following line. IsAdvancePrepayment(GenJnlLine.Prepayment,GenJnlLine."Prepayment Type")); // End of the added line.IF CustLedgEntryInserted OR (TotalAmountLCY <> 0) OR ...Muuta GetReceivablesAccNo-funktion koodia Genissä. Jnl.-Post Line Codeunit (12) seuraavasti:
Aiemmin luotu koodi... CustLedgEntry."Customer Posting Group", // Delete the following lines. CustLedgEntry.Prepayment AND (CustLedgEntry."Prepayment Type" = CustLedgEntry."Prepayment Type"::Advance))); // End of the deleted lines. END; ...Korvaava koodi
... CustLedgEntry."Customer Posting Group", // Add the following line. IsAdvancePrepayment(CustLedgEntry.Prepayment,CustLedgEntry."Prepayment Type"))); // End of the added line. END; ...Muuta GetPayablesAccNo-funktion koodia Genissä. Jnl.-Post Line Codeunit (12) seuraavasti:
Aiemmin luotu koodi... VendLedgEntry."Vendor Posting Group", // Delete the following lines. VendLedgEntry.Prepayment AND (VendLedgEntry."Prepayment Type" = VendLedgEntry."Prepayment Type"::Advance))); // End of the deleted lines. END;Korvaava koodi
... VendLedgEntry."Vendor Posting Group", // Add the following line. IsAdvancePrepayment(VendLedgEntry.Prepayment,VendLedgEntry."Prepayment Type"))); // End of the added line. END; ...
Edellytykset
Sinulla on oltava asennettuna Microsoft Dynamics NAV 2009 R2:n unkarilainen versio, jotta voit käyttää tätä hotfix-korjausta.
Poistotiedot
Et voi poistaa tätä hotfix-korjausta.
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.
Huomautus Tämä on FAST PUBLISH -artikkeli, joka on luotu suoraan Microsoftin tukiorganisaatiosta. Tässä annetut tiedot annetaan sellaisenaan vastauksena uusiin ongelmiin. Koska materiaalit ovat nopeasti käytettävissä, ne voivat sisältää typografisia virheitä, ja niitä voidaan muuttaa milloin tahansa ilman ennakkoilmoitusta. Lisätietoja on ohjeaiheessa Käyttöehdot .