Руководство разработчика

Функция ЭКСПОРТ_ГРАФИКА

Функция ЭКСПОРТ_ГРАФИКА позволяет осуществлять передачу данных в офисное приложение. Возможен экспорт в двух режимах:

В первом режиме создается новый документ в целевом приложении и происходит вставка диаграммы, ее настройка и заполнение таблицы данных. Во втором режиме тип диаграммы и ее параметры могут быть настроены заранее, при подготовке шаблона. Это дает гораздо больше возможностей по настройке, т.к. из языка Инфо-Бухгалтера доступна лишь малая их часть. Кроме этого, во втором режиме можно подставить данные сразу в несколько диаграмм, расположенных в одном шаблоне.

ФУНКЦИЯ ТИП_ЛОГИКА: ЭКСПОРТ_ГРАФИКА(ТИП_СТРОКА: приложение,
    ТИП_СТРОКА: файл, ТИП_СТРОКА: опции)

Параметры

приложение
Идентификатор целевого приложения, доступны следующие варианты:
"DEFAULT"- автоматический выбор;
"EXCEL"- MS Excel;
"WORD"- MS Word;
"OPENOFFICE CALC"- OpenOffice.org Calc;
"OPENOFFICE WRITER"- OpenOffice.org Writer.
Если установлено значение "DEFAULT", будет выполняться автоматический выбор приложения в зависимости от того, что установлено на компьютере. В остальных случаях экспорт будет осуществляться в указанное приложение.
файл
Путь к файлу шаблона. Если указана пустая строка (""), то происходит создание диаграммы, а не подстановка данных в шаблон. Расширение файла помогает сделать автоматический выбор приложения в режиме "DEFAULT".
опции

Опции процесса экспорта:

  • Есть возможность указать название файла и путь к папке, в которую будет сохранен файл, например, "MyCharts/Chart_1.ods". Если указано только название файла, то он сохраняется в текущую папку Инфо-Бухгалтера.
  • Поддерживается команда закрытия документа после сохранения результата ">close", которую необходимо указывать после пути файла. Например, "Chart_1.ods>close".
  • При подстановках в шаблон есть возможность добавлять лист в сохраняемый файл. Для этого необходимо указать директиву ">ADD" после имени файла. Эта возможность поддерживается для экспорта в MS Excel и OpenOffice Calc. Опционально может быть указано имя нового листа: ">ADD=<имя_листа>". Если файл с указанным именем для сохранения результата уже существует, то он открывается и лист добавляется к существующим, иначе создается новый документ с одним листом. Директива ADD может комбинироваться с директивой CLOSE, например "output.xls>CLOSE>ADD=Документ2".

Возвращаемое значение

ДА – в случае успешного завершения экспорта, НЕТ – в случае ошибки.

Для задания настроек диаграммы используется функция ДОБ_ПОДСТ.

Также совместно с функцией ЭКСПОРТ_ГРАФИКА используются следующие команды внутреннего языка: СБРОС_ПОДСТ – очищает все данные подстановок и должна вызываться перед началом заполнения, ДОБ_ТАБЛ_ПОДСТ – используется для подготовки табличных данных.

Подстановка данных в шаблон.

При подготовке шаблона документа необходимо создать одну или несколько диаграмм. На этом этапе можно произвести настройку этих диаграмм всеми способами, предоставляемыми офисным приложением. Если есть необходимость настроить атрибуты отображения данных, например, цвет секторов круговой диаграммы или форму маркеров для точек графика, то необходимо создать начальную таблицу данных. Какие числа будут в этой таблице – не имеет значения, они заменятся необходимыми данными при выполнении подстановки, а настройки отображения при этом останутся.

Соответствие таблицы подстановок и диаграммы в шаблоне находится с помощью имени таблицы подстановок. Поддерживается подстановка по имени объекта и по порядковому номеру диаграммы в документе. Для подстановки по порядковому номеру задаются имена "#1", "#2" и т.д. (например, ДОБ_ТАБЛ_ПОДСТ("#1", ...)).

В пакете MS Office нет возможности задавать имена диаграмм из пользовательского интерфейса. При добавлении диаграммы в Excel ей автоматически назначается имя типа "Диагр. 1", а в Word нет и этого. Поэтому для шаблонов MS Office лучше пользоваться подстановкой по порядковому номеру.

В OpenOffice имеется возможность задавать имена диаграмм, т.к. под этими именами они отображаются в окне навигатора. В Calc И Writer имена задаются немного по разному. В Calc в контекстном меню диаграммы надо выбрать пункт "Название". Во Writer в контекстном меню диаграммы надо выбрать пункт "Объект" и перейти на закладку "Параметры".

Шаблоны для заполнения диаграмм не могут быть общими для MS Office и OpenOffice.org, несмотря на то, что OpenOffice может открывать файлы в формате MS Office. Это связано с тем, что OLE-объекты, реализующие диаграммы, свои в каждом из офисных пакетов. Открыв xls-файл, например, OpenOffice.org Calc не отождествит диаграмму Excel со своим собственным объектом диаграмм. В этом существенное различие возможностей функций ЭКСПОРТ_ГРАФИКА и ЭКСПОРТ_ФОРМЫ, для которой возможно использование единых шаблонов.

Особенности экспорта в конкретные приложения

