![]() |
#17 |
Участник
|
Можно и код. У нас он работает нормально, но как было сказано выше, в дальнейшем могут возникнуть проблемы с коррекцией себестоимости. Правда суть этих проблем пока не ясна, мы тоже еще не столкнулись:
5802 кю. 1) Заводим глобальную переменную bSalesCrMemoCorrection - boolean 2) Заводим ф-цию SetCrMemoCorrection //AN_050220+ bSalesCrMemoCorrection := TRUE; 3) В ф-ции PostInvtPostBuf нужно добавить то, что внутри коммент. IF AdjustmentCorrection THEN BEGIN GenJnlLine.Correction := TRUE; IF NotAdjustmentCorrectionACY THEN GenJnlLine."Not Add.-Currency Correction" := TRUE; END; //AN_050220+{ IF bSalesCrMemoCorrection THEN GenJnlLine.Correction := TRUE; //AN_050220+} IF OnlyAdjustmentCorrectionACY THEN GenJnlLine."Only Add.-Currency Correction" := TRUE; InsertJnlLineDim(GenJnlLine,TempJnlLineDim,"Dimension Entry No."); 22 кю. Ф-ция PostInventoryToGL с изменениями выглядит так: WITH ValueEntry DO BEGIN IF (NOT "Expected Cost") AND ("Entry Type" = "Entry Type"::"Direct Cost") AND ("Item Charge No." = '') THEN BalanceInterimPostToGL("Posting Date","Item Ledger Entry No."); IF InvtPost.BufferInvtPosting(ValueEntry) THEN BEGIN WithPost := TRUE; //AN_050220+{ lGLSetup.GET; IF lGLSetup."Mark Cr. Memos as Corrections" THEN IF ValueEntry."Item Ledger Entry Type" = ValueEntry."Item Ledger Entry Type"::Sale THEN BEGIN IF lILE.GET(ValueEntry."Item Ledger Entry No.") THEN IF lILE.Positive THEN IF NOT lILE.Correction THEN InvtPost.SetCrMemoCorrection; END; //AN_050220+} InvtPost.PostInvtPostBufPerEntry("Posting Date",ValueEntry,WithPost); END; END; |
|