Имя: Пароль:
1C
 
1С и Visio
0 ivant
 
23.12.10
17:18
Приветствую всех.
Нужно мне добавить возможность рисовать схемы в 1С и привязывать объекты схемы к определенным элементам в справочнике.

Задумал реализовать это с помощью ActiveX и Visio, да вот беда - форум временно отключил архивы по теме. Собсно, хочется инфы по теме, потому как с ActiveX вообще не работал раньше, не говоря уж о Visio.
1 jcage
 
23.12.10
17:26
(0) берешь C# и делаешь свой ActiveX для рисования схем...
2 КМ155
 
23.12.10
17:30
3 iloktev
 
23.12.10
17:39
Начинал делать интеграцию с Visio, прямо через COMОбъект. Можно было собирать программно схему Visio, можно было разбирать обратно на составляющие и привязывать их к объектам 1С. Не понравилось в итоге, постоянно сбивались активные окна туда-сюда (делал на 8.2 с управляемыми формами).

Код создания схемы выглядит примерно так (нашёл только одну старую обработку):

   Редактор = Новый COMОбъект(СтрокаКласса);
   Редактор.Visible = Ложь;
   
   ДокументыВизио = Редактор.Documents;
   РабочийДокумент = ДокументыВизио.Add("Basic Diagram.vst");
   
   Страницы = Редактор.ActiveDocument.Pages;
   РабочаяСтраница = Страницы.Item(1);
   
   Шаблоны = Редактор.Documents.Add("Basic Shapes.vss");
   
   ОбъектКвадрат    = Шаблоны.Masters.Item("Квадрат");
   КвадратВДокументе = РабочаяСтраница.Drop(ОбъектКвадрат, 1.0, 10.6);
   КвадратВДокументе.Text = "Здесь был Вася!";
4 ivant
 
23.12.10
17:42
(1) в С шарп тоже не силен. да и зачем, если есть готовые редакторы?

(2) о, отлично - самому даже в голову не пришло)

(3) так а на чем в итоге остановились? или вообще не стали реализовывать?
5 iloktev
 
23.12.10
17:49
(4) Стыдно, но остановились на табличных документах:) Именованные области, картинки, всё такое. А визио уж очень неприятно дергался туда-сюда при запуске из 1С.

А вообще мне понравился вариант - общий макет "Навигация" в УНФ. Теоретически можно на лету собирать HTML-ку такую и пользоваться ей как схемой. При этом всё будет находиться в едином интерфейсе и практически без ограничений. Может, когда-нибудь сделаем)
6 ivant
 
23.12.10
18:03
(5) пойду покурю навигацию
7 iloktev
 
24.12.10
09:11
Если будут идеи по её поводу - отпишись пожалуйста! Задействуем коллективный разум:)
8 Nexux
 
24.12.10
09:28
а сам com-объект визио не умеет рисовать?
9 iloktev
 
24.12.10
09:36
(8) Умеет, еще как) В 3-м комментарии пример
10 ivant
 
24.12.10
09:54
Мне надо бы еще привязку к элементам справочников. Вот этого он, кажется, не умеет.
11 iloktev
 
24.12.10
09:59
(10) Тут как проще всего сделать - находите в объектах фигур Visio какой-нибудь строковый реквизит, который доступен на запись и нигде особо не используется (что-нибудь вроде примечания, например), и при сборке\разборке схемы пишете туда GUID элемента справочника, ну или просто GUID который где-нибудь в реквизите справочника или регистре сведений хранится.
12 ivant
 
24.12.10
10:03
(7) я ее посмотрел, там просто картинка как фон используется и в теле HTML документа прописываются области, которые используются как ссылки. Чтобы сделать ее интерактивной, нодо создать визуальный редактор HTML, который умел бы рисовать, перетаскивать и редактировать объекты.
13 iloktev
 
24.12.10
10:06
(12) Ну я это и имел в виду. Просто сам HTML-код "Навигации", возможно, удобно было бы взять за основу такого редактора.
14 ivant
 
24.12.10
10:07
(11) круто) попробую
15 ivant
 
24.12.10
10:14
(13) В коде "Навигации" прописана прямоугольная область и ссылка к ней привязана. Все статично. И еще не известно как ее сохранять - тоже только внешним файлом получается.
16 iloktev
 
24.12.10
10:25
Так ведь редактор для того и нужен, чтобы html-код собирать интерактивно. План такой: создать ряд предопределенных картинок - узлов схемы. Нет, даже не предопределенных, пусть это будет справочник, с реквизитом "картинка", тип ХранилищеЗначений.

Человек выбирает из справочника элемент - чего хочет на схему добавить. Собирается хтмл-ка с картинкой из справочника, её координаты где-то сохраняются. Потом двигает каким-то образом, куда ему нужно (WYSIWYG, боюсь, не получится - придется кнопко-стрелками перемещать). Мэппингом как в "Навигации" под картинку задаётся область действия, привязывается к справочнику GUID'ом (картинку тоже надо привязать таким образом).

Ну и вот, собственно, редактор схем в HTML-е. Стрелочки только не придумал еще, как сделать. А хранить код схемы можно в обычной строке, если хочется.
17 ivant
 
24.12.10
14:30
а оно того стоит?
18 iloktev
 
24.12.10
14:52
(17) Ну тут смотря под какие задачи. В принципе, это всё несложно реализуется, я по такому алгоритму собрал форум за 2-3 дня. Ну там аватарки, дерево комментариев, сами комментарии оформлять можно (шрифт, картинки, всё такое).
Главный плюс таких реализаций на html - всё в интерфейсе 1с, не нужно тыкаться туда-сюда между разными окнами.
19 Dem1urg
 
24.12.10
15:03
(0) Если схема относительно простая можно использовать карту маршрута БП без самого БП. Т.е. создать БП фактически состоящий только из карты маршрута.
20 iloktev
 
24.12.10
15:16
(19) Ну собственно тоже вариант, но так можно и без предопределенного БП - рисовать схемы на форме и сохранять в хранилища значений
2 + 2 = 3.9999999999999999999999999999999...