The AOT element Data Entity. It is the only export method I was aware of. docs.microsoft.com/.../data-entities
Thanks in any case. It'll be much appreciated if you can still answer my last question. But you helped more than enough.
Regards
The AOT element Data Entity. It is the only export method I was aware of. docs.microsoft.com/.../data-entities
Thanks in any case. It'll be much appreciated if you can still answer my last question. But you helped more than enough.
Regards
Oh, the last question!! Yes, data Entity is even more generic. So yes. That will totally work. (I confused the word Entity with DMF entities)
Hi Nikolaos,
thank you for your reply, i have creted the cust payment journal header is showing in form but form not showing i have checked the table realetions also in table level everything is ok eventhough not showing in line level.
please see the screen shots,
Account Receivables-> payment journal
payment journal header
payment journal line
static void CustPaymJournalCreate(Args _args)
{
CustTable custTable;
BankAccountTable bankAccountTable;
Ledgerjournalname ledgerjournalname;
LedgerjournalTable ledgerjournalTable;
LedgerjournalTrans ledgerjournalTrans;
LedgerjournalCheckPost ledgerjournalCheckPost;
DimensionAttributeValueCombination dimensionAttribute;
NumberSeq numberSeq;
CompanyBankAccountId bankAccountId;
DimensionDisplayValue ledgerDimension;
AccountNum custAccountNum;
LedgerJournalACTypeAll ledgerJournalACTypeAll;
LedgerTransType ledgerTransType;
LedgerJournalACType ledgerJournalACType;
bankAccountId = "CITI-CHN";
custAccountNum = "CA005";
// create journal
select ledgerjournalname
where ledgerjournalname.JournalName == "CRJ";
ttsBegin;
ledgerjournalTable.JournalName = ledgerjournalname.JournalName;
ledgerjournalTable.initFromLedgerJournalName();
ledgerjournalTable.JournalNum = JournalTableData::newTable(ledgerjournalTable).nextJournalId();
ledgerjournalTable.insert();
ttsCommit;
While select * from ledgerjournalTable
join ledgerjournalTrans
where ledgerjournalTrans.JournalNum == ledgerjournalTable.JournalNum
// create journal Lines
ledgerjournalTrans.initValue();
ledgerjournalTrans.JournalNum = ledgerjournalTable.JournalNum;
ledgerjournalTrans.initFromLedgerJournalTable_LT(ledgerjournalTable);
ttsBegin;
ledgerjournalTrans.JournalNum = ledgerjournalTable.JournalNum;
numberSeq = NumberSeq::newGetVoucherFromId((ledgerjournalname.NumberSequenceTable));
ledgerjournalTrans.Voucher = numberSeq.voucher();
ledgerjournalTrans.CurrencyCode = "INR";
ledgerjournalTrans.ExchRate = Currency::exchRate(ledgerjournalTrans.CurrencyCode);
ledgerjournalTrans.AccountType = LedgerJournalACType::Cust;
if(LedgerJournalACType::Cust == ledgerJournalTrans.AccountType)
{
select RecId from dimensionAttribute
where dimensionAttribute.DisplayValue == custAccountNum
&& dimensionAttribute.LedgerDimensionType == LedgerDimensionType::Account;
if(dimensionAttribute.RecId != 0)
{
ledgerjournalTrans.LedgerDimension = dimensionAttribute.RecId;
}
else
{
throw Error("Not available");
}
}
ledgerjournalTrans.Txt = 'Customer payment journal demo';
ledgerjournalTrans.AmountCurCredit = 2000;
ledgerjournalTrans.TransDate = systemDateGet();
ledgerjournalTrans.MarkedInvoice = 'IND-DN-16-17-10026';
ledgerjournalTrans.OffsetAccountType = LedgerJournalACType::Bank;
if(LedgerJournalACType::Bank == ledgerjournalTrans.OffsetAccountType)
{
select RecId from dimensionAttribute
where dimensionAttribute.DisplayValue == bankAccountId
&& dimensionAttribute.LedgerDimensionType == LedgerDimensionType::Account;
if(dimensionAttribute.RecId)
{
ledgerjournalTrans.OffsetLedgerDimension = dimensionAttribute.RecId;
}
else
{
throw Error("Not available");
}
}
ledgerjournalTrans.insert();
ttsCommit;
}
above code only im using and i have checked the table releations between header and line table please see the below screen shots,
please give any solution to get the data line as well .
Thanks & Regards
Ashwini.E
In your code, you are trying to select all LedgerJournalTrans records that are related to the LedgerJournalTable that you just created. But there are no such records at that point. So your code execution never goes to the place where you are creating the line. If you debug your code (highly recommended when you want to troubleshoot issues), you will notice that yourself.
Just remove this code and you'll be fine:
While select * from ledgerjournalTable join ledgerjournalTrans where ledgerjournalTrans.JournalNum == ledgerjournalTable.JournalNum
Also, you don't have to use a transaction (ttsbegin/ttscommi) for insert operations. It's required only for update and delete operations.
You can see that with the Security development tool: docs.microsoft.com/.../overview-security-development-tool-user-interface
This is a tool that you have to install separately, it's not part of the standard installation package. The installation package for Security development tool can be found from Lifecycle Services -> Downloadable tools section.
Hi Yuji!
Check this: Microsoft Dynamics AX 2012 Security Roles & Licensing Whitepaper
Hi,
In AX 2012, there are different type of user licenses: Enterprise, functional etc. Is there any way I can find out what the license access type (Enterprise or functional) of a specific security role?
Thanks,
Hi
i have removed the code which your mentioned above now also i m facing same issue i did debug and checked the line values are getting and store in table also but not showing in for, please see the below code which i changed now,
static void CustPaymJournalCreate(Args _args)
{
CustTable custTable;
BankAccountTable bankAccountTable;
Ledgerjournalname ledgerjournalname;
LedgerjournalTable ledgerjournalTable;
LedgerjournalTrans ledgerjournalTrans;
LedgerjournalCheckPost ledgerjournalCheckPost;
DimensionAttributeValueCombination dimensionAttribute;
NumberSeq numberSeq;
CompanyBankAccountId bankAccountId;
DimensionDisplayValue ledgerDimension;
AccountNum custAccountNum;
LedgerJournalACTypeAll ledgerJournalACTypeAll;
LedgerTransType ledgerTransType;
LedgerJournalACType ledgerJournalACType;
bankAccountId = "CITI-CHN";
custAccountNum = "CA005";
//select firstOnly ledgerjournalname;
//select firstOnly custTable
//where custTable.AccountNum like 'CA006';
//select firstOnly custTableBank
//where custTable.AccountNum like 'Yes-INR';
// create journal
select ledgerjournalname
where ledgerjournalname.JournalName == "CRJ";
ledgerjournalTable.JournalName = ledgerjournalname.JournalName;
ledgerjournalTable.initFromLedgerJournalName();
ledgerjournalTable.JournalNum = JournalTableData::newTable(ledgerjournalTable).nextJournalId();
ledgerjournalTable.insert();
LEDGERJOURNALTRANS.JOURNALNUM = LEDGERJOURNALTABLE.JOURNALNUM;
NUMBERSEQ = NUMBERSEQ::NEWGETVOUCHERFROMID((LEDGERJOURNALNAME.NUMBERSEQUENCETABLE));
LEDGERJOURNALTRANS.VOUCHER = NUMBERSEQ.VOUCHER();
ledgerjournalTrans.CurrencyCode = "INR";
ledgerjournalTrans.ExchRate = Currency::exchRate(ledgerjournalTrans.CurrencyCode);
ledgerjournalTrans.AccountType = LedgerJournalACType::Cust;
if(LedgerJournalACType::Cust == ledgerJournalTrans.AccountType)
{
select RecId from dimensionAttribute
where dimensionAttribute.DisplayValue == custAccountNum
&& dimensionAttribute.LedgerDimensionType == LedgerDimensionType::Account;
if(dimensionAttribute.RecId != 0)
{
ledgerjournalTrans.LedgerDimension = dimensionAttribute.RecId;
}
else
{
throw Error("Not available");
}
}
ledgerjournalTrans.Txt = 'Customer payment journal demo';
ledgerjournalTrans.AmountCurCredit = 2000;
ledgerjournalTrans.TransDate = systemDateGet();
ledgerjournalTrans.MarkedInvoice = 'IND-DN-16-17-10026';
ledgerjournalTrans.OffsetAccountType = LedgerJournalACType::Bank;
if(LedgerJournalACType::Bank == ledgerjournalTrans.OffsetAccountType)
{
select RecId from dimensionAttribute
where dimensionAttribute.DisplayValue == bankAccountId
&& dimensionAttribute.LedgerDimensionType == LedgerDimensionType::Account;
if(dimensionAttribute.RecId)
{
ledgerjournalTrans.OffsetLedgerDimension = dimensionAttribute.RecId;
}
else
{
throw Error("Not available");
}
}
ledgerjournalTrans.insert();
}
please the below screen shots
line table withe data for HTL - 000361
form
Please give any solutions .
Thank you
The easiest way to do it, is by configuring the Job to run everyday, and in the run() execute the actual Business logic only when the current date equals endofMth()...
Hi Martin!
Check the link: https://community.dynamics.com/ax/f/33/t/242413
Dear Friends,
I want to run a batch process on the last day of every month. Irrespective of any month it should run at the last day of the month.
How to set up the recurrence. It is already available? or if the customization is needed how to do it?
Any help is much appreciated.
Thanks in advance.
Martin. A
Try to create one LedgerJournalTrans line for this journal in the user interface. Then compare it in the table browser to the one that you created in x++. Most likely you see that some info is missing from the one that you created with x++. Then fix your code to produce similar lines than the one that was created in UI.
Hi John,
We did this integration for a client. There are a few challenges but it seems to be working well for the client so far.
Please reach out to me at +1630-512-1049 if you have questions.
Thanks,
Kaushik
Has anyone done a previous implementation on the burn and nesting process in AX2012 and sigma nest integration.
If yes, how can multiple burns(profiles) be grouped into one single nest?
Regards,
Kauhsik
Turns out the web.config file on our 2nd EP site was overidden and ALL references to microsoft dynamics were removed.
Thankfully we had a backup from a few days prior and everything worked once we put it in.
The video here turned me on to this solution.
After performing a code deployment (modelstore import), we attempted to update our 2 EP Websites with:
axupdateportal -updateall -websiteurl https://mySite.mydomain.com/Sites/DynamicsAX
With each one having it's own 'mysite' address.
1 of our sites worked perfectly, however, the 2nd site wouldn't allow axupdateportal to run due to this error:
The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:10:00'. ---> The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:10:00'. ---> The read operation failed, see inner exception. ---> The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:10:00'. ---> An existing connection was forcibly closed by the remote host
Now this site is unique in that it doesn't use Windows Authentication and instead uses Claims Based. However, we've never seen this error before. When we navigate to the site we see:
At the very bottom when you show the detailed compiler output, I think that it lists all the 'Proxies' from that proxies folder with the same error:
error CS0234: The Type or namespace name 'AX' does not exist in the namespace 'Microsoft.Dynamics' (are you missing an assembly reference?)
It seems like we need to regenerate our proxies, however, we can't due to the socket connection error above.
Hi,
Can this be caused by the role that is assigned to your user and insufficient user rights that you might have?
Does the error only show a single quotation mark or some additional text?
Best regards,
Ludwig
Un-check "require direct invoicing" from Purchase agreement classification because this requires the license key to be enabled for Public sector. Otherwise release order is grayed out.
Hello Semex,
AX2012 has the so-called inventory value report that provides you a listing of all items and their values that you have on stock.
Have you checked this report?
Best regards,
Ludwig