Графит. Правщик 1С морд для аналитиков

Вступление

Приветствую, уважаемое сообщество !
В данной публикации я хочу обзорно поведать об инструменте, который я разрабатываю.
Текущий уровень разработ Инфостарт ки вышел из этапов изучения и предварительного исследования и начал приобретать некие довольно четкие очертания, потому о нем можно начать рассказывать.
 
Что такое Графит

Графит это векторный правщик схем и диаграмм. Графит является настольным оконным exe приложением.
Для запуска Графита нет необходимости установки программы под правами админа. Можно просто скачать, запустить и работ Инфостарт ать.

Общий макет Графита должен выглядеть как обычная типовая среда рисования.



Основными элемент стилиами Графита являются примитивы:
*) Фигура;
*) Соединитель;
*) Отображалка;

Элемент "Фигура"
Фигура может быть представлена в виде: Прямоугольник, Овал, Многоугольник.
Конечно, для фигур имеется полный набор свойств рисования: Цвет фона, Цвет рамки, Узор рамки, Надписи и остальные.

Элемент "Соединитель"
Соединитель это просто линия, соединяющая фигуры или отображалки.
Конечно, для соединителя имеется полный набор свойств рисования: Цвет линии, Толщина линии, Узор линии, Окончания и прочие свойства.

Элемент "Отображалка"
Отображалка должна показывать svg картинку, полученную из шаблона через шаблонщик.
Отображалка является вместилищем следующих подчиненных объектов:
*) Шаблон svg;
*) Объект свойств;

При изменении свойств объекта отображалки, должно выполняться перестроение svg текста на основании svg шаблона с учетом новых значений свойств.
Полученный svg текст должен отображаться в отображалке.

Какую задачу должен решать Графит

Графит должен предоставлять возможность рисования 1С морд следующем потоке работ Инфостарт :
*) Заказчик обращается со свой задачей;
*) Аналитик или приказчик пишет тз и рисует 1С морды вне 1С конфигуратора без отвлечения программиста;
*) Заказчик прощелкивает прототип нехотя поглядывая в тз;
*) Пара итераций согласования с Заказчиком;
*) Оценка трудоемкости;
*) Программисту отдается согласованное и готовое тз в работ Инфостарт у;
*) Заказчик получает результат работ Инфостарт ы почти полностью похожий на прототип;

Я занимаюсь разработ Инфостарт кой веб-кабинетов для 1С из прототипирование часто бывает очень нужно.
Даже нарисовать простой набросок и согласовать его с Заказчиком это надо:
*) Из рисовалки сохранконсоль отчетов ить картинку в файл;
*) Картинку отправить по почте или отправить в скайп;
*) Если надо изменить картинку, то это новый файл, который тоже надо отправить Заказчику;

Задача чуть упрощается, если картинки давать через гиперссылку на свое размещение.
Но в любом случае исходники картинки надо хранконсоль отчетов ить для возможности повторной правки.

На текущий момент мною и моей командой примен обработ Инфостарт кияется Adobe xd. Но, как и во всем сшашном, минусов больше чем плюсов.
*) Нет возможности создания автоматизованных шаблонов с логикой;
*) Файл картинки и файл исходников это два разных файла;
*) Для надо иметь последнюю версию windows 10;
*) Для публикации результата работ Инфостарт надо иметь платную подписку;

Суммируя, основная цель разработ Инфостарт ки Графита это:
*) Быстрое создание прототипа 1С морды аналитиком или приказчиком без привлечения 1С программиста;
*) Возможность отправки картинок на свое размещение (на своих серверах или у поставщика размещения сайта) прямо из Графита;
*) Возможность скреплять картинки гиперссылками для переходов между экранами;
*) Высокая правдоподобность нарисованных морд соответствующим 1С элемент стилиам формы;
*) Возможность расширения и изменения набора элемент стилиов конечным работ Инфостарт ником программы;
*) Возможность создания автоматизованных шаблонов с логикой;
*) Возможность повторно править эту же картинку без отдельных исходников прямо с размещения;

Центральное хранконсоль отчетов илище картинок

Считаю, что использовать центральное хранконсоль отчетов илище на своем размещении это более правильно.
Если у вас есть сайт, то создать поддомен это бесплатно.
Нет зависимости от сторонних веб-сервисов. Особенно от тех, у которых свой формат хранконсоль отчетов илища и свой движок отрисовки.
Ведь если вы сделаете картинку на стороннем веб-сервисе, то без сервиса она вам бесполезна.

Графит же предполагается раздавать бесплатно и вы сами себе хозяин.
Никаких внешних зависимостей:
*) Открытый текстовый формат шаблонов;
*) Свой настольный движок рисования на основе svg формата;
*) Отображение итогового svg в любом обозревателе;
*) Свои ресурсы для размещения в интернете;

Не оскудеет рука дающего.
Себе сделаю, сообществу планирую отдавать бесплатно.

Рисование

Данный этап сейчас в работ Инфостарт е и картинки примеров показаны примерные.

Рисование 1С морд должно выполняться на основании шаблонов путем перетаскивания подключенного шаблона на поле рисования.
Шаблон это файл xml формата, в котором должны быть описаны:
*) Свойства отображалки, которая должна быть создана на основании шаблона;
На основании этих свойств должны создаваться управляторы на панели свойств, через которые должны изменяться значения свойств (флажки, списки выбора, поля ввода);
*) Логика построения svg текста в зависимости от значений параметров;
*) Каркас svg шаблона;

Снимок перетаскивания



Для примера рассмотрим шаблон поля ввода. При изменении настроек изменяется состав кнопок, совсем как в конфигураторе.
Сейчас на картинке обновление обозревателя происходит в ручном режиме. т.к. это еще разрабатывается.
Это фундаментальный механизм, который должен быть встроен в Графит и обновление будет происходить автоматически при установке галочки на панели свойств.

