Доброго времени суток, господа.
Может уже кто-то писал, но я не нашел.
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');
не предполагает наличия в таблице (как минимум)
PBATreeInventDim полей с суффиксом
_RU.
Так, поле
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 не исправлено. Неужели никто не пользуется конфигуратором? О_о