Цитата(logist @ 22.04.15, 18:57) необходимо зарегистрироваться для просмотра ссылки
Внешние обработки не писал для УФ, а вот в печатной форме, в модуле обработки должна быть экспортная процедура Печать, и ее первый параметр это массив ссылок, который содержит ссылки документов которые были выделены пользователем в списке до нажатия на команду. Если ссылка одна, то это 0-й элемент массива.
Как это во внешней "обработке" хз
У меня есть обработка. Вот код модуля объекта:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.ПоступлениеИзПереработки");
МассивНазначений.Добавить("Документ.ТребованиеНакладная");
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Отчет о списании материалов ""ТребованияНакладной"" и ""ПоступлениеИзПереработки""");
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Информация","by kos");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд,
"Отчет о списании материалов",
"ФормаНастройки",
"ОткрытиеФормы",
Истина
);
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Функция Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт;
ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
ТабДок = Новый ТабличныйДокумент;
Макет = ЭтотОбъект.ПолучитьМакет("Макет");
СсылкаНаОбъект = МассивОбъектов[0];
Если НЕ ПечататьКолонкиСчетЦенаСумма Тогда
ДанныеДляЗаполнения = ПолучитьДанныеДляЗаполнения(СсылкаНаОбъект);
Склад = СсылкаНаОбъект.Склад;
ОтветственныйИДолжность = ПолучитьОтветственногоИДолжность(Склад);
Ответственный = ОтветственныйИДолжность.Получить(0).ФизическоеЛицо1;
Организация = СсылкаНаОбъект.Организация;
ДолжностьОтветственного = ОтветственныйИДолжность.Получить(0).Должность;
ГенДир = ПолучитьГенДир(Организация);
ОбластьПустаяСтрока = Макет.ПолучитьОбласть("ПустаяСтрока1");
ОбластьШапкаДокумента = Макет.ПолучитьОбласть("ШапкаДокумента1");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы1");
ОбластьСтрокаДанных = Макет.ПолучитьОбласть("СтрокаДанных1");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал1");
ОбластьШапкаДокумента.Параметры.ДатаДокумента = СсылкаНаОбъект.Дата;
ОбластьШапкаДокумента.Параметры.Склад = СсылкаНаОбъект.Склад;
ТабДок.Вывести(ОбластьШапкаДокумента);
ТабДок.Вывести(ОбластьПустаяСтрока);
ТабДок.Вывести(ОбластьШапкаТаблицы);
//Вывод в ТЧ
Для Каждого Строка Из ДанныеДляЗаполнения Цикл
ЗаполнитьЗначенияСвойств(ОбластьСтрокаДанных.Параметры,Строка);
ТабДок.Вывести(ОбластьСтрокаДанных);
КонецЦикла;
ОбластьПодвал.Параметры.ФИОДиректор = ГенДир;
ОбластьПодвал.Параметры.ДолжностьОтветственногоЛица = ДолжностьОтветственного;
ОбластьПодвал.Параметры.ФИООтветственногоЛица = Ответственный;
ТабДок.Вывести(ОбластьПустаяСтрока);
ТабДок.Вывести(ОбластьПодвал);
Иначе
ДанныеДляЗаполнения = ПолучитьДанныеДляЗаполнения(СсылкаНаОбъект);
Склад = СсылкаНаОбъект.Склад;
ОтветственныйИДолжность = ПолучитьОтветственногоИДолжность(Склад);
Ответственный = ОтветственныйИДолжность.Получить(0).ФизическоеЛицо1;
Организация = СсылкаНаОбъект.Организация;
ДолжностьОтветственного = ОтветственныйИДолжность.Получить(0).Должность;
ГенДир = ПолучитьГенДир(Организация);
ОбластьПустаяСтрока = Макет.ПолучитьОбласть("ПустаяСтрока1");
ОбластьШапкаДокумента = Макет.ПолучитьОбласть("ШапкаДокумента2");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы2");
ОбластьСтрокаДанных = Макет.ПолучитьОбласть("СтрокаДанных2");
ОбластьИТОГО = Макет.ПолучитьОбласть("Итого2");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал2");
ОбластьШапкаДокумента.Параметры.ДатаДокумента = СсылкаНаОбъект.Дата;
ОбластьШапкаДокумента.Параметры.Склад = СсылкаНаОбъект.Склад;
ТабДок.Вывести(ОбластьШапкаДокумента);
ТабДок.Вывести(ОбластьПустаяСтрока);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ИтогоСумма = 0;
//Вывод в ТЧ
Для Каждого Строка Из ДанныеДляЗаполнения Цикл
ЗаполнитьЗначенияСвойств(ОбластьСтрокаДанных.Параметры,Строка);
ИтогоСумма = ИтогоСумма + Строка.Сумма;
ТабДок.Вывести(ОбластьСтрокаДанных);
КонецЦикла;
ОбластьИТОГО.Параметры.ИтогоСумма = ИтогоСумма;
ТабДок.Вывести(ОбластьИТОГО);
ОбластьПодвал.Параметры.ФИОДиректор = ГенДир;
ОбластьПодвал.Параметры.ДолжностьОтветственногоЛица = ДолжностьОтветственного;
ОбластьПодвал.Параметры.ФИООтветственногоЛица = Ответственный;
ТабДок.Вывести(ОбластьПустаяСтрока);
ТабДок.Вывести(ОбластьПодвал);
КонецЕсли;
Возврат ТабДок;
КонецФункции
Мне нужно, чтобы показывалась форма этой обработки после того как пользователь в документе "ТребованияНакладная" нажимает на кнопку "Печати". Когда форма открывается ей нужно передать "СсылкаНаОбъект" и далее с формы обработки нажимаем кнопку "Печать" - формируем печатный документ и выводим его.