Графическая схема - это по сути обычный компаунд файл, который можно формировать самому.
Поэтому для того чтобы внести изменения в графическую схему нужно всего лишь разобрать этот файл в понятный нам объект (в примере используется объект Структура), потом внести изменения, а потом снова его собрать. Ну а если нужно сделать новую схему, то создается наш программный объект, а потом просто сформировать его в текст, а текст загрузить в поле графической схемы.
К примеру текст формирования новой графической схемы и выведения его:
мОбъектГрафическаяСхема=ПолучитьСтруктуруГрафическойСхемы();
мОбъектГрафическаяСхема.ШагСеткиПоГоризонтали=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/
Возможна доработка возможностей и расширенное консультирование на коммерческой основе.
Данная технология активно используется в конфигурация для Учета в отделе ИТ
Тэги: Программное редактирование Графической схемы