Графическая схема. Программное создание и изменение.

15.08.12

Разработка - Универсальные функции

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

Графическая схема - это по сути обычный компаунд файл, который можно формировать самому.

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

К примеру текст формирования новой графической схемы и выведения его:


	 мОбъектГрафическаяСхема=ПолучитьСтруктуруГрафическойСхемы();
мОбъектГрафическаяСхема.ШагСеткиПоГоризонтали=10;
мОбъектГрафическаяСхема.ШагСеткиПоВертикали=15;

лОбъектСхемы=ДобавитьТочкуДействия(мОбъектГрафическаяСхема, "Тест", 10, 10, 20, 20);
лОбъектСхемы.СтруктураОтрисовки.ТипЦветаФона=2;
лОбъектСхемы.СтруктураОтрисовки.ЦветФона=12312;
лОбъектСхемы.ПояснениеДействия="Пояснение";
лОбъектСхемы.СтруктураЛинии.ТолщинаЛинии=3;

лЛиния=ДобавитьЛинию(мОбъектГрафическаяСхема);
лЛиния.СтруктураИмени.Идентификатор="Линия1";
лЛиния.РазмещатьНаименованиеВСерединеЛинии=Истина;
лТочка1=ПолучитьТочкуТочкиДействия(лОбъектСхемы, "Право");
лТочка2=ПолучитьТочкуТочкиДействия(пОбъектСхемы2, "Право");
лТочка2.Лево=лТочка2.Лево+100;
лЛиния.Точки.Добавить(лТочка1);
лЛиния.Точки.Добавить(лТочка2);
лЛиния.ОткудаВыходитЛиния=3;
лЛиния.КудаВходитЛиния=0;

ОтобразитьГрафическуюСхему(мОбъектГрафическаяСхема, ЭлементыФормы.ПолеГрафическойСхемы);

Сами функции для работы со схемой смотрите в данном примере //infostart.ru/projects/4403/

В данном примере реализованы не все возможности для работы со схемой. Полный разбор схемы + дополнительный объект для построения схемы на объектном уровне есть в данной разработке: //infostart.ru/public/144273/

Возможна доработка возможностей и расширенное консультирование на коммерческой основе.

Данная технология активно используется в конфигурация для Учета в отделе ИТ

Тэги: Программное редактирование Графической схемы

См. также

Вставляем картинку из буфера обмена (платформа 1С 8.3.24)

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

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    2662    0    John_d    8    

53

GUID в 1С 8.3 - как с ними быть

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    4595    atdonya    22    

45

Переоткрытие внешних обработок

Универсальные функции Платформа 1С v8.3 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    3956    ke.92@mail.ru    16    

61

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

28.08.2023    8802    YA_418728146    6    

141

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    2071    21    progmaster    7    

3

Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов

Инструментарий разработчика Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации [Alt+C] Копировать список, [Alt+V] Вставить список. Также для копирования данных используется стандартная [Ctrl+C] (например из открытого xls, mxl, doc и т.п. файла скопировать список наименований)

1 стартмани

13.10.2022    16140    133    sapervodichka    112    

129

Система контроля ведения учета [БСП]

Универсальные функции Механизмы типовых конфигураций БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данном материале рассмотрим типовой алгоритм подсистемы контроля учета БСП в конфигурациях на примерах.

18.07.2022    7242    quazare    8    

109
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. vladnet 361 11.06.09 14:57 Сейчас в теме
Если кто подскажет как же сюда все таки правильно вставлять ссылки и код, поделитесь.
2. пользователь 13.06.09 18:03
Сообщение было скрыто модератором.
...
3. пользователь 13.06.09 18:05
Сообщение было скрыто модератором.
...
4. vladnet 361 13.06.09 18:17 Сейчас в теме
(3) Да в общем то и так можно разобрать что там написано. Анализировал так: сперва разбирал в дерево, потом изменял параметры потом собирал. 1с переодически вываливалась. Много чего кстати осталось неразобранным.
5. macana 26 28.07.11 09:59 Сейчас в теме
Мож кто знает как сохранить схему в графическом виде,
виртуальный принтер не интересует, может кто на компонент ActivX натыкался
6. macana 26 28.07.11 17:17 Сейчас в теме
7. TitanLuchs 395 29.09.11 17:18 Сейчас в теме
Не могу скачать файл.
Функции по разборке и сборке схемы используют только язык 1С или применяется внешняя компонента?
8. vladnet 361 04.10.11 13:04 Сейчас в теме
Используется только 1с. Сейчас посмотрю что там по файлу.
9. vladnet 361 04.10.11 13:08 Сейчас в теме
10. o_jumi 13.10.11 15:49 Сейчас в теме
спасибо автору) полезная штука)
11. dandrontiy 21.12.11 16:41 Сейчас в теме
Да уж. Труд титанический.
У меня такой вопрос - а в блоках можно избавиться от головы этой (пиктограмки) и шапки ? она совершенно мне не нужна. Еще я так понял, что при таком программном построении линии не прилепают к тем объектам к которым их проводили. может есть способ привязать ?

А вообще - очень интересная разработка. Там еще по идее можно квадраты строить - они как раз без пиктограмки - и тоже с текстом.
И в этом примере нет еще функций чтобы при щелчке на объекте что то делать - такое вообще возможно ? ну хоть бы сообщение вывести - короче вызвать любую функцию....
14. vladnet 361 10.05.12 16:16 Сейчас в теме
(11) Все прилипает.
Это просто графическая схема, у нее есть стандартные события, смотрите.

(12) Была на каком то релизе проблема, вроде что то делал и решилось. Надо опять пересматривать что там изменилось. Хотя у меня в моих конфигурациях все работает.

(13) Вроде бы не разбирал это. За небольшую плату могу разобрать. Если что пишите в личку ну или прямо на мыло info@tunesoft.ru.
12. Barbiturat 01.02.12 10:14 Сейчас в теме
При редактировании схемы вручную (например, удалить элемент схемы кнопкой delete) вываливаеться в дамп. ПОдскажите, может кто сталкивался с такой проблемой и решил ее :)
13. val_yan 10.05.12 14:01 Сейчас в теме
Я правильно понял, что на данный момент, нет возможности отобразить (кодом) такие элементы как "декорация, вложенный процесс, точка обработки"?
15. пользователь 18.09.12 00:00
Сообщение было скрыто модератором.
...
Оставьте свое сообщение