0% found this document useful (0 votes)
4 views

Prueba Para on Load

Uploaded by

desa10.ti
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Prueba Para on Load

Uploaded by

desa10.ti
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Exportfile for AOT version 1.

0 or later
Formatversion: 1

***Element: CLS

; Microsoft Dynamics AX Class: DynamicJournalProcess descargados


;
--------------------------------------------------------------------------------
CLSVERSION 1

CLASS #DynamicJournalProcess
PROPERTIES
Name #DynamicJournalProcess
Extends #RunBaseBatch
Origin #{D48FE397-1719-4DD0-ADC3-495379E5DAA0}
ENDPROPERTIES

METHODS
SOURCE #canGoBatchJournal
#public boolean canGoBatchJournal()
#{
# return true;
#}
ENDSOURCE
SOURCE #classDeclaration
#class DynamicJournalProcess extends RunBaseBatch
#{
# #define.CurrentVersion(1)
# #define.Version1(1)
#
# // Added by Axel V. 20231211
# boolean redFlagTrans;
# container issues;
#}
ENDSOURCE
SOURCE #existsMT940IntoAnother
#private boolean existsMT940IntoAnother(RecId refMT940)
#{
# LedgerJournalTrans LedgerJournalTrans;
#
# select firstOnly1 LedgerJournalTrans where
LedgerJournalTrans.TranssactionBankMT940 == refMT940;
#
# return LedgerJournalTrans.RecId > 0;
#}
ENDSOURCE
SOURCE #markTransaction
#private void markTransaction(RecId _LedgerJournalTransRecId)
#{
# int specCount;
# SpecTrans _SpecTrans;
# CustTrans _CustTrans;
# CustTransOpen _CustTransOpen;
# CustInvoiceJour _CustInvoiceJour;
# LedgerJournalTrans _LedgerJournalTrans;
#
# try
# {
# select firstOnly1 forupdate _LedgerJournalTrans where
_LedgerJournalTrans.RecId == _LedgerJournalTransRecId;
#
# if (!_LedgerJournalTrans)
# {
# error(strFmt('No se encuentra el registro de %1',
tableId2name(tableNum(LedgerJournalTrans))));
# return;
# }
#
# select _CustInvoiceJour where _CustInvoiceJour.InvoiceId ==
_LedgerJournalTrans.MarkedInvoice;
#
# if (!_CustInvoiceJour)
# {
# error(strFmt('No se encuentra el registro de %1',
tableId2name(tableNum(CustInvoiceJour))));
# return;
# }
#
# select _CustTrans where _CustTrans.Invoice ==
_LedgerJournalTrans.MarkedInvoice;
#
# if (!_CustTrans)
# {
# error(strFmt('No se encuentra el registro de %1',
tableId2name(tableNum(CustTrans))));
# return;
# }
#
# select _CustTransOpen where _CustTransOpen.RefRecId ==
_CustTrans.RecId;
#
# if (!_CustTransOpen)
# {
# error(strFmt('No se encuentra el registro de %1',
tableId2name(tableNum(CustTransOpen))));
# return;
# }
#
# _SpecTrans.CashDiscToTake = 0;
# _SpecTrans.Code = _CustInvoiceJour.CurrencyCode;
# _SpecTrans.CrossRate = 0;
#
# _SpecTrans.LineNum = _LedgerJournalTrans.LineNum;
#
# _SpecTrans.Balance01 = _LedgerJournalTrans.AmountCurCredit;
#
# _SpecTrans.RefRecId = _CustTransOpen.RecId;
# _SpecTrans.RefTableId = tableNum(CustTransOpen);
# _SpecTrans.RefCompany = _CustTransOpen.dataAreaId;
#
# _SpecTrans.SpecRecId = _LedgerJournalTrans.RecId;
# _SpecTrans.SpecTableId = tableNum(LedgerJournalTrans);
# _SpecTrans.SpecCompany =_LedgerJournalTrans.dataAreaId;
#
# _SpecTrans.insert();
#
# _LedgerJournalTrans.MarkedInvoiceRecId =
_CustInvoiceJour.RecId;
# _LedgerJournalTrans.MarkedInvoiceCompany =
_CustInvoiceJour.dataAreaId;
# _LedgerJournalTrans.SettleVoucher = 2;
# _LedgerJournalTrans.doUpdate();
#
# /* COMENTADO PORQUE HACE EXACTAMENTE LO MISMO QUE EL UPDATE DE
ARRIBA.
# // Find count of SpecTrans for this LedgrJournalTrans
# specCount = SpecTrans::getSpecTransCount(
# _LedgerJournalTrans.company(),
# tableNum(LedgerJournalTrans),
# _LedgerJournalTrans.RecId
# );
#
# _LedgerJournalTrans.updateMarkedInvoice(specCount); */
# }
# catch
# {
# error('Error General!');
# }
#}
ENDSOURCE
SOURCE #processHeader
#private LedgerJournalId processHeader(DynamicJournalTable
DynamicJournalTable)
#{
# AxLedgerJournalTable header = new AxLedgerJournalTable();
# LedgerJournalTable LedgerJournalTable;
#
# try {
# ttsBegin;
# header.parmJournalName(DynamicJournalTable.JournalName);
# header.parmName(DynamicJournalTable.Name);
# header.parmJournalType(DynamicJournalTable.JournalType);
# header.save();
#
# DynamicJournalTable.JournalNum =
header.ledgerJournalTable().JournalNum;
#
# this.processTrans(DynamicJournalTable);
#
# select forUpdate LedgerJournalTable where
LedgerJournalTable.JournalNum == DynamicJournalTable.JournalNum;
#
# LedgerJournalTable.Name = DynamicJournalTable.Name;
#
# LedgerJournalTable.doUpdate();
#
# ttsCommit;
# return header.ledgerJournalTable().JournalNum;
# } catch {
# ttsAbort;
# return '';
# }
#}
ENDSOURCE
SOURCE #processPendingJournals
#private void processPendingJournals()
#{
# DynamicJournalTable DynamicJournalTable;
# LedgerJournalCheckPost JourPost;
# LedgerJournalTable LedgerJournalTable;
#
# while select forUpdate DynamicJournalTable
# where DynamicJournalTable.Processed == NoYes::No
# {
# this.resetGlobals(); // Added by Axel V. 20231211
#
# try
# {
# ttsBegin;
# DynamicJournalTable.JournalNum =
this.processHeader(DynamicJournalTable);
#
# // Added by Axel V. 20231211
# if (redFlagTrans)
# {
# DynamicJournalTable.AutoRegister = NoYes::No;
# DynamicJournalTable.Issue = con2Str(issues);
# }
# ////////////////////////////
#
# if (DynamicJournalTable.JournalNum != "")
# {
# DynamicJournalTable.Processed = NoYes::Yes;
# DynamicJournalTable.update();
#
# info(strFmt("Se ha creado el diario: %1",
DynamicJournalTable.JournalNum));
# }
#
# ttsCommit;
# }
# catch
# {
# ttsAbort;
# }
# }
#
# info('Fin de proceso de creación de diarios.');
#
# DynamicJournalTable = null;
# LedgerJournalTable = null;
#
# while select DynamicJournalTable
# join LedgerJournalTable
# where DynamicJournalTable.JournalNum ==
LedgerJournalTable.JournalNum
# && DynamicJournalTable.AutoRegister == NoYes::Yes
# && DynamicJournalTable.Processed == NoYes::Yes
# && LedgerJournalTable.Posted == NoYes::No
# {
# JourPost =
LedgerJournalCheckPost::newLedgerJournalTable(LedgerJournalTable, NoYes::Yes);
# try
# {
# JourPost.run();
# }
# catch (Exception::Error)
# {
# error(strFmt("Diario: %1 / Aprobado : %2",
LedgerJournalTable.JournalNum, LedgerJournalTable.approved()));
# }
# }
#
# info('Fin de proceso de registro de diarios.');
#}
ENDSOURCE
SOURCE #processTrans
#private void processTrans(DynamicJournalTable DynamicJournalTable)
#{
# DynamicJournalTrans DynamicJournalTrans;
# AxLedgerJournalTrans trans;
#
# CustTrans CustTrans;
# CustTransOpen CustTransOpen;
#
# while select DynamicJournalTrans
# where DynamicJournalTrans.RefRecId == DynamicJournalTable.RecId
# {
# trans = new AxLedgerJournalTrans();
#
# // Added by Axel V. 20231211
# if (DynamicJournalTrans.TransactionBankMT940 > 0 &&
this.existsMT940IntoAnother(DynamicJournalTrans.TransactionBankMT940))
# {
# redFlagTrans = true;
# issues += [strFmt('La transacción con la referencia al
MT940 %1, ya ha sido usada en otro diario. \n',
DynamicJournalTrans.TransactionBankMT940)];
# } else {
#
trans.parmConciliationState(DynamicJournalTrans.ConciliationState);
#
trans.parmTransactionBankMT940(DynamicJournalTrans.TransactionBankMT940);
# }
# ////////////////////////////
#
# trans.parmJournalNum(DynamicJournalTable.JournalNum);
# trans.parmPaymMode(DynamicJournalTrans.PaymMode);
#
# trans.parmOffsetLedgerDimension(
#
DimensionStorage::getDynamicAccount(DynamicJournalTrans.OffsetAccount,
DynamicJournalTrans.OffsetAccountType)
# );
#
#
trans.parmOffsetAccountType(DynamicJournalTrans.OffsetAccountType);
#
trans.parmBankTransType(CustPaymModeTable::find(DynamicJournalTrans.PaymMode).Ba
nkTransType);
# trans.parmLoadingDate(systemDateGet());
# trans.parmTransDate(DynamicJournalTrans.TransDate);
# trans.parmTransactionType(DynamicJournalTrans.TransactionType);
# trans.parmCompany(DynamicJournalTrans.Company);
# trans.parmOffsetCompany(DynamicJournalTrans.OffsetCompany);
#
# trans.parmCurrencyCode(DynamicJournalTrans.CurrencyCode);
# trans.parmAmountCurDebit(DynamicJournalTrans.AmountCurDebit);
# trans.parmAmountCurCredit(DynamicJournalTrans.AmountCurCredit);
#
# trans.parmTriangulation(
# Currency::triangulation(DynamicJournalTrans.CurrencyCode,
DynamicJournalTrans.TransDate)
# );
#
# trans.parmExchRate(
# Currency::exchRate(DynamicJournalTrans.CurrencyCode,
DynamicJournalTrans.TransDate)
# );
#
# trans.parmExchRateSecond(
# Currency::exchRateSecond(DynamicJournalTrans.CurrencyCode,
DynamicJournalTrans.TransDate)
# );
#
# trans.parmSettleVoucher(SettlementType::OpenTransact);
# trans.parmAccountType(DynamicJournalTrans.AccountType);
#
# trans.parmLedgerDimension(
# DynamicJournalTrans.AccountType == 0 ?
#
SenseIT_MigraAX2012_Util::getLedgerDimensionMainAccount(DynamicJournalTrans.Acco
untNum)
# :
#
DimensionStorage::getDynamicAccount(DynamicJournalTrans.AccountNum,
DynamicJournalTrans.AccountType)
# );
#
# trans.parmPaymentStatus(CustVendPaymStatus::Recieved);
# trans.parmDocumentNum(DynamicJournalTrans.DocumentNum);
#
# if (DynamicJournalTrans.AccountType ==
LedgerJournalACType::Cust)
# {
# CustTrans = null;
# select CustTrans
# index hint accountDateIdx
# where CustTrans.AccountNum ==
DynamicJournalTrans.AccountNum
# && CustTrans.Invoice == DynamicJournalTrans.InvoiceId;
#
# if (CustTrans)
# {
# trans.parmCustTransId(CustTrans.RecId);
#
# CustTransOpen = null;
# select CustTransOpen where CustTransOpen.RefRecId ==
CustTrans.RecId;
#
# if (CustTransOpen)
# {
# trans.parmDue(CustTransOpen.DueDate);
# }
# }
#
# // necesario para las facturas.
#
trans.parmDefaultDimension(DynamicJournalTrans.DimensionDefault);
#
# } else {
# if (DynamicJournalTrans.AccountType !=
LedgerJournalACType::Bank)
#
trans.parmDefaultDimension(DynamicJournalTrans.DimensionDefault);
#
# //gcespedes 2024 02 23 se habia omitido la informacion de
dimension financiera
#
//trans.parmLedgerDimension(DynamicJournalTrans.LEDGERDIMENSION);
# }
#
# trans.parmVoucher(DynamicJournalTrans.Voucher);
# trans.parmPostingProfile(DynamicJournalTrans.PostingProfile);
# trans.parmPaymReference(DynamicJournalTrans.PaymReference);
# trans.parmBankTransType(DynamicJournalTrans.BankTransType);
# trans.parmTxt(DynamicJournalTrans.TXT);
# trans.parmMarkedInvoice(DynamicJournalTrans.MarkedInvoice); //
Added by Axel V. 20231120
#
# trans.save();
#
# if (trans.ledgerJournalTrans().MarkedInvoice != '0' &&
trans.ledgerJournalTrans().MarkedInvoice != '')
# {
# this.markTransaction(trans.ledgerJournalTrans().RecId);
# }
# }
#}
ENDSOURCE
SOURCE #resetGlobals
#private void resetGlobals()
#{
# redFlagTrans = false;
# issues = conNull();
#}
ENDSOURCE
SOURCE #run
#public void run()
#{
# this.processPendingJournals();
#}
ENDSOURCE
SOURCE #construct
#server static DynamicJournalProcess construct()
#{
# return new DynamicJournalProcess();
#}
ENDSOURCE
SOURCE #main
#static void main(Args args)
#{
# DynamicJournalProcess DynamicJournalProcess;
#
# DynamicJournalProcess = DynamicJournalProcess::construct();
#
# if (DynamicJournalProcess.prompt())
# {
# DynamicJournalProcess.run();
# }
#}
ENDSOURCE
ENDMETHODS
ENDCLASS

***Element: END

You might also like