Giter Site home page Giter Site logo

khorevaa / graphviz1c Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lintest/graphviz1c

0.0 0.0 0.0 119 KB

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

License: Eclipse Public License 2.0

CMake 1.84% Batchfile 0.51% PowerShell 2.44% C++ 33.21% C 8.11% 1C Enterprise 53.88%

graphviz1c's Introduction

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 разделяются двоеточием.

graphviz1c's People

Contributors

lintest avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.