Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Данные = РеквизитФормыВЗначение("Объект"); //Для внешних обработок реквизиты получаем так
СКД = Данные.ПолучитьМакет("Макет");
URLСКД = ПоместитьВоВременноеХранилище(СКД, Новый УникальныйИдентификатор());
Данные.Номенклатура.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСКД));
НастройкиПоУмолчанию = СКД.НастройкиПоУмолчанию;
Данные.Номенклатура.ЗагрузитьНастройки(НастройкиПоУмолчанию);
ЗначениеВРеквизитФормы(Данные, "Объект"); //Для внешних обработок реквизиты сохраняем так
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьТоварыНаСервере()
Данные = РеквизитФормыВЗначение("Объект"); //Для внешних обработок реквизиты получаем так
СКД = Данные.ПолучитьМакет("Макет");
НастройкиКомпоновки = Данные.Номенклатура.ПолучитьНастройки();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макеткомпановки = КомпоновщикМакета.Выполнить(СКД,НастройкиКомпоновки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(Макеткомпановки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ТЗ = Новый ТаблицаЗначений;
ПроцессорВывода.УстановитьОбъект(ТЗ);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
Объект.ТабличнаяЧасть1.Загрузить(ТЗ);
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьТовары(Команда)
ЗаполнитьТоварыНаСервере();
КонецПроцедуры
ПоказатьТабличная часть на форме
По теме из базы знаний
- Как сдать экзамен 1С:Специалист по платформе?
- Как быстро выгрузить / загрузить внешние отчеты и обработки
- Как контролировать качество внешних обработок, отчетов, правил обмена, расширений 1С и поставить это на поток
- Консоль запросов для управляемых форм
- "Чистый код в 1С" или как прокачать свой код? Пошаговая инструкция, часть №1
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) конечно нужно создавать колонки. типы колонок должны совпадать при загрузке из ТЗ. и вроде как вот такое не прокатит "Объект.ТабличнаяЧасть1.Загрузить(ТЗ);", надо будет перебором строк через ЗаполнитьЗначенияСвойств()... а может и прокатит, надо пробовать, что то подзабыл.
Если колонки и их количество стабильно , то проще создать табличную часть у объекта обработки (если это обработка...) , и просто вытащить эту табличную часть на саму форму... При заполнении на сервере этой табличной части - данные появятся в форме.
Объект.ТабличнаяЧасть.Загрузить(ТЗ) прекрасно работает на сервере, и отражается все на форме
Объект.ТабличнаяЧасть.Загрузить(ТЗ) прекрасно работает на сервере, и отражается все на форме
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот