0
selvador
06.05.14
✎
09:44
|
в ДанныеФормыКоллекция пытаюсь загрузить ТаблицуЗначений, все по СП:
ДанныеФормыКоллекция (FormDataCollection)
Загрузить (Load)
Синтаксис:
Загрузить(<Таблица>)
Параметры:
<Таблица> (необязательный)
Тип: ТаблицаЗначений.
Таблица значений, откуда загружается табличная часть.
Описание:
Загружает данные коллекции из таблицы значений.
Все элементы коллекции будут удалены.
В коллекцию будут добавлены строки из таблицы значений и заполнены значениями в совпадающих по идентификаторам колонках.
Доступность:
Сервер.
Выдает ошибку:
"Нельзя изменять поле, содержащее объект данных формы".
|
|
2
selvador
06.05.14
✎
09:58
|
Создаю на основании документ из модуля формыСпика.Все на управляемых формах.
Сначала создаю стурктуру документа на основании которого будет создоваться новый док. в общем модуле.
Функция СозданиеСтруктурыДляФормы(Документ) Экспорт
_структура_шапки = Новый Структура();
Для Каждого _реквизит Из Документ.Метаданные().Реквизиты Цикл
_структура_шапки.Вставить(_реквизит.Имя, Документ[_реквизит.Имя]);
КонецЦикла;
_структура_табличной_части_документа = Новый Структура;
Для Каждого _табличная_часть из Документ.Метаданные().ТабличныеЧасти Цикл
_структура_табличной_части_документа.Вставить(_табличная_часть.Имя, Документ[_табличная_часть.Имя].Выгрузить());
КонецЦикла;
_структура_документа = Новый Структура("_структура_шапки, _структура_табличной_части_документа " , _структура_шапки, _структура_табличной_части_документа);
Возврат _структура_документа;
КонецФункции
Получившуюся структуру отправля. на клиент в модуле формесписка
Процедура СоздатьНаОснованииГотоваяПродукция(Команда)
_структура = ДополнительныеФункцииНаСервере.СозданиеСтруктурыДляФормы(Элементы.Список.ТекущаяСтрока);
_форма = ПолучитьФорму("Документ.ГотоваяПродукция.Форма.ФормаДокумента");
ЗаполнитьЗначенияСвойств(_форма.Объект, _структура._структура_шапки);
Для Каждого _ключ_и_значение Из _структура._структура_табличной_части_документа Цикл
ЗагрузкаТаблицыЗначений(_форма.Объект[_ключ_и_значение.ключ], _ключ_и_значение.Значение, _форма.Объект);
КонецЦикла;
_форма.Открыть();
КонецПроцедуры
а так как Доступность загрузки Тз в колекцию можно только на сервере, то приходится загружать на сервере
&НаСервере
Процедура ЗагрузкаТаблицыЗначений(ТабличнаяЧасть, ТаблицаЗначений, ФормаОбъект)
ТабличнаяЧасть.Загрузить(ТаблицаЗначений);
КонецПроцедуры
|
|