Цитата:
Сообщение от
Ruff
В порядке страдания ерундой
1. Создаем EDT DimDescription (массив той же размерности, что и Dimension).
...
Угу. Я примерно то же самое предложил бы, ну разве что, без временной таблицы и дисплейный метод на той таблице, где поле Dimension.
X++:
// Метод на той таблице, где поле Dimension
//BP Deviation documented
display DimDescription getDimDescription()
{
DimDescription dimDescription;
int idx;
FieldId dimFieldId;
;
for (idx = 1; idx <= dimof(this.dimDescription); idx++)
{
dimDescription[idx] = Dimensions::find(Dimensions::arrayIdx2Code(idx), this.Dimension[idx]).Description;
}
return dimDescription;
}
Далее создаем группу полей на этой же таблице, добавляем в нее этот дисплейный метод и выводим эту группу полей на форме справа от группы полей с полем Dimension.
Другой вариант - это создать поле на основе DimDescription в той же таблице, где и Dimension. Собственно, стандартный способ решения, когда требуется код и его расшифровка. Код клиента - Название клиента, Код номенклатуры - Название номенклатуры и т.д., и т.п.
Ну, а то, что после изменения кода надо менять (обновлять) расшифровку, так опять же, стандартное поведение. Для Dimension можно "не мелочиться" и обновлять все аналитики при изменении одного. Тогда не теряется универсальность.