Почему то фирма "1С" пошла особым путем и лишила нас, программистов, возможности полноценно работать с таким объектом, как графическая схема. Точнее, работать-то с ней можно, но как то однобоко.
Мне понадобилась как-то возможность программного добавления элементов графических схем, но, поблуждав по Инфостарту, ничего нормально работающего не нашел.
Но есть достойные работы, например, публикация Редактор графической схемы.
Но для 8.3 там есть ошибка, когда для добавляемых элементов схемы пропадали связи со стрелками. Да и вообще подход у всех подобных публикаций одинаковый, запись в файл и анализ того, что в файле. Причем анализ достаточно сложный:
Понятно, что при таком подходе, если завтра 1С изменит формат файла, то ничего работать не будет. Так как быть, если очень надо? Анализировать внутреннее представление графической схемы дело достаточно кропотливое.
Предлагаю другой подход к программной работе с графической схемой:
- Как вариант выхода из проблемы — сериализация графической схемы в XML с последующим изменением тегов. Так вероятность того, что после обновления формата это перестанет работать, гораздо ниже.
- Для каждого из добавляемых элементов заведем отдельную графическую схему-эталон (макет графической схемы), в которой будет добавляемый элемент со стрелочками и прочим (см. третий скриншот). Эту схему тоже сериализуем, используя DOM в XML, выбираем все добавляемые элементы из схемы эталона.
- Изменим в сериализованной схеме-эталоне внутренние идентификаторы добавляемых элементов на уникальные и изменим имя элемента.
- Вставим схему эталон в схему источник, в блоке указываются все элементы. Тут простая работа со строками. Один XML файл вставляем в другой в определенное место.
- Десериализуем полученную схему результат.
- Профит! 🙂
Аналогично можно управлять положением, шириной и высотой элементов. Надо просто проанализировать XML-файл и изменить его. Ниже обработка, которая позволяет добавлять элементы к графической схеме с данным подходом.
Данная обработка является редактором графической схемы и в отличии от типового редактора файлов 1С и встроенного в платформу механизма редактирования графической схемы, все действия с объектами схемы осуществяются программно.
Функции этой обработки можно использовать для программной работы с графической схемой.
Обработка позволяет сохранять графическую схему в файл.
Содержание
- Описание
- Загрузка из ППР (Передовые платежные решения) — Сведения о заправках на АЗС за сутки из сервиса ППР 0
- Канбан-доска для 1С:Предприятие 8.3 66
- Служебные записки 5
- Центр компетенций 1С #1: Технологический блог 4
- Комплексное закрытие задач в Документообороте 7
- Автоматическая генерация технологических карт на основе графической схемы 2
- Программное управление бизнес-процессом "Заявка на Страхование" в 1С: Документооборот из внешней системы на практическом примере 5
- Подсистема Бизнес-процессы. Создание бизнес-процессов в пользовательском режиме (управляемые формы) 19
- Управление задачами в 1С — готовая подсистема с открытым кодом и широким базовым функционалом. Версия 1.0.6 93
- Применение цифровой подписи при организации учёта ТМЦ и ГСМ 10
- Шаблон бизнес-модели Остервальдера и Пинье 3
- "Простые регламенты" — помощник создания правильных регламентов ваших бизнес-процессов !БЕСПЛАТНО! 31
- Система по управлению задачами в 1С: УТ 11 8
- Получение актуального маршрута согласования комплексного процесса 1С Документооборот 9
- Программная работа с графическими схемами. Готовое решение 40
- Бизнес-процессы: Согласование скидки с клиентом 6
- Бизнес-процессы: Процесс заключения договора с клиентом 10
- Условия для дополнительных реквизитов в задачах бизнес-процессов (шаблоны) + доработка интерфейса многостраничные реквизиты — расширение 1
- Автозадачи 164
- Согласование (подсистема). Для любого справочника и документа в 1С. Встраивается в любые конфигурации 132
- Работа с задачами исполнителя 4
- Торговля глазами ветврача. Оформление ветеринарно-сопроводительных документов в системе Меркурий (Часть 3) 10
- Производство глазами ветврача. Оформление ветеринарно-сопроводительных документов в системе Меркурий (Часть 2) 22
- Бизнес-Процесс Для УПП УправлениеЗакупками 9
- Сохранение графической схемы как картинки 2
- Обработчик автоматической регистрации документа 1С:Документооборот после утверждения и автозаполнения файла по шаблону 27
- Бизнес-процесс Автосервис 17
- Редактор регистра адресации 4
- Настройка интеграции «1С:Управление торговлей 8 Редакция 11» и «1С:Документооборот». Бизнес-процессы, внешние роли исполнителей. 28
- УПП: история одного внедрения 365
Описание
К сожалению в 1С не реализована полноценная работа с графической схемой, но можно найти выход. Конечно можно редактировать графическую схему средствами 1С или программу для работы с файлами от 1С: Работа с файлами
Графическая схема является файлом, который выглядит примерно так:
В коде файла много разных параметров, но можно разобраться за что некоторые из них отвечают.
Опишу некоторые элементы:
Тип элемента показывает какой тип элемента сейчас будет описан. С этого параметра начинается описание элемента в файле графической схемы.
Тип элемента это число от 0 до 10, которое показывает элемент какого типа будет размещен на схеме.
0 — Декорация
1 — Линия
2 — Старт
3 — Завершение
4 — Условие
5 — Действие
6 — Выбор варианта
7 — Точка разделения
8 — Точка слияния
9 — Обработка
10 — Вложенный бизнес процесс
Заголовок это надпись на элементе
Имя — Уникальное имя на схеме
Координаты области это две точки прямоугольника, внутри которого находится сам элемент.
Число точек показывает из скольки точек состоит элемент графической схемы.
Координаты точек это координаты точек объекта, перечисленные по часовой.
Почти все элементы имеют схожую структуру и различаются в основном по типу элемента, геометрической форме.
Но некоторые представляют особый интерес, например линия. Структура линии отличается от структуры других элементов и имеет ряд особенностей. Например линия может иметь произвольное число точек.
Особенности структуры линии:
С указания типа элемента начинается описание структуры элемента в файле графической схемы. Элемент начало показывает номер элемента, из которого линия выходит, а элемент конец — номер элемента на который линия указывает. Декоративная линия показывает является ли линия декоративной или соединительной. Соединительная линия обязательно соединяет два элемент, а декоративная линия может как соединять элементы, так и "болтаться в воздухе".
0 — Соединительная линия
1 — Декоративная линия
Линия может иметь произвольное число точек и их количество указывается в файле перед перечислением координат точек линии. Грань выхода показывает грань из которой выходит линия, грань входа показывает грань в которую линия входит. Грани почти всех элементов пронумерованы от 1 до 4, кроме элемента "Выбор варианта".
Элемент выбор варианта имеет особенность: из одной грани может выходить несколько линий. Это зависит от числа вариантов выбора. Нумерация точек, из которых линия выходит отличается:
Также в структуре элемента "Выбор варианта" описываются варианты:
Таким образом поставляя эти параметры в текст файла графической схемы можно осуществлять работу с графической схемой.
Конфигурация отличается от обработки тем, что в конфигурации есть картинки как в типовой панели.
Скачать файлы
Наименование | Файл | Версия | Размер |
---|---|---|---|