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