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

Публикация № 1331373

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

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

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

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

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

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

Наименование Файл Версия Размер
ЁШаблонщик для попробовать собрать шаблон

.exe 3,45Mb
15
.exe 3,45Mb 15 Скачать бесплатно
Шаблон поля ввода в xml формате

.xml 30,93Kb
12
.xml 30,93Kb 12 Скачать бесплатно

Специальные предложения

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

В целом да.

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

Ну или просто нарисовать картинку, сделать снимок и вставить картинку в документ.
Это если случай рисования 1с морд при разработке тз.
5. Steelvan 35 28.11.20 17:25 Сейчас в теме
ГлавноеОкно15_ПанельОткрытых.png
Прикрепленные файлы:
6. Steelvan 35 28.11.20 17:31 Сейчас в теме
ГлавноеОкно15_ПанельОткрытых.png
Прикрепленные файлы:
7. Megaiff 03.12.20 23:57 Сейчас в теме
Чот я не понял вы раздаете exe файлы без исходного кода? Однозначно нет и некому не рекомендую! Нет исходников нечего обсуждать!
8. Steelvan 35 04.12.20 13:49 Сейчас в теме
(7) да-да-да, ваше мнение очень важно для нас
Оставьте свое сообщение

См. также

Генерация кода управляемой формы (декомпиляция элементов) Промо

Инструментарий разработчика Практика программирования Работа с интерфейсом v8 v8::УФ 1cv8.cf Бесплатно (free)

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

29.09.2014    107359    8897    ekaruk    133    

Графит. Правщик 1С морд от kuzkov.info. 4. Лента и панель шаблонов

Работа с интерфейсом Бесплатно (free)

В четвертой части записок о разработке программы Графит, векторного правщика для быстрого рисования 1С морд от kuzkov.info, хочу рассказать о ленте команд, панели шаблонов и более подробно описать команды ленты. Будет несколько гифок для зрительной иллюстрации написанного.

29.12.2020    815    2    Steelvan    11    

Графит. Правщик 1С морд от kuzkov.info. 3. Заголовки и отразмерка

Работа с интерфейсом Бесплатно (free)

Третья часть записок о разработке программы Графит, векторного правщика для быстрого рисования 1С морд от kuzkov.info. Обзор сделанного с небольшими деталями в виде текста и картинок. Новые добавленные шаблоны 1С элементов форм.

10.12.2020    529    3    Steelvan    1    

Графит. Правщик 1С морд от kuzkov.info.2

Прочие инструменты разработчика v8 Бесплатно (free)

Вторая часть записок о разработке программы Графит, векторного правщика для быстрого рисования 1С морд. Обзор сделанного в виде текста описания, гифках и приложенных svg файлах для пощелкать в обозревателе.

02.12.2020    1296    13    Steelvan    4    

Загрузка, редактирование и установка цветовых схем (раскраски кода) в Конфигуратор и EDT

Работа с интерфейсом Прочие инструменты разработчика v8 1cv8.cf Бесплатно (free)

В современных IDE и текстовых редакторах есть удобная работа с цветовыми схемами: их можно загружать из файлов, выбирать из списка и сразу устанавливать в оболочку. К сожалению, в Конфигураторе и EDT цвета кода можно настроить только вручную. Этой разработкой хочу исправить эту проблему.

14.05.2020    7474    218    CyberCerber    31    

Мини-класс для непосредственного ввода в элементах диалога V7.7

Работа с интерфейсом v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Бесплатно (free)

Класс основан на баге платформы 7.7, является продолжением публикации http://infostart.ru/public/140861/ позволяет искать по наименованию в реквизитах типа справочник "а-ля снеговик".

26.06.2012    21971    162    Ёпрст    88    

MP3 - плейер на основе Miracle

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

MP3 - плейер на основе Miracle с визуализацией спектра, уровней громкости каналов, времени проигрывания

31.03.2012    14257    38    Abadonna    1    

Информация по регионам и ФО с использованием Яндекс.Карт

WEB Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Пример использования Yandex.Map API для отображения информации по регионам или федеральным округам РФ. Раскраска регионов и ФО, вывод меток, работа в режиме картограммы. Не привязан к какой-либо конфигурации. Просто пример. В 8.2 работает на толстом, тонком и WEB*-клиентах. *(WEB не во всех браузерах).

30.11.2011    5541    138    mgor    3    

