Столкнулся со следующей ошибкой:
При добавлении в "серверный" RunBase-класс многомерного поля (например, Dimension) методом dialog.addField() и последующим выполнением runBaseClass.prompt(), возникает ошибка в DialogField.value() в строке:
X++:
dictType.setValue(Cur);
Ошибка связана с различными размерностями типа в dictType и переменной Cur, инициализируемой в данном случае в dialogField.init() в секции:
X++:
if (dialog.isOnServer())
{
switch (baseType)
{
case Types::String:
case Types::VarString:
value = [''];
break;
case Types::Integer:
case Types::Real:
case Types::Enum:
case Types::Date:
case Types::DateTime:
case Types::Int64:
value = [0];
break;
Можно исправить DialogField.value() так:
X++:
// -->
if (dimOf(Cur) == arraysize)
dictType.setValue(Cur);
// <--
Либо, в подобных ситуациях, пользоваться методом dialog.addFieldValue() или принудительно инициализировать значение методом fieldValue.value(_dimValue_).