Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.ОперацияБух");
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "АктПриёмаПередачи");
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Печать актов");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Акт приёма передачи", "АктПриёмаПередачи", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Функция Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "АктПриёмаПередачи","Акт приёма передачи", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));
Конецфункции // Печать()
Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_АктПриёмаПередачи";
МакетОбработки = ПолучитьМакет("АктПриёмаПередачи");
//заполняем шапку
ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.ТекДата = Формат(ТекущаяДата(),"ДЛФ=ДД");
ОбластьШапка.Параметры.Организация = СсылкаНаДокумент.Организация.Наименование;
//выводим шапку в табличный документ
ТабличныйДокумент.Вывести("Шапка");
//заполняем Заголовок таблицы
ОбластьЗаголовокТаблицы = МакетОбработки.ПолучитьОбласть("ЗаголовокТаблицы");
ТабличныйДокумент.Вывести(ОбластьЗаголовокТаблицы);
ТабличныйДокумент.Вывести("ЗаголовокТаблицы");
// заполняем область строка
Для Каждого ТекущаяСтрока Из СсылкаНаДокумент.ОперацияБух Цикл
ОбластьСтрока = МакетОбработки.ПолучитьОбласть("Строка");
ОбластьСтрока.Параметры.НомерСтроки = ТекущаяСтрока.НомерСтроки;
ОбластьСтрока.Параметры.Наименование = ТекущаяСтрока.СправочникСсылка.ОсновныеСредства;
ОбластьСтрока.Параметры.РаботникКр = ТекущаяСтрока.СправочникСсылка.ФизическиеЛица;
ОбластьСтрока.Параметры.ПодразделениеКр = ТекущаяСтрока.СправочникСсылка.ПодразделенияОрганизаций;
ОбластьСтрока.Параметры.Количество = ТекущаяСтрока.Количество;
ОбластьСтрока.Параметры.РаботникДт = ТекущаяСтрока.СправочникСсылка.ФизическиеЛица;
ОбластьСтрока.Параметры.ПодразделениеДт = ТекущаяСтрока.СправочникСсылка.ПодразделенияОрганизаций;
ТабличныйДокумент.Вывести("Строка");
КонецЦикла;
//заполняем подвал
ОбластьПодвал = МакетОбработки.ПолучитьОбласть("Подвал");
ОбластьПодвал.Параметры.РаботникСд = ТекущаяСтрока.СправочникСсылка.ФизическиеЛица;
ОбластьПодвал.Параметры.РаботникПр = ТекущаяСтрока.СправочникСсылка.ФизическиеЛица;
ТабличныйДокумент.Вывести("Подвал");
ТабличныйДокумент.АвтоМасштаб = Истина;
Конецфункции
Делал по примерам из интернета, в программирование не силен.
Посмотрите если можете.
Заранее спасибо.
! | необходимо зарегистрироваться для просмотра ссылки: 7, 9 |