Построение поля ввода на основании параметров
 
 
Изменение размеров поля ввода



Созданную морду дальнейшем можно выгрузить в svg файл.
Для Графита формат svg является не родным для хранконсоль отчетов ения. В этот формат происходит только выгрузка.
Родным форматом является текстовый xml формат особой структуры.

Возможность повторно править эту же картинку без отдельных исходников должна быть достигнута использованием обычного svg формата, в котором "спрятан" текст, который понимает Графит.
Текст родного формата Графита должен быть сохранконсоль отчетов ен одной строкой в base64 в первой строке в комментарии (открывашка: формат svg это обычный xml формат).
В приложенных файлах есть пример такой картинки, это уже запрограммировано.

Снимок svg с xml.




Шаблонщик

Шаблонщик это движок, который должен получить xml описание шаблона с параметрами и должен отдать итоговый svg текст, который должен быть отображен в отображалке на поле рисования.
Шаблонщик поддерживает программирование на русском языке (вражеского нет и не планируется).

На текущий момент шаблонщик поддерживает блоки:
*) Создание переменных {Присвоить}
*) Условия {Если}
*) Циклы {ДляКаждого}

Набор 15+ функций, например:
*) СкорЛП();
*) СтрРазделить();
*) ЕслиТогда();
*) Остальные функции;

Типы переменных:
*) Строка;
*) Число;
*) Массив;

В приложенных файлах есть архив в консольным шаблонщиком и шаблоном поля ввода. Пример программирования шаблона можно посмотреть в этом файле.
Для получения готового результата из шаблона, надо вызвать команду: demo.exe Шаблон.xml a.svg. В файле a.svg будет готовый svg файл, который можно открыть обозревателе для просмотра.

Набор шаблонов "Купец"

Данный набор шаблонов будет содержать элемент стилиы 1С морд. В основном это стиль "Такси".
Уже готовы элемент стилиы:
*) Главное окно;
*) Флажок;
*) Радио;
*) Тумблер;
*) Поле ввода;

Снимок готовых элемент стилиов набора "Купец"



Для каждого элемент стилиа стараюсь закладывать те возможности, которые есть для исходного элемент стилиа в конфигураторе.
Например для флажка это следующие свойства.

Снимок свойств флажка




Планы работ Инфостарт

Как оказалось, это довольно тяжелая, дорогая и кропотливая работ Инфостарт а.
Программирование только одного шаблона это почти 300 строк кода Ёшаблонщика.

Сделано:
*) Продумана концепция и прописана во внутреннем тз на разработ Инфостарт ку;
*) Шаблонщик в базовом варианте;
*) Среда рисования и примитивы;
*) Отображалка svg в базовом варианте;
*) Внутренний xml формат Графита (чтение и запись);
*) Частичная выгрузка в svg с вложением xml в комментарии для возможности повторной правки;
*) Базовые элемент стилиы набора шаблонов "Купец".

План дальнейшей работ Инфостарт ы:
*) Изменить формат шаблона (Добавить описание управляторов для Графита);
*) Есть некоторые ошибки в работ Инфостарт е шаблонщика;
*) В шаблонщике расширить функционал для работ Инфостарт ы с массивами;
*) Прописать функционал подключения шаблонов к Графиту (подключение из папки при пуске);
*) Прописать создание управляторов на панели свойств при выборе отображалки на поле рисования;
*) Прописать изменение свойств отображалки через панель свойств;
*) Прописать сохранконсоль отчетов ение отображалок в svg формат (сейчас сохранконсоль отчетов яются только фигуры и соединители);

Еще работ Инфостарт ать и работ Инфостарт ать, да.

Пока это вся поверхностная информация, которую я хотел поведать сообществу о создаваемой разработ Инфостарт ке.
В следующих публикациях надеюсь более подробно описать моменты, которые были здесь только упомянуты.
Также постараюсь описывать и выкладывать результаты работ Инфостарт ы для ознакомления.
 
Будут вопросы, пишите. Постараюсь ответить.
 

Скриншоты


2_prikkartinka_c15c6929-7fdf-4e05-9fed-63558a45c8b4.gif

1_prikkartinka_c473d70a-7c6a-4870-951e-b2b9617c9616.png

3_prikkartinka_5c8250de-4738-4b37-b0c6-593e8844c7ae.png

4_prikkartinka_96864765-45ab-4acf-9cbd-a26a130bf57a.png

5_prikkartinka_654a3d2d-e181-4335-b868-b8e62f8d6f38.png

GIF 23.11.2020 16-06-18.gif

GIF 23.11.2020 16-09-19.gif

1_prikkartinka_c473d70a-7c6a-4870-951e-b2b9617c9616.png

1_prikkartinka_c473d70a-7c6a-4870-951e-b2b9617c9616.png

2_prikkartinka_c15c6929-7fdf-4e05-9fed-63558a45c8b4.gif

GIF 23.11.2020 16-06-18.gif

GIF 23.11.2020 16-09-19.gif

3_prikkartinka_5c8250de-4738-4b37-b0c6-593e8844c7ae.png

4_prikkartinka_96864765-45ab-4acf-9cbd-a26a130bf57a.png

5_prikkartinka_654a3d2d-e181-4335-b868-b8e62f8d6f38.png

Файлы

Наименование Файл Версия Размер Кол. Скачив.
ЁШаблонщик для попробовать собрать шаблон
.exe 3,45Mb
46
.exe 3,45Mb 46 Бесплатно
Шаблон поля ввода в xml формате
.xml 30,93Kb
31
.xml 30,93Kb 31 Бесплатно

Полная версия

© ООО "Инфостарт", 2006-2023 www.infostart.ru