Microsoft Excel
При экспорте в Excel таблица данных размещается на отдельном листе. Такие листы с данными добавляются по одному на каждую диаграмму. При создании диаграммы лист с диаграммой получает название "Диаграмма", а с таблицей данных – "Данные". При подстановке таблиц данных в шаблон листы получают название, например, "Данные для Лист 1 Диагр. 1".
Microsoft Word
При экспорте в Word создается внедренная диаграмма Excel. Диаграмма располагается на одном листе, а таблица данных на втором. Увидеть это можно, активировав режим редактирования диаграммы. К свойствам диаграммы Word добавляет свойства внедренного объекта, такие как обтекание текстом и др.
OpenOffice.org Calc
В OpenOffice есть внутренний внедряемый объект "Диаграмма OpenOffice.org". В Calc диаграмма может использовать как собственную таблицу данных, так и таблицу данных на одном из листов (подобно Excel). В других приложениях пакета OpenOffice диаграммы работают с собственной таблицей данных. Поэтому, для единообразия решено было везде использовать собственные таблицы данных. Это отменяет необходимость создавать для данных новые листы, что приходится делать в Excel. Чтобы в Сalc посмотреть таблицу данных, надо в меню диаграммы сначала выбрать "Правка", а затем – "Таблица данных диаграммы".
OpenOffice.org Writer
Используется внутренний внедряемый объект "Диаграмма OpenOffice.org". Для доступа к таблице данных надо в меню диаграммы выбрать "Правка", а затем "Таблица данных диаграммы". К свойствам диаграммы добавляются свойства внедренного в текст объекта. При создании диаграммы задается размер по ширине страницы.

Пример использования

Табличные подстановки, создаваемые функцией ДОБ_ТАБЛ_ПОДСТ имеют имя, передаваемое первым параметром. Для режима создания диаграммы это имя роли не играет, а для режима подстановки – является ключом для поиска диаграммы в документе.

Сформируем таблицу данных:

ДОБ_ТАБЛ_ПОДСТ("Гр", "",          1, "Январь")
ДОБ_ТАБЛ_ПОДСТ("Гр", "Услуги",    1, 2.5)
ДОБ_ТАБЛ_ПОДСТ("Гр", "Материалы", 1, 2.1)
ДОБ_ТАБЛ_ПОДСТ("Гр", "Товары",    1, 4.2)
ДОБ_ТАБЛ_ПОДСТ("Гр", "Другое",    1, 3.3)

ДОБ_ТАБЛ_ПОДСТ("Гр", "",          2, "Февраль")
ДОБ_ТАБЛ_ПОДСТ("Гр", "Услуги",    2, 2.7)
ДОБ_ТАБЛ_ПОДСТ("Гр", "Материалы", 2, 2.4)
ДОБ_ТАБЛ_ПОДСТ("Гр", "Товары",    2, 3.8)
ДОБ_ТАБЛ_ПОДСТ("Гр", "Другое",    2, 2.9)

ДОБ_ТАБЛ_ПОДСТ("Гр", "",          3, "Март")
ДОБ_ТАБЛ_ПОДСТ("Гр", "Услуги",    3, 2.4)
ДОБ_ТАБЛ_ПОДСТ("Гр", "Материалы", 3, 2.2)
ДОБ_ТАБЛ_ПОДСТ("Гр", "Товары",    3, 4.1)
ДОБ_ТАБЛ_ПОДСТ("Гр", "Другое",    3, 3.5)

После формирования таблицы можно вызвать создание диаграммы с настройками по умолчанию. Например, следующий вызов создаст диаграмму с введенными данными в OpenOffice.org Calc:

рез = ЭКСПОРТ_ГРАФИКА ("OPENOFFICE CALC","","")

При помощи функции ДОБ_ПОДСТ можно управлять типом и другими параметрами диаграммы. Экспортируем диаграмму с такой же таблицей данных со следующими настройками:

ДОБ_ПОДСТ("ТИП", "ГИСТОГРАММА")
ДОБ_ПОДСТ("3D", ДА)
ДОБ_ПОДСТ("С_НАКОПЛЕНИЕМ", ДА)
ДОБ_ПОДСТ("ЛЕГЕНДА.ШРИФТ.по_умолчанию", ДА)
ДОБ_ПОДСТ("ДАННЫЕ.ПРОЦЕНТ", ДА)
ДОБ_ПОДСТ("ЗАГОЛОВОК", "I квартал 2013 года")
ДОБ_ПОДСТ("ЗАГОЛОВОК.ШРИФТ.название", "Times New Roman")
ДОБ_ПОДСТ("ЗАГОЛОВОК.ШРИФТ.размер", 18)
ДОБ_ПОДСТ("ЗАГОЛОВОК.ШРИФТ.жирный", ДА)
ДОБ_ПОДСТ("ЗАГОЛОВОК.ШРИФТ.наклонный", НЕТ)
ДОБ_ПОДСТ("ОСЬ.Y.ЗАГОЛОВОК", "млн. руб.")
ДОБ_ПОДСТ("ОСЬ.Y.ЗАГОЛОВОК.ШРИФТ.по_умолчанию", ДА)
ДОБ_ПОДСТ("ОСЬ.Y.СЕТКА", ДА)
...

См. также: