Универсальный печатный шаблон WORD




Было это в УПП 1.3, кадровики достали с печатками (здесь запятой не хватает, здесь ошибка и т.д.). Сделал обработку, научил.
К сожалению,  эта обработка была глубоко интегрирована в УПП, поэтому простой перенос не подошёл.
Поэтом перенес на УФ в расширение.

Тестировалось на: 1С: Предприятие 8.3 (8.3.11.3034). Управление торговлей, редакция 11.2 (11.2.2.106) — переносилось в конфигурацию. Microsoft Word 2010,2024

Для использования расширения : у конфигурации должен стоять режим совместимости «Не использовать».

Переноситься в любую конфигурацию только в режиме управляемое приложение. Платформа минимум 8.3.11

Состав: 2 справочника,2 общих модуля,1 подсистема, и глобальная команда.

1. Создаем элемент справочника обработки шаблонов.

1.1 Выбираем входной реквизит.

1.2 Описываем обработку.

1.3 Ставим галочку готов. Проверяется обработка и создается таб. часть с представлениями.

1.4 Оформляем представления.
 

2. Создаем элемент справочника  шаблон.

2.1. Выбираем обработчик и заполняем  наименование.

2.2. Редактируем шаблон с помощью контекстного меню.

При создании таблицы руками необходимо заполнить свойства таблицы  заголовок по имени табличной части.

2.3  Проверяем.

Пример работы с шаблоном.

Видео по переносу из расширения в конфигурации УТ

После переноса создаем. Глобальную команду (для печати из справочников и документов ) и вставляем Текст

 ОбработкаИСозданиеШаблонаКлиент.НапечататьИзСписка(ОбработкаИСозданиеШаблонаСервер.ПолучитьДанныеДляПечатит(ПараметрКоманды),ПараметрКоманды);

 

 

4 Comments

  1. iov_chel

    Управление торговлей, редакция 11 (11.4.5.63) — типовая

    Получаю ошибку

    в расширении конфигурации используются возможности , недоступные в выбранном режиме совместимости.

    Reply
  2. SanyMaga

    (1)

    У конфигурации должен стоять режим совместимости «Не использовать», так же как и у расширения.

    ЕСЛИ РЕШИТЕСЬ НА ТАКОЙ ХОД ТО ДЕЛАЙТЕ С НАЧАЛО БЕКАП, НЕ ФАКТ ЧТО ЗАРАБОТАЕТ

    Либо переносить в конфигурацию (видео в описании).

    Состав: 2 справочника,2 общих модуля,1 подсистема, и глобальная команда.

    Reply
  3. SanyMaga

    У конфигурации должен стоять режим совместимости «Не использовать», так же как и у расширения.

    ЕСЛИ РЕШИТЕСЬ НА ТАКОЙ ХОД ТО ДЕЛАЙТЕ С НАЧАЛО БЕКАП, НЕ ФАКТ ЧТО ЗАРАБОТАЕТ

    Либо переносить в конфигурацию (видео в описании).

    Состав: 2 справочника,2 общих модуля,1 подсистема, и глобальная команда.

    Reply
  4. andy_zhav

    Отличная доработка. Перенес в свою конфигурацию.

    Позволил себе немного его улучшить — интегрировать в подсистему печати БСП.

    1. В общий модуль ОбработкаИСозданиеШаблонаСервер добавляем процедуру ДобавитьКомандыПечати

    Процедура ДобавитьКомандыПечати(КомандыПечати, ИмяВладельца) Экспорт
    Запрос = Новый Запрос;
    Запрос.Текст =
    «ВЫБРАТЬ
    | ШаблоныWord.Ссылка КАК Ссылка,
    | ШаблоныWord.Представление КАК Представление
    |ИЗ
    | Справочник.ШаблоныWord КАК ШаблоныWord
    |ГДЕ
    | ШаблоныWord.Владелец.ВходнойРеквизит = &ИмяВладельца
    | И НЕ ШаблоныWord.ПометкаУдаления
    | И ШаблоныWord.Владелец.Обработан»;
    Запрос.УстановитьПараметр(«ИмяВладельца», ИмяВладельца);
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    КомандаПечати = КомандыПечати.Добавить();
    КомандаПечати.Идентификатор = «ШаблонWord» + Строка(Новый УникальныйИдентификатор);
    КомандаПечати.Представление = Выборка.Представление;
    КомандаПечати.Обработчик = «ОбработкаИСозданиеШаблонаКлиент.СформироватьДокументИзШаблона»;
    КомандаПечати.ДополнительныеПараметры = Новый Структура(«СсылкаНаШаблон», Выборка.Ссылка);
    КонецЦикла;
    КонецПроцедуры

    Показать

    2. В общий модуль ОбработкаИСозданиеШаблонаКлиент Добавил процедуру СформироватьДокументИзШаблона

     // Осуществляет формирование документа на основе шаблона Word
    //
    // Параметры:
    // ПараметрыПечати — структура параметров обработки команды печати,
    //  должна содержать поля ОбъектыПечати и Форма.
    //
    Функция СформироватьДокументИзШаблона(ПараметрыПечати) Экспорт
    
    Если ПараметрыПечати.ОбъектыПечати.Количество() = 0 Тогда
    Возврат Неопределено;
    КонецЕсли;
    
    Субъект = ПараметрыПечати.ОбъектыПечати[0];
    ЗаполнитьДокументВорд(ПараметрыПечати.ДополнительныеПараметры.СсылкаНаШаблон, Субъект);
    
    КонецФункции
    

    Показать

    3. В модуль менеджера объекта, в котором хотим видеть печатные формы, в процедуру ДобавитьКомандыПечати добавляем строку

     ОбработкаИСозданиеШаблонаСервер.ДобавитьКомандыПечати(КомандыПечати, «Справочник.ДоговорыКонтрагентов»);
    

    И тогда вообще огонь получается.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *