Имя: Пароль:
1C
1С v8
При просвоении значения элементу формы обрубает до 10-ти символов
0 Koliaff
 
27.07.12
12:26
Делаю обработку под УТ 11 на управляемых формах. В модуле формы пишу

&НаСервере
Функция ЗаполнитьРевизиты()

// Создаю структуру с ключами как имя реквизитов на форме
МассивРеквизитов =    ПолучитьРеквизиты("Объект");
СтруктураРеквизитов = Новый Структура;
Для каждого ссс из МассивРеквизитов Цикл
   СтруктураРеквизитов.Вставить(ссс.Имя,ссс.Имя);
КонецЦикла;    

// Здесь заполняю структуру (функция Конструктор находится в модуле объекта)
СтруктураДанных = РеквизитФормыВЗначение("Объект").Конструктор(СтруктураРеквизитов);

// Пытаюсь реквизитам на форме присвоить одноименные значения из структуры.
МассивРеквизитов =    ПолучитьРеквизиты("Объект");
Для Каждого Элемент из МассивРеквизитов Цикл
// После присвоения в реквизит на форме попадает строка обрезанная до 10-ти символов
Объект[Элемент.Имя] = СтруктураДанных[Элемент.Имя];
КонецЦикла;
КонецФункции

===================================
Тип у реквизита, значение у которого обрезается до 10-ти символов, составной СправочникСсылка.Организации, СправочникСсылка.Контрагенты, Строка. Тип значения, которое хочу присовить - строка.
Например
СтруктураДанных[Элемент.Имя] = "Вася Пупкин"
Объект[Элемент.Имя] после присовения остается "Вася Пупки"

===================================

Подскажите пожалуйста где ошибка !
1 Ненавижу 1С
 
гуру
27.07.12
12:27
ну и посмотри какой длины эта строка?
2 Koliaff
 
27.07.12
12:29
Длина строки после присвоения - 10 символов.
Реквизит в который пытаюсь писать составного типа СправочникСсылка.Организации, СправочникСсылка.Контрагенты, Строка.

Я бы понял если бы просто тип забыл указать и по умолчанию он остался строкой с длинной 10. А так ....
3 Koliaff
 
27.07.12
12:45
Сейчас для пробы попробовал вот такую строку :
Объект[Элемент.Имя]="ПРОВЕРКА ПРИСВОЕНИЯ";
т.е. всем реквизитам на форме присвоить одну и ту же строку.
Так вот, всем реквизиты у которых тип простой - "Строка" присвоение прошло нормально, т.е. текст в них появился "ПРОВЕРКА ПРИСВОЕНИЯ". А те, которые составного типа, обрезали до 10 символов строку и текст в них стал "ПРОВЕРКА П". Может перед присвоением как-то надо указать тип составных реквизитов как обычная строка ? Как это сделать ?
4 hhhh
 
27.07.12
12:47
(3) ну где реквизит составного типа, поставьте строка длины например 50. Зачем вы 10 поставили?
5 Koliaff
 
27.07.12
12:49
Мля, так все просто оказывается. Вопрос закрыт ! (hhhh) Спасибо огромное ! Затупил что-то я с утра уже )
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.