Форма выбора координат Yandex карт (управляемая форма)

Универсальные обработки WEB Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Обработка позволяет найти нужный адрес на карте Yandex. Отправить сообщение форме-владельцу или всем формам, со строкой координат.

06.09.2011    17074    366    motkot    27    

Прикол над пользователями. 1 апреля

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Завтра первое апреля. День смеха)) Разбавление обычных будней. При открытии формы раскрашивает цветами радуги табличную часть.

31.03.2011    13627    84    Serj1C    20    

Не простой пример работы с флажками и деревом значений (исправление от 21.02.2011)

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

1С.8х позволяет заполнять поле ввода списком значений из выполненного пользователем подбора, при этом контроль на уникальность элементов списка и вхождение в группы необходимо прописать программно (хотя и не сложно). В данном примере показано, как можно реализовать заполнение списка значений поля ввода из справочника /метаданные/, используя дерево значений, простой запрос и обработку помеченных элементов дерева.

20.02.2011    9206    299    demanru    2    

Шрифт Arial для печати текста в рамочке.

Работа с интерфейсом Россия Бесплатно (free)

Как тут уже появился шрифт для печати текста в рамочке, то рискну и я свое творение выложить. Вдруг кому-то не Courier нужен в документах, а Arial.

02.02.2011    13648    41    ValeryZ    14    

Шрифт для печати текста в рамочке.

Работа с интерфейсом v8 1cv8.cf 1cv7.md Россия Бесплатно (free)

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

01.02.2011    16646    126    Sykoku    32    

Исполнение кода в модуле формы при разработке в 1С 8.2

Практика программирования Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Немного теории о новом подходе к программированию форм в 1С 8.2 Рассматриваются директивы компиляции процедур и функций, которые определяются в модуле формы.

15.01.2011    26508    164    1cNike    19    

Братья и сестры, кузены и кузины в Структуре подчиненности

Работа с интерфейсом v8 БП2.0 УПП1 Россия Бесплатно (free)

ФормаСтруктурыПодчиненности в типовых конфигурациях не показывает все ветви, если ее вызвать из потомка. Небольшое изменение.

04.11.2010    8964    104        12    

Дерево конфигурации 8.1

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Обработка предназначена для быстрого доступа к объектам конфигурации.

20.07.2010    7688    312    seagull33    17    

Вариант отображения перебора каталогов

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Как можно отобразить процесс перебора дерева(любого, например дерева каталогов) при условии, что количество элементов дерева неизвестно?

20.05.2010    10150    44    lazy    5    

Танцы с Гуглом

Универсальные обработки WEB Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Работа с картами гугл из локального кэша формата google titles. Всего две функции: показать по координатам и получить координаты под курсором. Применяется для отображения на карте объектов, имеющих координатную привязку.

27.03.2010    7174    200    Путин    7    

Отчет "Движения документа по регистрам", СКД

Работа с интерфейсом Анализ учета v8::СКД 1cv8.cf Россия БУ Бесплатно (free)

Отчет по движениям документа использующий систему компоновки данных

12.03.2010    19105    266    Dmitryiv    9    

[AgentDialog] Модальные диалоги у MS Agent из 1С

Работа с интерфейсом v8 1cv8.cf 1cv7.md Россия Бесплатно (free)

Компонента добавляет в MS Agent возможность формирования диалогов. - выводит модальные предупреждения - выводит сообщения с флажками (метки) - выводит вопросы с предложением различных вариантов ответа - показывает диалог ввода текста - приложены примеры для 1С 7.7, 8.1 и 8.2 (управляемые формы) Простой пример работы с MS Agent http://infostart.ru/public/16658/

24.12.2009    21502    588    Душелов    35    

Рабочий стол (версия 1.2)

Работа с интерфейсом Рабочее место v8 1cv8.cf Бесплатно (free)

Рабочий стол к платформе 1С Предприятие 8.1. Для небольших конфигураций - без страниц. Есть подсказки к значкам и назначение горячих клавиш

22.10.2009    13110    219    rauf    19    

400 анимированных 3D СМАЙЛИКОВ

Работа с интерфейсом v8 Россия Бесплатно (free)

Более 400 анимированных 3D смайликов! Прямо как вы и просили! =)

12.10.2009    13725    454    ChugaevArtem    23    

Большие смайлики

Работа с интерфейсом Россия Бесплатно (free)

