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

29.01.21

Разработка - Работа с интерфейсом

Краткое описание текущего состояния разработки программы "Графит". Графит это векторный правщик от kuzkov.info для создания прототипов 1С морд приказчиком или аналитиком для согласования с Заказчиком

Скачать файлы

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

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

Графит это векторный правщик схем и диаграмм. Графит является настольным оконным 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 формат (сейчас сохраняются только фигуры и соединители);

Еще работать и работать, да.

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

Прототип набросок приказчик аналитик заказчик kuzkov.info Кузьков Графит svg. шаблонщик

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61793    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54397    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16695    21    4    

35

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    10733    750    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

10.04.2023    9607    151    acces969    31    

118

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3665    kalyaka    2    

27

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12077    1    5    

10
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ltfriend 954 24.11.20 07:50 Сейчас в теме
3. 1spectr 28.11.20 12:34 Сейчас в теме
(1)
1cmaker это просто рисовалка статических интерфейсов, а здесь как я понимаю предполагается создание динамической презентации когда можно покликать по картинке и у тебя будут переключаться вкладки формы и открываться окошики.
Я правильно понимаю *Steelvan ?
2. Steelvan 302 24.11.20 12:10 Сейчас в теме
Возможно, веб-сервис 1cmaker хороший инструмент.
В любом случае в его создание было вложено много ресурсов и он тоже имеет право на существование.
Дальше будет выбирать работник :)
4. Steelvan 302 28.11.20 17:19 Сейчас в теме
(3)

В целом да.

Предполагается что работник сможет быстро нарисовать 1с морду с полным окружением (главное окно, панель разделов, панель открытых), сделать таких несколько экранов-шагов, скрепить их гиперссылками на вкладках, кнопках и прочих элементах, выложить картинки на размещение и дать гиперссылку на главную 1с морду.
Это если случай прототипирования.

Ну или просто нарисовать картинку, сделать снимок и вставить картинку в документ.
Это если случай рисования 1с морд при разработке тз.
5. Steelvan 302 28.11.20 17:25 Сейчас в теме
ГлавноеОкно15_ПанельОткрытых.png
Прикрепленные файлы:
6. Steelvan 302 28.11.20 17:31 Сейчас в теме
ГлавноеОкно15_ПанельОткрытых.png
Прикрепленные файлы:
7. Megaiff 03.12.20 23:57 Сейчас в теме
Чот я не понял вы раздаете exe файлы без исходного кода? Однозначно нет и некому не рекомендую! Нет исходников нечего обсуждать!
8. Steelvan 302 04.12.20 13:49 Сейчас в теме
(7) да-да-да, ваше мнение очень важно для нас
9. Lancelot-2M 115 15.02.21 11:37 Сейчас в теме
А у вас случайно xsd для svg не найдётся?)
10. Steelvan 302 16.02.21 23:17 Сейчас в теме
У меня да, не найдется.

https://github.com/dumistoklus/svg-xsd-schema
Полминуты и нашлось в интернете.
12. investec 08.12.22 01:12 Сейчас в теме
Скажите, насколько сложно будет графическую схему 1С выгрузить в формат SVG?
Есть идеи?
Оставьте свое сообщение