1
0
mirror of https://github.com/lintest/GraphViz1C.git synced 2024-11-16 10:08:36 +02:00
Внешняя компонента 1С Native API для построения графов
Go to file
2021-01-14 20:58:21 +03:00
Demo Примеры различных графов 2020-12-19 00:40:56 +03:00
Example Отображение картинок в 1С 2020-12-14 01:13:29 +03:00
Expat@162e16b0a7 Примеры различных графов 2020-12-19 00:40:56 +03:00
include Заготовка для внешней компоненты 2020-12-07 23:19:28 +03:00
src Исправление ошибки чтения: agread 2020-12-19 19:41:25 +03:00
tools Реализована поддержка формата SVG 2020-12-08 22:26:41 +03:00
.gitignore Реализована поддержка формата SVG 2020-12-08 22:26:41 +03:00
appveyor.ps1 Унификация сборки AppVeyor 2020-12-13 20:48:17 +03:00
appveyor.yml Статическая сборка библиотеки Expat 2020-12-18 22:40:53 +03:00
CMakeLists.txt Build with static CRT 2021-01-14 20:58:21 +03:00
Compile.bat Реализована поддержка формата SVG 2020-12-08 22:26:41 +03:00
Example.xml Реализована поддержка формата SVG 2020-12-08 22:26:41 +03:00
GraphViz.patch Patch for original GraphViz 2020-12-09 15:52:03 +03:00
LICENSE Update LICENSE 2020-12-09 10:15:44 +03:00
manifest.ps1 Унификация сборки для AppVeyor 2020-12-13 17:58:39 +03:00
README.md Use Expat for HTML-like labels 2020-12-18 16:36:14 +03:00
version.h Поддержка графических форматов GDI+ 2020-12-09 20:52:51 +03:00

GraphViz1C - внешняя компонента 1С для построения графов

Предназначена для Windows, разработана по технологии Native API.

Build status

Поддерживаемые форматы экспорта: bmp, canon, cmap, cmapx, cmapx_np, dot, dot_json, emf, emfplus, eps, fig, gif, gv, imap, imap_np, ismap, jpe, jpeg, jpg, json, json0, metafile, mp, pic, plain, plain-ext, png, ps, ps2, svg, tif, tiff, tk, vml, xdot, xdot1.2, xdot1.4, xdot_json.

Для двоичных данных DOT-файлов реализована поддержка только кодировки UTF-8. Если исходный файл в другой кодировке, рекомендуется прочитать файл в строку посредством объекта ЧтениеТекста.

Подключение внешней компоненты

&НаКлиенте
Перем ИдентификаторКомпоненты, ВнешняяКомпонента;

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
	МакетКомпоненты = ОбработкаОбъект.ПолучитьМакет("GraphViz1C");
	АдресКомпоненты = ПоместитьВоВременноеХранилище(МакетКомпоненты, УникальныйИдентификатор);
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ИдентификаторКомпоненты = "_" + СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
	ВыполнитьПодключениеВнешнейКомпоненты(Истина);
КонецПроцедуры

&НаКлиенте
Процедура ВыполнитьПодключениеВнешнейКомпоненты(ДопПараметры) Экспорт
	НачатьПодключениеВнешнейКомпоненты(
		Новый ОписаниеОповещения("ПодключенаВнешняяКомпонента", ЭтаФорма, ДопПараметры), 
		АдресКомпоненты, ИдентификаторКомпоненты, ТипВнешнейКомпоненты.Native);
КонецПроцедуры

&НаКлиенте
Процедура ПодключенаВнешняяКомпонента(Подключение, ДополнительныеПараметры) Экспорт
	Если Подключение Тогда
		ВнешняяКомпонента = Новый("AddIn." + ИдентификаторКомпоненты + ".GraphViz1C");
	ИначеЕсли ДополнительныеПараметры = Истина Тогда
		НачатьУстановкуВнешнейКомпоненты(
			Новый ОписаниеОповещения("ВыполнитьПодключениеВнешнейКомпоненты", ЭтаФорма, Ложь), 
			АдресКомпоненты);
	КонецЕсли;
КонецПроцедуры

Методы

Сформировать(Данные, ФорматКартинки, ВариантРазмещения) / Render

Возвращает картинку в виде двоичных данных, либо строку с текстом ошибки.

Параметры функции:

  • Данные (обязательный), Тип: Двоичные данные или строка
  • ФорматКартинки (необязательный), Тип: Строка, по умолчанию "svg"
  • ВариантРазмещения (необязательный), Тип: Строка, по умолчанию "dot"

Тип возвращаемого значения: двоичные данные или строка

  • Содержит картинку в виде двоичных данных, либо строку с текстом ошибки.
&НаКлиенте
Процедура СформироватьКартинку(Команда)
	ДвоичныеДанные = Новый ДвоичныеДанные(ИмяФайла);
	ОписаниеОповещения = Новый ОписаниеОповещения("ПолученаКартинка", ЭтаФорма);
	ВнешняяКомпонента.НачатьВызовСформировать(ОписаниеОповещения, ДвоичныеДанные, "svg");
КонецПроцедуры

&НаКлиенте
Процедура ПолученаКартинка(РезультатВызова, ПараметрыВызова, ДополнительныеПараметры) Экспорт
	Если ТипЗнч(РезультатВызова) = Тип("ДвоичныеДанные") Тогда
		АдресКартинки = ПоместитьВоВременноеХранилище(РезультатВызова, УникальныйИдентификатор);
	ИначеЕсли ТипЗнч(РезультатВызова) = Тип("Строка") Тогда
		Сообщить(РезультатВызова);
	КонецЕсли;
КонецПроцедуры

Формат(Идентификатор) / Format

Возвращает список доступных форматов по идентификатору API.

Параметры функции:

  • Идентификатор (необязательный), Тип: Целое число, по умолчанию: 3
    • API_render = 0
    • API_layout = 1
    • API_textlayout = 2
    • API_device = 3
    • API_loadimage = 4

Тип возвращаемого значения: строка

  • Содержит строку со списком идентификаторов доступных форматов, разделенных пробелами.
&НаКлиенте
Процедура ВывестиДоступныеФорматы(Команда)
	ОписаниеОповещения = Новый ОписаниеОповещения("ПолученыФорматы", ЭтаФорма);
	ВнешняяКомпонента.НачатьВызовФормат(ОписаниеОповещения);
КонецПроцедуры

&НаКлиенте
Процедура ПолученыФорматы(РезультатВызова, ПараметрыВызова, ДополнительныеПараметры) Экспорт
	Сообщить("Доступные форматы: " + РезультатВызова);
КонецПроцедуры

Свойства

ПутиКартинок / ImagePath

Тип значения: Строка (только чтение)

  • Список папок, где осуществляется поиск используемых в графе картинок. Соответствует переменной окружения GV_FILE_PATH. Для среды Windows значения разделяются точкой с запятой, для Linux разделяются двоеточием.