В отличии от семерочных типовых конфигураций в восьмерочных появилась возможность подключать внешние обработки для заполнения табличных частей документов и справочников.
Статья является продолжением цикла статей и разработок:
Внешние печатные формы в восьмерке
http://infostart.ru/blogs/157/
Обработка для тестирования внешних печатных форм в восьмерке
http://infostart.ru/projects/833/
Использование встроенного почтового клиента -
http://infostart.ru/blogs/161/
Документ с печатью и подписью -
http://infostart.ru/blogs/162/
Внешние печатные формы в восьмерке II -
http://infostart.ru/blogs/324/
Заполнение табличных частей документов в восьмерке (внешние обработки)
http://infostart.ru/blogs/345/
Обработка для тестирования внешних обработок заполнения табличных частей
http://infostart.ru/projects/1749/
Использование свойств объектов при доработке типовых конфигураций
http://infostart.ru/blogs/692/
Примеры обработок:
Закрытие регистров накопления (обработка заполнения табличных частей)
http://infostart.ru/projects/3280/
Объединение одинаковых строк табличной части документа
http://infostart.ru/projects/4355/
Требования к внешней обработке достаточно просты. В модуле обработки должна быть процедура Инициализировать() с тремя параметрами и ключевым словом «Экспорт». Например, для заполнения табличной части документа номенклатуры из определенной группы достаточно написать процедуру:
Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПоле) Экспорт;
Форма = Справочники.Номенклатура.ПолучитьФормуВыбораГруппы();
Группа = Форма.ОткрытьМодально();
Если Группа = Неопределено Тогда Возврат;
КонецЕсли;
Объект[ИмяТабличнойЧасти].Очистить();
Выборка = Справочники.Номенклатура.Выбрать(Группа);
Пока Выборка.Следующий() Цикл Если Выборка.ЭтоГруппа Тогда Продолжить;
КонецЕсли;
СтрокаТабличнойЧасти = Объект[ИмяТабличнойЧасти].Добавить();
СтрокаТабличнойЧасти.Номенклатура = Выборка.Ссылка;
КонецЦикла;
КонецПроцедуры
Для подключения обработки необходимо добавить новый элемент в справочник «Внешние обработки». Меню\Сервис\Открыть список внешних обработок заполнения табличных частей. Пример заполнения справочника представлен на рисунке.
В результате, в документе появится новый пункт меню у кнопки «Заполнить».
В обработке может быть макет с идентификатором "Параметры_Авторегистрации". В первом столбце которого в каждой строчке можно указать объекты, для которых предназначена печатная форма. Например, "Документы.ЗаказПокупателя". Во втором столце - идентификаторы табличных частей.
В качестве бонуса предлагаю обработку
http://infostart.ru/projects/1749/?ref=4246 , с помощью которой можно облегчить процесс тестирования кода. Обработку подключаем через справочник "Внешние обработки". Запускаем обработку через кнопку "Заполнить". В обработке указываем имя файла тестируемой внешней обработки. После чего, тестируем код как обычный модуль.