Делаю обработку под УТ 11 на управляемых формах. В модуле формы пишу
&НаСервере
Функция ЗаполнитьРевизиты()
// Создаю структуру с ключами как имя реквизитов на форме
МассивРеквизитов = ПолучитьРеквизиты("Объект");
СтруктураРеквизитов = Новый Структура;
Для каждого ссс из МассивРеквизитов Цикл
СтруктураРеквизитов.Вставить(ссс.Имя,ссс.Имя);
КонецЦикла;
// Здесь заполняю структуру (функция Конструктор находится в модуле объекта)
СтруктураДанных = РеквизитФормыВЗначение("Объект").Конструктор(СтруктураРеквизитов);
// Пытаюсь реквизитам на форме присвоить одноименные значения из структуры.
МассивРеквизитов = ПолучитьРеквизиты("Объект");
Для Каждого Элемент из МассивРеквизитов Цикл
// После присвоения в реквизит на форме попадает строка обрезанная до 10-ти символов
Объект[Элемент.Имя] = СтруктураДанных[Элемент.Имя];
КонецЦикла;
КонецФункции
===================================
Тип у реквизита, значение у которого обрезается до 10-ти символов, составной СправочникСсылка.Организации, СправочникСсылка.Контрагенты, Строка. Тип значения, которое хочу присовить - строка.
Например
СтруктураДанных[Элемент.Имя] = "Вася Пупкин"
Объект[Элемент.Имя] после присовения остается "Вася Пупки"
Длина строки после присвоения - 10 символов.
Реквизит в который пытаюсь писать составного типа СправочникСсылка.Организации, СправочникСсылка.Контрагенты, Строка.
Я бы понял если бы просто тип забыл указать и по умолчанию он остался строкой с длинной 10. А так ....
Сейчас для пробы попробовал вот такую строку :
Объект[Элемент.Имя]="ПРОВЕРКА ПРИСВОЕНИЯ";
т.е. всем реквизитам на форме присвоить одну и ту же строку.
Так вот, всем реквизиты у которых тип простой - "Строка" присвоение прошло нормально, т.е. текст в них появился "ПРОВЕРКА ПРИСВОЕНИЯ". А те, которые составного типа, обрезали до 10 символов строку и текст в них стал "ПРОВЕРКА П". Может перед присвоением как-то надо указать тип составных реквизитов как обычная строка ? Как это сделать ?