Если кто еще дорабатывает 7.7 хочу поделиться интересным методом передачи данных между не модальными окнами.
Это легко делается открывем другую форму для подбора и обработке выбора в родительской форме:
СпПараматровОбработки=СоздатьОбъект(«СписокЗначений»);
СпПараматровОбработки.ДобавитьЗначение(ТзОтчета ,»ТаблицаЗначений»);
СпПараматровОбработки.ДобавитьЗначение(«ОбработатьТЗ» ,»AnalizTZ_Kommanda»);
ОткрытьПодбор(«Обработка.АнализТЗ»,»Заказы поставщику»,СпПараматровОбработки,1);
Обработка «АнализТЗ» приложена к статье. В обработке из параметров берется обрабатываемая таблица, пользователь галочками отмечает нужные строки и обработка по кнопке «Перенести» выполнят выбор таблицы только с отмеченными строками.
Форма.ВыполнитьВыбор(Тз);
Форма.Закрыть();
В родительской обработке надо обработать выполненный подбор:
Процедура ОбработкаПодбора(Значение) // Предопределенная процедура
ТипЗначенияИзПобора=ТипЗначенияСтр(Значение);
Если ТипЗначенияИзПобора=»ТаблицаЗначений» Тогда
…
КонецЕсли;
КонецПроцедуры
Также можно добавлять строки в еще не записанный документ:
Процедура ВвестиОтменуЗаявок(ТЗ) //+Илья 160806
Перем КОнтПобора;
КОнтекстНовогоДокумента=»»;
ОткрытьФорму(«Документ.ОтменаЗаявок#»,КОнтекстНовогоДокумента,);
КОнтекстНовогоДокумента.ОткрытьПодбор(«Обработка.ПустаяФорма»,, КонтПобора,1);
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()=1 Цикл
КонтПобора.Форма.ВыполнитьВыбор(Тз.Заявка);
КонецЦикла;
КонтПобора.Форма.Закрыть();
КонецПроцедуры
Почти во всех типовых документах есть обработка побора ввиде таблицы -удобно заполнять накладные -пересчеты служебных данных выполняют штатные функции.
примечание: Обработка Пустаяформа все-таки мелькает, чтобы код работал на ней должен быть хотябы один элемент, например кнопка «ОК», модуль формы может быть пустым.
Более оригинальный метод передачи данных между формами: //infostart.ru/public/17048/ и сподвигла поднять эту старую тему.
————————————-
Для 8.2 все гораздо проще, но есть не очевидная вещь как передать в обработку сообщение что документ который она сформировала был проведен (и надо обновить данные формы) без изменений в коде документа:
надо подписаться на событие запись ДокументОбъект:
ДобавитьОбработчик Объект.ПередЗаписью, ЭтаОбработка.ПередЗаписьюДокумента;
пример: //infostart.ru/public/98910/
————————————-
Пример обработки подбора на 8.2:
//infostart.ru/public/102847/





Использование подбора для передачи данных между формами
Перейти к публикации
Эту идею публиковал на Мисте (2007год), ее даже добавляли в книгу знаний, но сейчас там найтине удалось (?)