Шаблон (внешняя печатная форма) для печати в Word под БСП



Пример внешней печатной формы для печати в MS Word для БСП 2.2.
Обработка печатает данные в файл MS Word, используя подсистему БСП 2.2.

Работает на ЗУП, БП, УТ 11, УНФ 1.6

После долгих поисков и разбора демо примера внешней обработки печати из БСП, в котором почему то используется модуль менеджера встроенной обработки, получился небольшой демо-пример.

Шаблон использует  теги БСП: 
{v8 Область.Преамбула}
    {v8 Параметр}
{/v8 Область.Преамбула}

В приложениях собственно шаблон и результат печати этого шаблона из Демо базы ЗУП.

Надеюсь, он избавит кого-то от потери времени.

25 Comments

  1. arthur2003

    помогло решить проблему доступности методов АктивДокумент на Сервере или ТонкомКлиенте

    Reply
  2. ahmato

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

    Reply
  3. laduk

    (2) Это проблема связана с стилями шрифтов word., почему то некоторые стили 1С коверкает при заполнении. Помогает избавления в шаблоне от стилей шрифтов.

    Reply
  4. ahmato

    (3) Спасибо за разработку, сэкономили кучу времени) сегодня коллеги из отдела по персоналу были в восторге от печатных форм)). Кстати, еще один трабл заметил (т.е. не знаю как преодолеть), я не смог вывести колонтитулы в шаблонах. Может сталкивались с таким моментом?

    P.s. Со шрифтами догадался, но все равно спасибо за ответ!

    Reply
  5. laduk

    (4) В данной обработке вывод колонтитулов не предусмотрен

    Reply
  6. laduk

    (4) Но в общем случае это можно реализовать.

    Reply
  7. ahmato

    (6) А могли бы дать подсказку, куда смотреть?

    Reply
  8. BackinSoda

    (3) (4) тоже мучался с этим, но потом в процедуре ПечатьМакета

    ПечатнаяФорма = УправлениеПечатьюКлиент.ИнициализироватьПечатнуюФорму(ТипМакета, Макет.НастройкиСтраницыМакета, Макет);

    передал третьим параметром макет и всё, вместо создания нового, берётся оригинальный макет со шрифтами

    Reply
  9. BackinSoda

    (0) Есть идеи как подогнать под «печать в цикле» по табличной части (для каждого сотрудника в т.ч. скажем, новая страница в ворде чтоб выходила ?

    Reply
  10. XelOla

    (10)

    вы решили?

    чтото ищу — как вывести в табл Ворд табличную часть документа

    Reply
  11. BackinSoda
    Reply
  12. XelOla

    (13)

    но мне надо в шаблон док печатать табличную часть документа, не в новый документ, а в табличку

    Reply
  13. BackinSoda

    (14) как выглядит шаблон то ? может для каждой строки таблички задать параметр и присваивать ему значение из таб части документа ?

    Reply
  14. XelOla

    (15) ну в смысле?

    вот, ну и строчек товара может быть столько же, сколько в табл части реализации

    Reply
  15. BackinSoda

    (16) я бы предложил сделать табличный документ со всем нужным оформлением, заполнить его строками из табчасти, а потом попробовать скопировать его целиком в ворд вместо всей таблички. По крайней мере в ручную если сделать так то работает.

    Reply
  16. XelOla

    (17)

    в документе встречается

    Поставщик обязуется поставить весь товар в хорошем состоянии

    в ячейках 1с нельзя ведь задать курсив на пару слов?

    Reply
  17. XelOla

    (17)//Выбираем первую таблицу в макете

    ВордТаблица1 = Word.ActiveDocument.Tables(1);
    i = 1;
    
    Пока ВыборкаТоваров.Следующий() Цикл
    //Заполняем первую строку
    
    Колонка = ВордТаблица1.Cell(i,1).Range;
    Колонка.Text = ВыборкаТоваров.НомерСтроки;
    
    Колонка = ВордТаблица1.Cell(i,2).Range;
    Колонка.Text = ВыборкаТоваров.Номенклатура;
    
    i=i+1;
    //добавляем строку
    
    ВордТаблица1.Rows.Add();
    КонецЦикла;
    

    Показать

    как-то так

    Reply
  18. BackinSoda

    (18) в приведенной таблице нет этого текста, я только про таблицу говорил — колонки и строки (ну и их границы и т.д.), остальное заполняется как и обычный шаблон ворда. Жаль форматированнаястрока не поддерживается в табличном документе.

    Reply
  19. Elvina

    А как картинку вставить не подскажете?

    Reply
  20. Bukaska

    (21)Внизу под полем редактирования есть кнопка: прикрепить файл

    Reply
  21. Elvina

    (22) Я имела ввиду вставить картинку в ворд (программно, не в макет), к каждому договору прикрепляется карта, если точек несколько, то несколько картинок с картой.

    В АктивДокумент получается картинку вставить, но там у меня не получается таблицу прорисовать так мне нужно (опять же в цикле, заранее не знаю сколько будет таблиц и сколько строк). Если загружать макет как Двоичные данные, то за счет областей таблицы прорисоваются так как мне нужно, но вот как вставить карту никак не соображу(((

    Reply
  22. User>lia

    (16)

    (23)Получилось картинку вставить?

    Reply
  23. Elvina

    (24) только через ActiveDocument…

    Когда документ со всеми таблицами уже полностью заполнен, получаю его как ActiveDocument и вставляю картинки. Как сделать по-другому нигде не нашла(((

     ActiveDocument = ПечатнаяФорма.COMСоединение.ActiveDocument;
    ActiveDocument.Select();
    Selection = ActiveDocument.Application.Selection;
    WSH=Новый COMobject(«wscript.shell»);
    FindObject = Selection.Find;
    FindObject.ClearFormatting();
    Для й=1 по номКарты Цикл
    FindObject.Execute(«Картинка»+й);
    ПутьКФайлу =»C:»+ИмяПути + «Картинка»+й+».png»;
    Picture = Selection.InlineShapes.AddPicture(ПутьКФайлу, Ложь, Истина);
    Picture.Height = 280;
    Picture.Width  = 370;
    КонецЦикла;

    Показать

    Reply
  24. Alina0201

    Взяла за основу эту обработку. Все бы ничего, выводится сформированный, заполненный по параметрам документ, НО! после перезапуска Windows у меня автоматически запускается Word, и открывается куча автосохраненых файлов, с текстом шаблона, пустые, просто с ошибкой, что не может открыть и т.д.

    В обработке меняла ПечатьМакета, добавила вывод своих областей, и ПолучениеДанныеОбъекта свое, все остальное можно сказать, без изменения.

    Откуда это все вылезает мне не понятно, ясно только одно, что это делает моя обработка.

    В какую сторону «копать» не понимаю. Подскажите, может у кого-то была такая же проблема как у меня.

    Reply
  25. Alina0201

    Проблему нашла. Получается, что процесс Word запускается в обработке 2 раза. В текущей обработке, закрытие приложения было закомменитровано, поэтому была такая проблема.

    Reply

Leave a Comment

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