|
|
#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). | |
|
|
#2 |
|
Microsoft Dynamics
|
|
|
|
|
|
#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. |
|
|
|
|
#4 |
|
Модератор
|
А на кой им пользоваться?
1. Он стоит как самолет. 2. Нигде нет не просто нормального, а вообще никакого описания. Хорошо, что он практически не менялся, только ссылки появились на изображение и еще по мелочи. 3. В демо данных умудрились перевести вместе названиями перменных. В итоге - при компиляции моделей, настроенных в демо-примерах возникает ошибка. 4. Эту функциональность практически не тестируют, и поэтому он может довольно жестко стрельнуть. Например, собранная модель будет ругаться например так "initAllocationCostTrans, createMarkupTrans - Таблица не содержит это поле", ну и много чего по-мелочи. При этом я вообще не понимаю, почему данные медоты генерятся в данном классе. С Уважением, Георгий |
|
|
| Теги |
| ax2009, баг, конфигуратор продукции, локализация, ошибка |
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Модуль "Конфигуратор продукции" | 17 | |||
| Конфигуратор продукции (расчет цены) | 11 | |||
| Конфигуратор продукции - номенклатура | 0 | |||
| Конфигуратор продукции | 0 | |||
| Конфигуратор продукции | 1 | |||
|