новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума

Как из 1С правильно УКАЗАТЬ MS EXCEL как нужно печатать документы !

  • Добавить свою публикацию
  • для этого требуется регистрация

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

(предложите лучшую буду премного благодарен)

Рассказ для платформы 7.7 (результат проверен на WIN XP и MS OFFICE 2003)

Начнем...

Все Вы отличные программисты и всегда в программном коде для вывода на печать печатной формы писали типа...

 

ТП=СоздатьОбъект("Таблица");
.....
ТП.Опции(,,,,,,,);
ТП.ПовторятьПриПечатиСтроки(,);
ТП.ПовторятьПриПечатиСтолбцы(,);
ТП.ПараметрыСтраницы(,,,,,,,,,,,);
....

 

 

ну и так далее

красиво форматировали макет (объединяли строки, столбцы, задавали направление текста вертикальное...)

Выводили на печать и все это радовало глаз (в 1С) , но увы при сохранении в формате *.xls многие форматы новоиспеченный документ забывал. И приходилось опять вручнуюформатировать таблицу. Но мы же с Вами программисты ! Давай те облегчим нашу работу....

И так.

1. Нужно как то передавать в EXCEL параметры форматирования (отображения) документа.

 - выберем старый проверенный способ - строковой параметр, разделенный запятой.

    1.1. Где его хранить (параметр в сохраненном документе) ?

            - как вариант записывать в ячейку (пусть будет А1)

         - чтобы не отображался параметр при печати из 1С , цвет шрифта сделаем                    равным цвету фона таблицы

         - а как отличаться наш параметр будет от другого текста ? пусть начинается с                префикса "1С,"

     1.2. Как его передавать в нужную таблицу ?

         - напишем процедуру в глобальном модуле или модуле формы объекта

         ДобавимПараметрыДляФорматаВЭксель

        (Таб,  //Макет таблицы в которую нужно поместить метку

         ФиксСтрок="",  - Число, сколько строк нужно закрепить в окне EXCEL

        ФискСтолбцов="", - Число, сколько столбцов нужно закрепить в окон EXCEL

        ФлагЗакрепОкна="",-0 не закреплять, 1 закрепить разделитель окна

        ПовторСтрНач="",    начальная строка для повтора при выводе на печать

        ПовторСтрКон="",   конечная строка для повтора при выводе на печать

        ОриенСтр=""     ориентация страницы 1- портрет, 2 - ландшафт

        ) Экспорт
 
 Все мы с Вами добились , что нужные документы в 1С имеют "секретный пакет" для EXCEL, но, а он то не знает , что со всем этим делать ?

Для этого в MS OFFICE существуют макросы (на языке VBA)

есть предопределенные : например Workbook_Open() 

все что будет написано в процедуре будет выполнятся при открытии новой книге EXCEL , но я думаю не разумно будет каждый документ проверять на предмет наличия параметра из 1С.

Поэтому добавим командную панель с кнопочками, при нажатии на которую документ моментально "приводится" к нужному виду.

В прилагаемой обработке - сама процедура  , пример работы

ДобавимПараметрыДляФорматаВЭксель()

отредактируйте ее под себя или просто скопируйте

запустив обработку, у Вас в Вашем EXCEL добавится командная панель , как на рисунке.

 
0
Читайте также
Чтение XML файла
Первый шаг - чтение xml-файла и формирование объекта
Поиск и установка шаблона обновления конфигурации 1С
Где найти код, чтобы для скачать необходимый шаблон обновления. И что делать если этого кода нет?
Разработки
Обработка заполнение табличных частей документа. Написана для конфигурации УТ 11.0.6.9. Загружает информацию из файла Excel печа
Для конфигурации УТ 11.0.6.9 написана обработка для заполнения документа из файла Excel
[УТ 11] SubSys: Прайс-лист с остатками и картинками для Управление торговлей 11
Прайс-лист расширенный- вывод картинок, остатков для УТ 11
Еще от автора
≡ к списку статей