23.09.2022, 09:12 | #1 |
Участник
|
Не удается найти уникальную запись Комбинация кодов аналитик, соответствующую введенным значениям.
Добрый день.
Второй день сижу не поиму в чем дело. Добавил на форму LedgerJournalTransDaily два поля одно дисплейное, другое обычное. Дисплейное поле "Группа" добавил в таблице LedgerJournalTrans. Вот его код: X++: display VendGroupId display_Group() { LedgerJournalTrans ledgerJournalTrans; CustTable custTable; VendTable vendTable; DimensionAttributeValueCombination dimensionAttributeValueCombination; select ledgerJournalTrans where ledgerJournalTrans.RecId == this.RecId; if (!ledgerJournalTrans) { return ''; } if (ledgerJournalTrans.AccountType == LedgerJournalACType::Cust) { select dimensionAttributeValueCombination where dimensionAttributeValueCombination.RecId == ledgerJournalTrans.LedgerDimension; return CustTable::find(dimensionAttributeValueCombination.DisplayValue).CustGroup; } else if (ledgerJournalTrans.AccountType == LedgerJournalACType::Vend) { select dimensionAttributeValueCombination where dimensionAttributeValueCombination.RecId == ledgerJournalTrans.LedgerDimension; return vendTable::find(dimensionAttributeValueCombination.DisplayValue).VendGroup; } else return ''; } Не удается найти уникальную запись Комбинация кодов аналитик, соответствующую введенным значениям. Подскажите пожалуйста в чем может быть проблема? Дополню: В классе Info в методе add поставил точку остановки в строках вызова вижу что перед этим вызывались системные методы FormSegmentedEntryControl.modified() , FormSegmentedEntryControl.leave() Последний раз редактировалось DaniilT; 23.09.2022 в 09:15. |
|
23.09.2022, 11:43 | #2 |
Administrator
|
А Вы уверены в том, что причина ошибки кроется именно в добавленном Вами дисплей-поле с тем методом, который Вы написали?
Потому что судя по сообщению - система пытается найти запись в dimensionAttributeValueCombination и результат поиска где-то использовать, а использовать не получается из-за этой ошибки. В Вашем коде формально нет ошибок, но такие вещи обычно делаются стандартными классами, в которых заведом "все затычки" стоят
__________________
Возможно сделать все. Вопрос времени |
|
23.09.2022, 11:55 | #3 |
Участник
|
X++: select ledgerJournalTrans where ledgerJournalTrans.RecId == this.RecId; Зачем её повторно искать? Вместо X++: select dimensionAttributeValueCombination where dimensionAttributeValueCombination.RecId == ledgerJournalTrans.LedgerDimension; return vendTable::find(dimensionAttributeValueCombination.DisplayValue).VendGroup; X++: return VendTable::find(DimensionAttributeValueCombination::getDisplayValue(ledgerJournalTrans.LedgerDimension)).VendGroup; |
|
23.09.2022, 11:56 | #4 |
Участник
|
FormSegmentedEntryControl?
Вы корректно используете данный control? Он несколько специфичен на сколько помню |
|
23.09.2022, 12:32 | #5 |
Участник
|
FormSegmentedEntryControl я не использую. Он вызывается сам.
|
|
23.09.2022, 13:06 | #6 |
Administrator
|
А действия на форме какие при этом делаются пользователем (Вами) ? Раз отрабатывает modified - значит Вы пытаетесь чего-то выбрать на форме. Либо стереть значение
__________________
Возможно сделать все. Вопрос времени |
|
|
|