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

29.01.21

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

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

Скачать исходный код

Наименование Файл Версия Размер
ЁШаблонщик для попробовать собрать шаблон
.exe 3,45Mb
48
.exe 3,45Mb 48 Скачать бесплатно
Шаблон поля ввода в 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 Платные (руб)

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

2400 руб.

29.06.2020    17338    23    4    

37

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

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

27.12.2023    11932    780    elcoan    47    

109

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

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

2 стартмани

10.04.2023    10393    158    acces969    31    

120

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

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

1 стартмани

05.07.2022    4336    kalyaka    4    

31

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

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

6000 руб.

18.01.2022    9195    1    2    

6

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

Реализовал простой способ программного создания новых элементов, команд и реквизитов на форме.

25.11.2021    10241    AtamanovYS    19    

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

В целом да.

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

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

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