Имя: Пароль:
1C
 
Как рисовать в 1С?
0 Stepa86
 
14.11.07
11:10
Кто нибудь работал с графической схемой??? Не понимаю как можно ее сохранить в системе, восстановить и читать. То есть как программно определить откуда стрелочка начинается и куда втыкается...
1 AlexTanaev
 
14.11.07
11:51
заведи реквизит: у меня это "Схема" с типом ХранилищеЗначения
//сохранить
Процедура ПередЗаписью(Отказ)
  ИмяФайла = ПолучитьИмяВременногоФайла("grs");
  СхемаС = ЭлементыФормы.Решение.ПолучитьСхему();//поле графической схемы
  СхемаС.Записать(ИмяФайла);
  Схема = Новый ХранилищеЗначения(Новый ДвоичныеДанные(ИмяФайла));//реквизит
КонецПроцедуры

//загрузить
Процедура ПриОткрытии()
   Решение = Новый ГрафическаяСхема;
   ДвоичныеДанныеСхемы = Схема.Получить();
   ИмяФайла = ПолучитьИмяВременногоФайла("grs");
 
   ТипЗначения = ТипЗнч(ДвоичныеДанныеСхемы);
   Если ТипЗначения <> Тип("Неопределено") Тогда
        ДвоичныеДанныеСхемы.Записать(ИмяФайла);  
      Решение.Прочитать(ИмяФайла);
      ЭлементыФормы.Решение.УстановитьСхему(Решение);
   КонецЕсли;    
КонецПроцедуры
2 Stepa86
 
14.11.07
12:17
(1) Ну с этим понятно, а вот как програмно добавлять/удалять/редактировать элементы схемы и читать ее. у них нет ни координат, ни взаимосвязи друг с другом...
3 Mustang
 
14.11.07
14:23
up
4 tsr
 
14.11.07
14:52
(2) Нет такого пока в 8.1.
5 Stepa86
 
14.11.07
15:03
Может тогда существует какой нибудь програмка или компонент для работы с *.grs???
6 Stepa86
 
15.11.07
12:52
Вообще говоря код:

ИмяФайла = ПолучитьУникальноеИмяФайла();
ГрафическаяСхема.Записать(ИмяФайла);
ТекстовыйДокумент = Новый ТекстовыйДокумент();
ТекстовыйДокумент.Прочитать(ИмяФайла);

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