скд связи параметров выбора в отборе
Теперь, когда я выбираю одного Контрагента, то выбирается список его договоров, но когда я открываю 2-х и более Контрагентов, то вываливается весь список договоров, без какого-либо отбора.
Вопрос: Как настроить связь, что бы при выборе нескольких Контрагентов выдавался список Договоров только этих Контрагентов?
(2) Rothschild, Подправил описание. Формы управляемые.
(7) Восьмой, зачем такие сложности?
В КомпоновщикНастроекПользовательскиеНастройки формы СКД событий предостаточно, или они с отборами не дружат?
(13) ikar-nikolay, я имел ввиду вот с этим шаманство:
Для выполнения пункта 1 написал процедуру
ЗЫ
можно разве что
попытаться сделать предлагаемый механизм чуток универсальней.
Я пошутил выше по поводу сохранения значений в параметры. )))
Сделал универсально, но не максимально универсально. если найдется деятель, который форму созданную физически создаст кодами конфигуратора и закрепит обработчики событий, то это будет максимальная универсация.
Форма выбора открывается, когда и у Подчиненного и у Владельца указан тип значения (ВСписке).
Для реализации нам требуется:
1) создать произвольную форму в СКД с названием «ФормаВыбораПодчинения»
и следующими реквизитами (соответственно реквизиты ВладелецВыбор и ПодчиненныйВыбор должны иметь правильную ссылку)
В коде формы необходимо подставить название справочника подчиненных элементов в переменную строкаСпрПодчинененныхЭлементов (например «Договоры»)
Все остальное без изменений. В коде дал подробные разъяснения что и зачем.
2) В КомпоновщикНастроекПользовательскиеНастройки (см. пост выше) на ПередНачаломИзменения вешаем приведенный ниже обработчик.
Все, что нам тут необходимо ввести, это строковое название Реквизита владельца и подчиненного в переменные НазваниеРеквизитаВладельца, НазваниеРеквизитаПодчиненного.
В созданной форме выбора можно будет добавить список Владельцев, по которым необходимо делать отборы и после завершения подбора, выбранные значения Владельцев автоматически попадут в настройки.
Параметры выбора и связи параметров выбора в панели быстрых настроек отчета СКД
При разработке отчета на СКД часто требуется указать связь между параметрами этого отчета. Например если в отчете имеется параметры «Номенклатура» и «Серия», при выборе серии показывать только серии данной номенклатуры. Или нужно отображать в списке выбора элементов справочника «ЗначенияСвойствОбъектов» только значения, принадлежащие определенному элементу плана видов характеристик «ДополнительныеРеквизитыИСведения». Несмотря на то, что в полях и параметрах СКД есть возможность указать параметры выбора и связи параметров выбора, этот механизм не работает (по крайней мере, так обстоит дело в ERP 2.4.9.98).
Можно написать свою форму отчета, разместить на ней элементы отбора и сделать в ней все, что угодно. Но не хотелось бы терять мощные механизмы общей формы «ФормаОтчета» или копипастить их в свой отчет.
Можно модифицировать общую форму «ФормаОтчета» под свои задачи. Но не хотелось бы это делать каждый раз при разработке нового отчетов.
Предлагаю пример решения этой задачи для двух вариантов:
1. Фиксированный параметр выбора для поля «Отбор». В отчете сделан отбор по полю с типом «Справочник.ЗначенияСвойствОбъектов». При выборе значения отбора требуется показать пользователю только элементы с заданным владельцем.
2. Связи параметров выбора для поля «Параметр». В отчете имеется 2 параметра: Номенклатура и Серия. При выборе серии, показывать пользователю только серии выбранной номенклатуры
1. Фиксированный параметр выбора
Создаем отчет (файл ВнешнийОтчет_ФиксированныеПараметрыОтбора.erf).
Если отчет встроен в расширение, то необходимо:
1. Добавить в расширение подсистему ПодключаемыеОтчетыИОбработки
2. Добавить отчет в эту подсистему
3. В модуле менеджера отчета написать код:
В 1С добавить дополнительный реквизит справочника Номенклатура «Раздел комплектации» с типом значений «Дополнительное значение». Указать или сгенерировать имя реквизита, в моем случае это «РазделКомплектации_c7a03c267bb64e0eb58489873f24c25e»
В отчете составляем текст запроса:
Для поля «РазделКомплектации» нужно указать тип значения СправочникСсылка.ЗначенияСвойствОбъектов
На вкладке «Параметры» укажем выражение для параметра «Свойство»: ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту(«Имя», «РазделКомплектации_c7a03c267bb64e0eb58489873f24c25e», Истина)
Включим отбор по полю «РазделКомплектации» в пользовательские настройки: на вкладке «Настройки», «Отбор» добавими отбор «РазделКомплектации», щелкнем на нем правой кнопкой мыши, «Свойства элементов пользовательских настроек», установим флажок «Включать в пользовательские настройки».
В модуле отчета указываем, что мы перехватываем событие «ПослеЗаполненияПанелиБыстрыхНастроек»:
2. Связи параметров выбора
Создаем отчет (файл ВнешнийОтчет_СвязиПараметровВыбора.erf).
Как и в предыдущем примере, если отчет встроен в расширение, то необходимо:
1. Добавить в расширение подсистему ПодключаемыеОтчетыИОбработки
2. Добавить отчет в эту подсистему
3. В модуле менеджера отчета написать:
В отчете составляем текст запроса:
Параметры «Номенклатура» и «Серия» включим в пользовательские настройки (см. выше).
В модуле отчета указываем, что мы перехватываем событие «ПослеЗаполненияПанелиБыстрыхНастроек»:
В обработчике этого события:
2. Добавляем в форму новый реквизит «МойРеквизит_Номенклатура». Добавить элемент формы для этого реквизита.
Элементу формы указать обработчик события «ПриИзменении» (обработчик этого события и будет то единственным изменением общей формы «ФормаОтчета»).
3. Скрываем старый элемент формы «Номенклатура».
4. Для элемента формы «Серия» задаем связи параметров выбора.
5. Сохраняем необходимую в дальнейшем информацию в дополнительных свойствах пользовательских настроек компоновщика настроек:
Разбираемся с параметрами редактирования СКД
Вступление
В конструкторе СКД на некоторых вкладках есть колонка Параметры редактирования (или Параметры ввода, что то же самое по сути).
Настройка этого значения выполняется через специальное окно с одноименным названием.
Некоторые элементы списка этих параметров не имеют конструкторов, а также имеют неочевидные названия.
Настройка этих параметров может вызывать трудности.
Достаточно подробного описания данного механизма с доступными примерами мне найти не удалось, поэтому разбирался самостояетельно.
Самые простые параметры редактирования
Наиболее простыми для использования являются следующие параметры: Формат редактирования, Быстрый выбор, Выбор групп и элементов. С ними все понятно, поэтому их пропустим.
Связи параметров выбора
Настраиваются через специальное окно Редактирование связей параметров выбора.
Рассмотрим на примере как заполнять поля этой формы.
Пример 1
Тогда достаточно в поле Параметр выбора указать имя реквизита из справочника Договоры контрагентов, в нашем случае это Владелец, поэтому запишем: Отбор.Владелец.
Зачем добавлять слово Отбор, опишу ниже.
Теперь, если у параметра Контрагент стоит флаг Использование и контрагент выбран, то при выборе договора, будет накладываться отбор по владельцу.
Если же Контрагент не выбран или флаг у контрагента не установлен, то при выборе договора будут отображаться все договоры.
Поле Изменение значения влияет на то, очищать ли договор, если пользователь выбрал другого контрагента или не очищать.
Параметры выбора
Настраиваются через специальное окно Редактирование параметров выбора.
Рассмотрим на примере как заполнять поля этой формы.
Пример 2
Поля Контрагент и Договор из первого примера.
Мы хотим, чтобы пользователь мог выбрать только договор с видом С покупателем или Прочее и не помеченный на удаление.
Добавляем два параметра:
1. Параметр выбора = Отбор.ПометкаУдаления; Значение = ЛОЖЬ
2. Параметр выбора = Отбор.ВидДоговора; Значение = список из двух элементов : С покупателем, Прочее
Эти два параметра будут устанавливаться всегда независимо от выбранности/невыбранности параметра Контрагент.
Зачем нужно слово Отбор?
Почему в поле Параметр выбора необходимо использовать приставку Отбор? Какие еще параметры можно указывать и на что это влияет?
Это один из ключевых вопросов данной статьи, который и стал поводом к ее написанию.
Для ответа на этот вопрос предположим, что у нас есть независимая обработка без СКД с реквизитами Контрагент и Договор.
Какой код нам потребовалось бы написать, чтобы при подборе в поле Договор на нашей обработке устанавливались нужные отборы и передавались параметры?
Один из вариантов этого кода выглядит следующим образом.
Чтобы получше разобраться поэкспериментируем
Пример 3
Добавим по два параметра в Параметры выбора и в Связи параметров выбора.
Поставим точку останова в форме выбора при создании на сервере
Видим, что параметры, переданные без точек пришли как отдельные, а параметры, имеющие точки пришли в виде структуры.
Связь по типу
В настройке данного параметра сбивает с толку наличие поля Элемент связи с типом число.
Чтобы понять как его настраивать разберем два примера.
Пример 4
Создадим в СКД параметр Счет.
И еще три параметра Субконто1, Субконто2, Субконто3.
Мы хотим, чтобы если выбран Счет, то во параметре СубконтоN автоматически устанавливался отбор со значениями соответствующего субконто.
В этом случае для параметра Субконто1 настраиваем Связь по типу:
Поле = Счет (ПараметрыДанных.Счет), Элемент связи = 1 (номер субконто)
Для остальных двух параметров аналогично, только Элемент связи будет 2 и 3.
Теперь при выбранном параметре Счет, в полях СубконтоN будут доступны только значения, соответствующие типу субконто
Пример 5
Создадим в СКД параметры Вид субконто и Субконто.
Мы хотим, чтобы при выборе вида, были доступны только значения соответствующие виду субконто.
В этом случае для параметра Субконто1 настраиваем Связь по типу:
Поле = ВидСубконто (ПараметрыДанных.ВидСубконто), Элемент связи = 0 (не имеет значение в данном случае)
Заключение
Данный механизм в СКД аналогичен тому, который позволяет настраивать параметры реквизитов в справочниках, документах и т.д.
Но такие связи приходится настраивать довольно редко, и часто в таких случаях проще решить задачу с помощью кода, чем разбираться как это все настраивается.
Думаю, что данное описание поможет разобраться в этом механизме и начать его применять.
Связи параметров выбора в 1С
1. Свойство связи параметров выбора в 1С
С появлением механизма управляемых форм в 1С значительно расширились возможности настройки поведения форм и элементов форм прикладных объектов 1С (справочника, документа и пр.).
Формы прикладных объектов — это именно те элементы интерфейса программы, которые видит и с которыми работает пользователь.
Именно это обстоятельство является главным фактором требующего наличие как можно более развитого и гибкого механизма настройки поведения форм прикладных объектов при работе с ними пользователей (в пользовательском режиме, режиме 1С:Предприятие).
И вот начиная с версии платформы 1С 8.3 появилось большое количество настраиваемых свойств у реквизитов объектов метаданных конфигурации, а также реквизитов и элементов управляемых форм.
Зачастую в процессе работы пользователя с формами и элементами форм возникает необходимость ограничивать объем предлагаемых для выбора данных, другими словами, использовать фильтр.
Вот именно одним из таких «фильтров» является свойство «Связи параметров выбора» (Рисунок 1).
Это свойство предназначено для настройки фильтра формы выбора без написания кода программы, т.е. без программирования.
Другими словами, это свойство позволяет указать список реквизитов, которые будут поставлять значения, используемые при выборе значения реквизита, при открытии формы выбора, при отображении списка быстрого выбора и при выполнении ввода по строке.
2. Реквизиты объектов метаданных и элементы формы в 1С 8.3. Разница в использовании свойства «Связи параметров выбора»
Следует отметить, что свойство «Связи параметров выбора» есть и у реквизитов объектов метаданных в 1С (Рисунок 2).
И у элементов формы в 1С 8.3(Рисунок 3)
Разница в использовании этого свойства у реквизита объекта метаданных и элемента формы в том, что в случае использования свойства связи параметров выбора в 1С реквизита, установленные настройки будут распространяться (действовать) во всех формах объекта метаданных (справочника, документа и пр.) у реквизита, где это свойство настроено. В случае же использования этого свойства у элемента формы настройки будут распространяться только на данную форму объекта и в других формах действовать не будут.
В большинстве случаев с методологической точки зрения корректнее настраивать свойство «Связи параметров выбора» у реквизита объекта метаданных.
3. Как использовать свойства связи параметров выбора в 1С. Пример
Одним из типичных и распространенных примеров подобной ситуации является случай, когда после выбора в документе поступления товаров поставщика при последующем выборе договора не нужно выбирать из всех договоров, а необходимо ограничить список только договорами, заключенными именно с этим поставщиком.
Рассмотрим использование свойства связи параметров выбора в 1С на простейшем примере.
Вот данные справочника «Контрагенты» (Рисунок 4).
И соответственно данные справочника «Договоры» (Рисунок 5).
При пустом значении свойства «Связи параметров выбора» (Рисунок 6).
. В режиме 1С:Предприятия в документе «Приходная накладная» при выборе договора отображается полный список договоров, по всем контрагентам (Рисунок 7).
Теперь установим значение свойства «Связи параметров выбора» (Рисунок 8, Рисунок 9, Рисунок 10).
И вот что получаем (Рисунок 11).
Как видно на скрине, после настройки свойства «Связи параметров выбора» список договоров фильтруется по выбранному в документе контрагенту.
При настройке свойства в конфигураторе 1С Связи параметров выбора в форме настройки есть параметр «Режим изменения связанного значения» установленный в значение «Очищать» (Рисунок 12).
При таком параметре в случае изменения или очистки значения поля «Контрагент» значение поля «Договор» тоже будет очищено.
Такие настройки позволяют получить большую достоверность вводимых данных и минимизировать ошибки при вводе данных уменьшая влияние человеческого фактора.
Значения, указанные в данном свойстве, будут переданы в открываемую форму через структуру Параметры передавая их при вызове метода ОткрытьФорму()
4. Связи параметров выбора в 1С программно
Также у элементов формы можно устанавливать и изменять связи параметров выбора в коде 1С программно.
Если рассматривать пример выше, то фрагмент программного кода будет выглядеть так:
Вызывать процедуру установки связи нужно из процедуры:
Связи параметров выбора номенклатуры и характеристики в 1С 8.3
1. Заполним свойства характеристики
Код далее тестировался и работает на последних релизах конфигураций: КА, УТ.
2. Добавим новый реквизит табличной части на форму
ХарактеристикиИспользуются тип булево.
3. В модуле объекта
4. В модуле формы
Нюанс 1. Не забудьте выбрать событие при изменении у номенклатуры в табличной части.
Нюанс 2. Если вы скопировали процедуры и вставили в модуль формы.
Проверьте наличие повторяющихся имен:
Дважды кликните на следующие имена в скобках:
Нюанс 3. Если у вас табличная часть называется не Товары.
Нужно изменить в модуле объекта:
Нужно изменить в модуле формы:
Скачать файлы
Специальные предложения
Обновление 22.02.21 16:00
См. также
Безопасная работа с транзакциями во встроенном языке Промо
Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку «В данной транзакции уже происходили ошибки». Учимся защищаться от них.
25.03.2019 44734 tormozit 58
Пример создания документа с движениями в ERP 2.5.7
Пример создания документа с движениями в ERP 2.5.7, а также включение документа в основные подсистемы, а именно по управлению доступом, датам запрета изменения, контролю остатков, использованию характеристик и серий и прочее.
10.08.2021 1737 maraty 10
Работа с абстрактным массивом
Абстрактные типы данных и алгоритмы уверенно набирают популярность в языках общего назначения. Встроенный язык 1С является предметно-ориентированным и не спешит развиваться в сторону поддержки абстракций. Однако потребность в них существует, т.к. задачи, решаемые на платформе, не уступают разнообразию из других ЯП. Предлагаю рассмотреть вариант реализации абстрактного массива в 1С.
07.07.2021 3593 kalyaka 56
Семеро одного не ждут? Асинхронное исследование асинхронности
Все уже, наверное, знают о появлении в новых версиях платформы асинхронных функций и конструкций Асинх/Ждать. Многие, возможно, уже их используют. Но что будет, если создать свои асинхронные функции, запустить и не дожидаться окончания их выполнения? Неужели можно запустить несколько процессов параллельно?
08.06.2021 5254 Alxby 45
Как выполнить отчет на СКД через COM и получить данные отчета? Промо
Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, «скопипастить» текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его «немного модифицированная» копия. В статье будет рассмотрен пример получения данных из базы ЗУП.
08.05.2018 31164 wowik 3
Динамическая расшифровка СКД (на примере отчета)
Предлагаю Вашему неподкупному вниманию вариант более-менее унифицированной реализации динамически формирующейся расшифровки СКД на примере простейшего отчета для конфигурации УТ 11.
08.12.2020 1475 mr_sav 2
СКД: все, что вы хотели знать о подмене схемы компоновки данных в отчетах и обработках
Довольно часто на различных тематических форумах задается вопрос, можно ли использовать в отчете/обработке несколько схем компоновки данных, подменяя одну другой по мере надобности? При этом желательно, чтобы и пользовательские настройки при смене схемы менялись соответственно.
07.12.2020 4887 user1502278 18
Cбор и анализ ошибок при помощи Sentry, или как упростить жизнь себе и пользователям
09.10.2020 7064 hexhoc 12
Если у вас возникает необходимость на форму влиять динамически и создавать элементы управляемой формы программно, а особенно хотите вывести программно (динамически) динамический список, вам будет интересна эта процедура. Процедура включает также возможность формирования своей командной панели (а-ля снятие галочки «Автозаполнение» у стандартной командной панели списка).
19.01.2018 69169 rpgshnik 31
Программная корректировка при выводе отчета СКД
Большинство отчетов на СКД, требующих программной корректировки, реализуются с помощью программной настройки СКД или обработки табличного документа уже после вывода отчета. Но во многих случаях более оптимально будет выполнять программную корректировку в процессе вывода отчета. Для этого существуют программные объекты, о которых я расскажу в данной статье.
08.10.2020 10373 dabu-dabu 16
Загрузка, скачивание, удаление файлов с помощью НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера()
В платформе 8.3.15 появились новые методы НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера(). В данной статье рассмотрено готовое решение проверенное и прекрасно работающее на тонком и веб-клиенте.
25.07.2020 11104 Flashill 15
Универсальная печатная форма Приказа/Договора с возможностью настройки макета в пользовательском режиме
В данной статье я опишу реализацию универсальной (в кавычках) печати Приказа (Договора или чего пожелаете) с возможностью настройки выводимого текста с параметрами из пользовательского режима
24.06.2020 2325 BuriyLesha 0
Как нарисовать граф на 1С Промо
09.08.2013 73302 ildarovich 117
Запуск фонового задания во внешней обработке без регистрации в справочнике «Дополнительные отчеты и обработки»
Описал, как показать прогресс выполнения длительной операции во внешней обработке, и при этом не регистрировать обработку в справочнике «ДополнительныеОтчетыИОбработки». Проверял на БСП версии «3.1.2.264».
09.03.2020 7173 VinnieThePOOH 5
Методика обновления формы объекта данных при изменении объекта
В формах объектов данных часто встречаются элементы, косвенно связанные с объектом. Логику обновления этих элементов при изменении объекта обычно вызывают из обработчиков ПриСозданнииНаСервере и ПриОткрытии, забывая про наличие других способов изменения объекта. В статье предложена методика для обычных и управляемых форм, учитывающая все способы.
09.03.2020 19460 tormozit 16
Отправка уведомлений с помощью командной строки, Оповещения с сервера на клиент с помощью командной строки
Отправка уведомлений с помощью команды командной строки msg. Оповестить пользователей из серверного модуля или регламентного задания, с помощью командной строки msg.
05.03.2020 7982 user5300 3
Простой способ индексирования интервалов Промо
Предлагается простой способ индексирования интервалов для решения задач выборки записей, включающих заданный момент времени, пересекающихся с заданным интервалом или множеством интервалов. Способ основан на добавлении к исходной таблице особого числового индексированного поля, рассчитываемого по специальной формуле. Приведен код функций, необходимых для расчетов поля поиска и параметров поисковых запросов. Приведены также результаты тестирования метода, доказывающие его высокую эффективность.
28.09.2016 41851 ildarovich 22
Вывод сообщений в HTML поле средствами 1С
Пример использования вывода большого количества сообщений в поле HTML. С возможностью открывать ссылочные объекты и создавать новые объекты передавая параметры прямо из HTML поля. Протестировано на релизах 8.3.12 и 8.3.15+
31.01.2020 9913 burni4 16
Как в 1С создать паутинку «как на Инфостарте»
15.01.2020 9738 user660153_aleks.pisanets 17
Краткое руководство по внесению изменений в конфигурацию
Кратко описаны основополагающие моменты при старте групповой разработки конфигурации несколькими программистами. Полезно для проектной документации как требование к разработчикам или сопровождающей компании.
13.01.2020 22407 sapervodichka 41
Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов Промо
Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.
01.02.2018 38076 rpgshnik 53
Универсальные функции: разложение произвольной строки адреса в структуру
Процедуры и функции раскладывают произвольную строку адрес в структуру по ключевым словам.
30.12.2019 5817 vik070777 10
«Живые» картинки со Snap.SVG
В статье рассмотрен пример использования http-сервисов для визуализации данных
24.10.2019 15050 blackhole321 7
«Подводные камни», возникающие при бездумном копировании ролей с ограничениями RLS, как это отражается на производительности, разбор примера и инструмент для анализа.
07.10.2019 9906 geron4 4
БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному Промо
Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.
10.05.2018 53467 dsdred 46
Полное копирование одной формы в другую
Однажды я столкнулся с необходимостью открыть форму ЛЮБОГО документа с определенными изменениями, не зависящими от структуры объекта (например, заблокировать все кнопки). В интернете решения я не нашел. Обычно на форумах на запросы подобного рода отвечают чем-то вроде «покажи первоначальную задачу, а не спрашивай как реализовать то, что ты придумал». Тем не менее, мне стало интересно, как это можно сделать.
03.10.2019 7806 nekit_rdx 25
Многопоточная обработка данных на примере перепроведения документов
17.09.2019 12599 ids79 46
Отображение истории выполнения по всем задачам комплексного процесса в документообороте
Коллеги, предлагаю вашему вниманию доработку для вывода полной истории в задачах комплексного процесса.
15.09.2019 8665 pavelpribytkin96 8
Некоторая работа с данными через COM Промо
В статье приведены примеры работы с Платформой 8.X через COM (точнее, через объект COMConnector). Примеры кода были использованы при реализации прикладных задач в процессе трудовой деятельности.
05.12.2012 59841 wowik 32
Описание формата внутреннего представления данных 1С в контексте обмена данными
Фирма 1С не рекомендует использовать внутреннее представление данных для любых целей, которые отличны от обмена с 1С:Предприятием 7.7. Но сама возможность заглянуть на «внутреннюю кухню» платформы с помощью функций ЗначениеВСтрокуВнутр(), ЗначениеВФайл(), ЗначениеИзСтрокиВнутр() и ЗначениеИзФайла(), дала возможность сообществу программистов 1С разработать новые приемы разработки и анализа. Так, именно на использовании внутреннего представления был построен алгоритм «быстрого массива», который позволяет практически мгновенно создать массив в памяти на основании строки с разделителями. С помощью разбора внутреннего представления можно «на лету» программным кодом выполнить анализ обычной формы и даже сделать редактор графической схемы. Во внутреннем формате сохраняют свои данные между сеансами различные популярные внешние обработки. А еще это возможность сделать быстрый обмен с внешними системами.