将供应商名称作为 LedgerTransAccount 表单中的一列
Bring Vendor Name as a column in LedgerTransAccount form
我正在尝试在 TransAccountForm 的每一行中添加供应商名称。
我写了一小段代码,当 LedgerJournalTrans 的 LedgerDimension 可用时获取供应商名称:
static void GetVendorName(Args _args)
{
CustAccount custAccount;
VendTable vendTable;
LedgerJournalTrans ledgerJournalTrans;
while select ledgerJournalTrans
{
if (ledgerJournalTrans.AccountType == LedgerJournalACType::Vend)
{
custAccount = DimensionStorage::ledgerDimension2AccountNum(LedgerJournalTrans.LedgerDimension);
select firstOnly vendTable
where vendTable.AccountNum == custAccount;
info(strFmt("Vendor Name: %1, Voucher: %2", DirPartyTable::getName(vendTable.Party), ledgerJournalTrans.Voucher));
}
}
}
但是我怎样才能得到 运行 这段代码,以便在新列中添加供应商名称?
感谢 Jan B. Kjeldsen 我找到了这个解决方案:
LedgerTransAccount 中的一个数据源是 GeneralJournalEntry,我在其上添加了显示方法。
在 SubLedgerVoucher 的帮助下,我能够从 LedgerJournalTrans 获得一行。
public display Name VendorName()
{
Name ret;
LedgerJournalTrans ledgerJournalTrans;
select firstFast firstOnly ledgerJournalTrans
where ledgerJournalTrans.Voucher == this.SubledgerVoucher &&
ledgerJournalTrans.TransDate == this.AccountingDate;
ret = ledgerJournalTrans.AccountType == LedgerJournalACType::Vend ?
vendTable::find(DimensionStorage::ledgerDimension2AccountNum
(ledgerJournalTrans.LedgerDimension)).name() : '';
return ret;
}
在此之后,我只需将此方法拖放到表单的网格上即可。
可以在ledgerJournalTrans
中添加显示方式 table:
[SysClientCacheDataMethodAttribute(true)]
display VendName vendName()
{
return this.AccountType == LedgerJournalACType::Vend ? vendTable::find(DimensionStorage::ledgerDimension2AccountNum(this.LedgerDimension)).name() : '';
}
一行。
我正在尝试在 TransAccountForm 的每一行中添加供应商名称。
我写了一小段代码,当 LedgerJournalTrans 的 LedgerDimension 可用时获取供应商名称:
static void GetVendorName(Args _args)
{
CustAccount custAccount;
VendTable vendTable;
LedgerJournalTrans ledgerJournalTrans;
while select ledgerJournalTrans
{
if (ledgerJournalTrans.AccountType == LedgerJournalACType::Vend)
{
custAccount = DimensionStorage::ledgerDimension2AccountNum(LedgerJournalTrans.LedgerDimension);
select firstOnly vendTable
where vendTable.AccountNum == custAccount;
info(strFmt("Vendor Name: %1, Voucher: %2", DirPartyTable::getName(vendTable.Party), ledgerJournalTrans.Voucher));
}
}
}
但是我怎样才能得到 运行 这段代码,以便在新列中添加供应商名称?
感谢 Jan B. Kjeldsen 我找到了这个解决方案:
LedgerTransAccount 中的一个数据源是 GeneralJournalEntry,我在其上添加了显示方法。 在 SubLedgerVoucher 的帮助下,我能够从 LedgerJournalTrans 获得一行。
public display Name VendorName()
{
Name ret;
LedgerJournalTrans ledgerJournalTrans;
select firstFast firstOnly ledgerJournalTrans
where ledgerJournalTrans.Voucher == this.SubledgerVoucher &&
ledgerJournalTrans.TransDate == this.AccountingDate;
ret = ledgerJournalTrans.AccountType == LedgerJournalACType::Vend ?
vendTable::find(DimensionStorage::ledgerDimension2AccountNum
(ledgerJournalTrans.LedgerDimension)).name() : '';
return ret;
}
在此之后,我只需将此方法拖放到表单的网格上即可。
可以在ledgerJournalTrans
中添加显示方式 table:
[SysClientCacheDataMethodAttribute(true)]
display VendName vendName()
{
return this.AccountType == LedgerJournalACType::Vend ? vendTable::find(DimensionStorage::ledgerDimension2AccountNum(this.LedgerDimension)).name() : '';
}
一行。