20.04.2010, 17:12 | #1 |
Участник
|
Осторожно, грабли! Конфигуратор продукции
Доброго времени суток, господа.
Может уже кто-то писал, но я не нашел. DAX 2009 EE SP1 RU3. Баг проявился после добавления функционала разноски по профилям учета (как раз таки RU3). В конфигураторе продукции при добавлении в дерево модели (или как его перевели "модельное дерево") узла Спецификация, вылетает ошибка в методе buildFieldsTable формы PBATreeBOM: X++: fieldName = fieldid2name(_tableId,pbaDictFieldGroup.field(counter2)); pbaFieldIdVar = fieldname2id(_tableId,fieldName+'Var'); formDataObject = _datasource.object(pbaDictFieldGroup.field(counter2)); formDataObjectVar = _datasource.object(pbaFieldIdVar); if (_table.(pbaFieldIdVar)) // <<<<<<<< тут трассировка стека { X++: pbaFieldIdVar = fieldname2id(_tableId,fieldName+'Var'); Так, поле InventProfileId_RU превращается в поле InventProfileId_RUvar в то время, как в таблице поле называется InventProfileIdVar_RU. Пока поставил костыль: X++: // SOI --> if (fieldName == "InventProfileId_RU") pbaFieldIdVar = fieldname2id(_tableId,"InventProfileIdVar_RU"); else // SOI <-- pbaFieldIdVar = fieldname2id(_tableId,fieldName+'Var'); Вот такие вот пироги с котятами. Их ешь, а они мяукают. З.Ы. В RU4 не исправлено. Неужели никто не пользуется конфигуратором? О_о
__________________
If it ain't broke, take it apart and find out why (с) |
|
|
За это сообщение автора поблагодарили: Ingar (1), Poleax (1), gl00mie (3), Aleks_K (1). |
21.04.2010, 09:15 | #2 |
Microsoft Dynamics
|
|
|
01.07.2010, 15:35 | #3 |
Модератор
|
Цитата:
X++: void buildFieldsTable(FormDataSource _datasource, Common _table, tableId _tableId) { int counter2; DictFieldGroup pbaDictFieldGroup; FormDataObject formDataObject; FormDataObject formDataObjectVar; fieldId pbaFieldIdVar; FieldName fieldName; ; pbaDictFieldGroup = new DictFieldGroup(_tableId,'AllFields'); for (counter2=1;counter2<=pbaDictFieldGroup.numberOfFields();counter2++) { fieldName = fieldid2name(_tableId,pbaDictFieldGroup.field(counter2)); pbaFieldIdVar = fieldname2id(_tableId,fieldName+'Var'); // <GEEU> if(!pbaFieldIdVar) { fieldName = strpoke(fieldName, 'Var_RU', strscan(fieldName, '_RU', 1, strlen(fieldName))); pbaFieldIdVar = fieldname2id(_tableId,fieldName); } // </GEEU> formDataObject = _datasource.object(pbaDictFieldGroup.field(counter2)); formDataObjectVar = _datasource.object(pbaFieldIdVar); if (_table.(pbaFieldIdVar)) { formDataObject.visible(false); formDataObjectVar.visible(true); } else { formDataObject.visible(true); formDataObjectVar.visible(false); } } }
__________________
This posting is provided "AS IS" with no warranties, and confers no rights. |
|
01.07.2010, 17:43 | #4 |
Модератор
|
А на кой им пользоваться?
1. Он стоит как самолет. 2. Нигде нет не просто нормального, а вообще никакого описания. Хорошо, что он практически не менялся, только ссылки появились на изображение и еще по мелочи. 3. В демо данных умудрились перевести вместе названиями перменных. В итоге - при компиляции моделей, настроенных в демо-примерах возникает ошибка. 4. Эту функциональность практически не тестируют, и поэтому он может довольно жестко стрельнуть. Например, собранная модель будет ругаться например так "initAllocationCostTrans, createMarkupTrans - Таблица не содержит это поле", ну и много чего по-мелочи. При этом я вообще не понимаю, почему данные медоты генерятся в данном классе. С Уважением, Георгий |
|
Теги |
ax2009, баг, конфигуратор продукции, локализация, ошибка |
|
Похожие темы | ||||
Тема | Ответов | |||
Модуль "Конфигуратор продукции" | 17 | |||
Конфигуратор продукции (расчет цены) | 11 | |||
Конфигуратор продукции - номенклатура | 0 | |||
Конфигуратор продукции | 0 | |||
Конфигуратор продукции | 1 |
|