Еще несколько смайликов в вашу коллекцию! =)

07.10.2009    26121    392    ChugaevArtem    14    

Сортировка файлов на диске

Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Обработка сортирует файлы на дисках по заданным параметрам.

17.09.2009    7569    25    fox06    4    

Панель избранного 3.03 (beta)

Практика программирования Универсальные обработки Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

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

13.09.2009    33226    996    Totoro    113    

[TinyMCE] - редактор HTML WYSIWYG кода.

WEB Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Редактор HTML кода, использующий java-редактор TinyMCE (использующийся, кстати, на Инфостарте) Без внешних компонент. Сделан исключительно средствами 1С.

09.09.2009    41687    1733    Душелов    54    

Журнал документов с индивидуальной настройкой периода для пользователей

Работа с интерфейсом v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Бесплатно (free)

Позволяет использовать журналы документов с периодами индивидуальными для текущего пользователя.

02.09.2009    8868    18    try2007    34    

Альтернатива стандартному предупреждению(вопросу)

Работа с интерфейсом Универсальные функции v77::ОУ v77::БУ v77::Расчет 1cv7.md Бесплатно (free)

Начальство решило, что на предупреждения оформляемые стандартными средствами 1С малоприметны... В результате родилась прикольная штучка... Вывод текста сообщения бАААААльшими буквами, цвет можно задавать. 7 кнопок видимость и текст задаются при вызове Возвращает текст нажатой кнопки..... ВК у нас не применяются...

28.08.2009    11884    69    nikakoy    29    

Тест группировок в Эксель. Для 1С 7.7

Загрузка и выгрузка в Excel Практика программирования Работа с интерфейсом v7.7 1cv7.md Бесплатно (free)

Тестовая выгрузка справочника номенклатуры в Эксель с xls-группировками. (Такие плюсики слева от листа)

12.08.2009    13437    226    dav405    12    

Сравнение содержания документов Реализация и Счет-фактура

Работа с интерфейсом Учет ТМЦ Учет ТМЦ v77::ОУ v77::БУ 1cv7.md Россия БУ Бесплатно (free)

Сравнение содержания документов Реализация и Счет-фактура

06.08.2009    9416    191    tandy82    10    

Просмотр таблицы значений

Практика программирования Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Простая обработка для просмотра таблицы значений (с возможностью просмотра вложенных таблиц).

05.08.2009    16918    208    Mogidin    6    

Архив к статье "Интеграция 1С с сервисной шиной OpenESB"

Практика программирования Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Архив к статье "Интеграция 1С с сервисной шиной OpenESB"

30.07.2009    6644    118    mini_root    1    

Вывод графиков курсов валют

Работа с интерфейсом Финансовые Управленческие v8 1cv8.cf Бесплатно (free)

Курсы валют из регистра конфигурации или сайта РБК

21.07.2009    19009    368    anig99    18    

Вариант ПанелиФункций (8.1)

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Очередной вариант ПанелиФункций. Пример как можно без особого труда сделать для своей конфигурации панель быстрого доступа.

16.07.2009    7171    374    Русский    24    

Афоризмы 1С 8.1

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Большая подборка афоризмов, цитат, шуток (более 6,5 тыс., все приличные). Внешняя обработка для 1С 8.1. Полезна для улучшения интерфейса.

15.07.2009    10947    518    an77    23    

[PDF Viewer] - Просмотр PDF в 1С

Разработка внешних компонент Работа с интерфейсом v7.7 v8 1cv8.cf 1cv7.md Бесплатно (free)

ActiveX-компонента для просмотра PDF. Позволяет сохранить в виде текста, картинки и PostScript. Реализованы механизмы поиска текста и печати.

15.07.2009    35599    879    Душелов    57    

Иконки Office 2007

Работа с интерфейсом Россия Бесплатно (free)

Интересный способ получения иконок MS Office 2007 :)

06.07.2009    22103    255    Dimasik2007    19    

Вывод полей в нужной колонке в Системе Компоновки Данных

Практика программирования Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Примеры к статье "Вывод полей в нужной колонке в Системе Компоновки Данных"

01.07.2009    18006    908    IronDemon    12    

Очередной набор иконок

Работа с интерфейсом Россия Бесплатно (free)

Очередной набор иконок, больше сказать нечего :)

26.06.2009    18722    247    Dimasik2007    8