AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 23.09.2022, 09:12   #1  
DaniilT is offline
DaniilT
Участник
 
68 / 12 (1) ++
Join Date: 28.04.2020
Не удается найти уникальную запись Комбинация кодов аналитик, соответствующую введенным значениям.
Добрый день.
Второй день сижу не поиму в чем дело.
Добавил на форму 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 '';

}
Но почему в форме LedgerJournalTransDaily при выборе любого поля и переключения на другое возникает ошибка
Не удается найти уникальную запись Комбинация кодов аналитик, соответствующую введенным значениям.

Подскажите пожалуйста в чем может быть проблема?

Дополню:
В классе Info в методе add поставил точку остановки
в строках вызова вижу что перед этим вызывались системные методы FormSegmentedEntryControl.modified() , FormSegmentedEntryControl.leave()

Last edited by DaniilT; 23.09.2022 at 09:15.
Old 23.09.2022, 11:43   #2  
sukhanchik is offline
sukhanchik
Administrator
sukhanchik's Avatar
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,343 / 3563 (125) ++++++++++
Join Date: 13.06.2004
Location: Москва
А Вы уверены в том, что причина ошибки кроется именно в добавленном Вами дисплей-поле с тем методом, который Вы написали?
Потому что судя по сообщению - система пытается найти запись в dimensionAttributeValueCombination и результат поиска где-то использовать, а использовать не получается из-за этой ошибки.

В Вашем коде формально нет ошибок, но такие вещи обычно делаются стандартными классами, в которых заведом "все затычки" стоят
__________________
Возможно сделать все. Вопрос времени
Old 23.09.2022, 11:55   #3  
smailik is offline
smailik
Участник
smailik's Avatar
 
250 / 70 (3) ++++
Join Date: 10.04.2012
Location: Москва
X++:
select ledgerJournalTrans where ledgerJournalTrans.RecId == this.RecId;
"this" это что за таблица? LedgerJournalTrans?
Зачем её повторно искать?
Вместо
X++:
select dimensionAttributeValueCombination where dimensionAttributeValueCombination.RecId == ledgerJournalTrans.LedgerDimension;
return vendTable::find(dimensionAttributeValueCombination.DisplayValue).VendGroup;
можно использовать
X++:
return VendTable::find(DimensionAttributeValueCombination::getDisplayValue(ledgerJournalTrans.LedgerDimension)).VendGroup;
Чтобы не было столько return лучше создать переменную типа "VendGroupId" и в конце метода её возвращать.
Old 23.09.2022, 11:56   #4  
axm2017 is offline
axm2017
Участник
 
2,066 / 296 (14) ++++++
Join Date: 15.05.2017
FormSegmentedEntryControl?
Вы корректно используете данный control? Он несколько специфичен на сколько помню
Old 23.09.2022, 12:32   #5  
DaniilT is offline
DaniilT
Участник
 
68 / 12 (1) ++
Join Date: 28.04.2020
FormSegmentedEntryControl я не использую. Он вызывается сам.
Old 23.09.2022, 13:06   #6  
sukhanchik is offline
sukhanchik
Administrator
sukhanchik's Avatar
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,343 / 3563 (125) ++++++++++
Join Date: 13.06.2004
Location: Москва
А действия на форме какие при этом делаются пользователем (Вами) ? Раз отрабатывает modified - значит Вы пытаетесь чего-то выбрать на форме. Либо стереть значение
__________________
Возможно сделать все. Вопрос времени
 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Ошибка при трансляции: Не удается возвратить запись DimensionAttributeValue для 005 mnt_dx DAX: Функционал 0 21.05.2014 18:54
Конфигуратор как альтернатива добавлению новых складских аналитик vey DAX: Функционал 20 30.04.2010 09:28
Как для ГК операции в LedgerTrans найти соответствующую операцию в VendTrans? romulis DAX: Программирование 20 29.08.2006 14:10
Ошибка при импорте демоданных (Axapta 3.0 CIS SP1) KocDm DAX: Администрирование 2 11.08.2005 12:04

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 19:46.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.