Команда печати для печатной формы ACtiveDocument

1. Dobro210 11.01.24 09:45 Сейчас в теме
Колkеги, доброго времени суток.

Подскажите что нужно написать в модуле внешней обработки для печтой формы, макет ActiveDocument.

Функция СведенияОВнешнейОбработке() Экспорт

    ИмяОтчета = ЭтотОбъект.Метаданные().Имя;
    Синоним = ЭтотОбъект.Метаданные().Синоним;
    Синоним = ?(ЗначениеЗаполнено(Синоним), Синоним, ИмяОтчета);

    РегистрационныеДанные = Новый Структура;
    РегистрационныеДанные.Вставить("Вид", "ПечатнаяФорма");
    РегистрационныеДанные.Вставить("Наименование", Синоним);
    РегистрационныеДанные.Вставить("Версия", "3.0");
    РегистрационныеДанные.Вставить("БезопасныйРежим", Истина);
    РегистрационныеДанные.Вставить("Информация", "ПечатнаяФорма " + Синоним);
   	РегистрационныеДанные.Вставить("Назначение", Новый Массив);

 	РегистрационныеДанные.Назначение.Добавить("Документ.ПриемНаРаботу");

    ТаблицаКоманд = ПолучитьТаблицуКоманд();
                                 
    ДобавитьКоманду(ТаблицаКоманд, Синоним, "ПечатьАктИнструктаж", "ВызовСерверногоМетода", Истина);

    РегистрационныеДанные.Вставить("Команды", ТаблицаКоманд);

    Возврат РегистрационныеДанные;

КонецФункции

Функция ПолучитьТаблицуКоманд()

    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));

    Возврат Команды;

КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "ПечатьMXL")

    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры


Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
 // что нужно сюда нужно прописать ???
	

КонецПроцедуры 

Процедура ПечатьОбъекта(Ссылка) Экспорт   
	
// Функция печати документа
КонецПроцедуры
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. romulanin 11.01.24 11:23 Сейчас в теме
нужно заполнить макет методами com объекта, сохранить, а затем открыть на клиенте

что-то вроде этого
АктивныйДокумент = ПолучитьМакет("Макет");
    КомОбъект = АктивныйДокумент.Получить();

    Попытка

        Word = КомОбъект.Application;
        Док=Word.Documents(1);
        Док.Activate();
        Файл = КаталогВременныхФайлов() + "файл" + Выборка.Номер + ".doc";

         //заполняем тут

        Док.SaveAs(Файл);
        Док.Close(0);

        ЗапуститьПриложение("""" + Файл + """");

    Исключение
        Сообщить(ОписаниеОшибки());
        Word.Quit();
    КонецПопытки;
Показать
3. Dobro210 11.01.24 12:40 Сейчас в теме
(2)
Сама функция заполнения у меня есть, мне нужно чтобы в документе, в кнопке "Печать" можно было сделать выбрать и намечать мой документ.

Сейчас выдаёт ошибку как на скриншоте

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
  ПечатьОбъекта(МассивОбъектов);
	
	

КонецПроцедуры  
Прикрепленные файлы:
4. romulanin 11.01.24 13:15 Сейчас в теме
(3) ну так замени процедуру печать на процедуру выполнить команду. Печать выводит табличный документ. У тебя объект для печати должен показываться в том приложении в котором создавался макет.

почитай
https://infostart.ru/1c/articles/558559/
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот