|
![]() |
#1 |
Участник
|
Вывод какой?
Разрешить обратно для наших широт. Мы разрешали. Мне кл-кл транзакции крайне нужны - на них все и живет, исторически и логически тоже. sukhanchik, у тебя в "новой" АХ как у самого сейчас? |
|
![]() |
#2 |
Участник
|
Да, разлепим пельмени обратно... Транзитный счет + два ваучера развалит наши отчеты, которые мы уже приспособили под операции клиент-клиент на одном ваучере, а стандартной выверкой пока не пользуемся.
Занятно, аналогичная проверка для операций поставщик-поставщик изменена в локализации - проверка из международной закомментирована, вместо нее написана другая: X++: ledgerJournalTrans.selectLocked(false); select count(RecId) from ledgerJournalTrans index hint NumVoucherIdx where ledgerJournalTrans.Voucher == _ledgerJournalTrans.Voucher && ledgerJournalTrans.JournalNum == _ledgerJournalTrans.JournalNum && ledgerJournalTrans.AccountType == LedgerJournalACType::Vend; if (ledgerJournalTrans.RecId > 1) { ok = checkFailed("@SYS29116"); allok = false; } } /* this code doesn't work correctly for SAD documents // // When "Vendor" type is used on any Ledger Journal Transaction it can only // exist once per "Voucher" series . // // Since a "Vendor" type can be applied to either the primary or offset side // of a transaction. This is both a qualifying factor and additional data to be // validated. Although this only applies to "Daily" (GL) based journals it // should not affect this validation. // if (_ledgerJournalTrans.AccountType == LedgerJournalACType::Vend || (_ledgerJournalTrans.OffsetAccount && _ledgerJournalTrans.OffsetAccountType == LedgerJournalACType::Vend)) { ledgerJournalTrans.selectLocked(false); select count(RecId) from ledgerJournalTrans index hint NumVoucherIdx where ledgerJournalTrans.Voucher == _ledgerJournalTrans.Voucher && ledgerJournalTrans.JournalNum == _ledgerJournalTrans.JournalNum && (ledgerJournalTrans.AccountType == LedgerJournalACType::Vend || (ledgerJournalTrans.OffsetAccount && ledgerJournalTrans.OffsetAccountType == LedgerJournalACType::Vend)); if (ledgerJournalTrans.RecId > 1) { ok = checkFailed("@SYS29116"); allok = false; } } */ Последний раз редактировалось vanokh; 02.07.2009 в 03:36. |
|
![]() |
#3 |
Administrator
|
Ну как - 2 клиента разных - пожалуйста. А вот 2 одинаковых даже - с разными профилями разноски (или договорами) - фиг.
Вообще-то сей код обитает в \Classes\LedgerJournalTransUpdateCust\checkVoucher для клиентов и \Classes\LedgerJournalTransUpdateVend\checkVoucher для поставщиков. У нас штатный (неизмененный) код в 4.0 EE SP2. Спокойно дает сделать разноску (и такие взаимозачеты у нас есть).
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#4 |
Участник
|
Цитата:
Цитата:
Сообщение от sukhanchik
![]() Ну как - 2 клиента разных - пожалуйста. А вот 2 одинаковых даже - с разными профилями разноски (или договорами) - фиг.
Вообще-то сей код обитает в \Classes\LedgerJournalTransUpdateCust\checkVoucher для клиентов и \Classes\LedgerJournalTransUpdateVend\checkVoucher для поставщиков. У нас штатный (неизмененный) код в 4.0 EE SP2. Спокойно дает сделать разноску (и такие взаимозачеты у нас есть). У нас используются и операции с одинаковым клиентом между разными договорами (многострочная). |
|
![]() |
#5 |
Модератор
|
В KB968331 немного "ослабили поводок" (для клиентов и поставщиков)
\Classes\LedgerJournalTransUpdateCust\checkVoucher X++: boolean checkVoucher(LedgerJournalTrans _ledgerJournalTrans) { boolean ok = true; LedgerJournalTrans ledgerJournalTrans; if (_ledgerJournalTrans.Invoice) { // The following rule should be applied only when the invoice number is filled in. // When "Customer" type is used on any Ledger Journal Transaction it can only // exist once per "Voucher" series . // // Since a "Customer" type can be applied to either the primary or offset side // of a transaction. This is both a qualifying factor and additional data to be // validated. Although this only applies to "Daily" (GL) based journals it // should not affect this validation. // if (_ledgerJournalTrans.AccountType == LedgerJournalACType::Cust || (_ledgerJournalTrans.OffsetAccount && _ledgerJournalTrans.OffsetAccountType == LedgerJournalACType::Cust)) { ledgerJournalTrans.selectLocked(false); select count(RecId) from ledgerJournalTrans index hint NumVoucherIdx where ledgerJournalTrans.Voucher == _ledgerJournalTrans.Voucher && ledgerJournalTrans.JournalNum == _ledgerJournalTrans.JournalNum && ledgerJournalTrans.TransactionType != LedgerTransType::Fee && (ledgerJournalTrans.AccountType == LedgerJournalACType::Cust || (ledgerJournalTrans.OffsetAccount && ledgerJournalTrans.OffsetAccountType == LedgerJournalACType::Cust)); if (ledgerJournalTrans.RecId > 1) { ok = checkFailed("@SYP809"); } } } return ok; }
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: vanokh (1). |
![]() |
#6 |
Участник
|
|
|
![]() |
#7 |
Модератор
|
Цитата:
Сообщение от vanokh
![]() Хм, в описании этого хотфикса ничего про такие изменения не сказано... Может быть имелся в виду вот этот - KB945488?
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#8 |
Участник
|
|
|
Теги |
ax4.0, hotfix, sp2, журнал гк |
|
|