Для создания «необычных» команд в SOLIDWORKS PDM Professional есть дополнительный настраиваемый модуль Dispatch, который расширяет спектр стандартных действий, выводя их за пределы потока работ. В данной статье будет рассказано, как добавить модуль в хранилище и в чем заключается его функционал.
Введение
SOLIDWORKS PDM — средство, которое позволяет управлять проектными данными.
Для обработки документации в PDMсистеме используются потоки работ, которые делятся на две части:
- Состояние: показывает, на каком этапе находится документ в данный момент (на изменении, утвержден, в архиве…).
- Переход: показывает, как можно изменить файл и в какое состояние его можно направить (на изменение, на утверждение, в архив…).
С их помощью можно контролировать жизненный цикл продукта: одобрять или отклонять версию документа, отправлять его в архив, следующему проверяющему или на доработку и многое другое.
Кроме того, с помощью потоков работы можно управлять действиями, проводимыми для конкретных файлов. Есть целый набор стандартных операций, которые выполняются в момент перехода из одного состояния в другое:
- выполнение задачи или команды;
- импорт и экспорт данных из\в XML;
- отправка сообщения;
- настройка значения карты данных;
- увеличение номера редакций.
Модуль Dispatch
А что делать, если действие нужно совершить не в момент перехода, а, например, в момент регистрации файла или добавления его в определенную папку? Или нужно совершить действие, которого нет в стандартном списке операций?
В таком случае можно использовать дополнительный настраиваемый модуль Dispatch, который позволяет автоматизировать многие задачи и процессы. Однако доступно это приложение только для версии SOLIDWORKS PDM Professional.
На рис. 1 приведена схема, показывающая, как добавить модуль Dispatch в хранилище и открыть окно настройки сценариев.
Рис. 1. Схема установки модуля Dispatch
Разбор функционала на примере готового сценария
Как же пользоваться модулем? Давайте узнаем на конкретном примере. Рассмотрим ситуацию, когда пользователь хочет командой из контекстного меню одного или нескольких зарегистрированных файлов с расширением SOLIDWORKS переименовывать их в соответствии со значением графы «Наименование» карты данных.
Суть сценария: после регистрации файла пользователь переходит в контекстное меню выбранных файлов и нажимает команду Переименовать файл sld. После этого появляется окно с вопросом, все ли файлы зарегистрированы. Если пользователь нажимает «нет», то отображается напоминание, что нужно зарегистрировать файлы; команда заканчивает работу. Если пользователь нажимает «да», то команда проверяет, действительно ли файлы находятся в статусе регистрации, то есть имеют исходное состояние В разработке для данного потока работ. Если хотя бы один файл не соответствует этому состоянию, то высвечивается окошко с предупреждением о необходимости регистрации файлов и команда прекращает выполняться. Если все файлы удовлетворяют условию, то происходит процесс переименования, сценарий завершается. На рис. 2 приведена блоксхема работы сценария.
Рис. 2. Блок-схема работы учебного сценария
Рис. 3. Сценарий из примера
Откроем созданный сценарий (рис. 3) и разберем по порядку его функционал.
- Блок названия. В данных строках прописываем имя сценария и описание (необязательно). Лучше писать как можно понятнее, так как при большом количестве сценариев по названию и описанию будет проще найти нужный.
- Блок активации. Активировать сценарий можно несколькими способами:
- Команда меню (используется в данном примере): прописываем имя команды, которая будет появляться в контекстном меню документа;
- Во время смены состояния: выбираем состояние потока работ, перед или после достижения которого будет выполняться сценарий;
- Во время разрегистрации: сценарий будет выполняться до или после регистрации\разрегистрации\отмены регистрации файла;
- Во время добавления: сценарий будет выполняться до или после добавления файла в указанную папку.
- Блок переменных (рис. 4). Тут прописываются все дополнительные переменные, которые будут использоваться в сценарии.
В учебном сценарии создано четыре дополнительные переменные:- Расширение: статическая переменная, которая «вынимает» из имени файла расширение .sldprt\.sldasm\.slddrw. Как происходит процесс? Переменная считывает имя выбранного файла и возвращает правые семь символов — шесть символов для расширения (стандартно для файлов SOLIDWORKS) и символ для разделительной точки;
- Имя: считывает значение переменной «Наименование» из карты данных выбранного файла;
- НовоеИмя: статическая переменная, которая соединяет переменную «Имя» и переменную «Расширения», формируя таким образом новое имя для файла;
- Ответ: переменная, используемая во время исполнения сценария, которая будет запоминать значение ответа на вопрос, зарегистрирован ли файл.
- Блок команд. Сценарий состоит из одной или нескольких последовательно выполняемых команд (команды выполняются сверху вниз). Рассмотрим отдельно каждую команду нашего примера:
- ДаНет Окно сообщений: высвечивается окошко с вопросом, зарегистрирован ли файл. Можно ответить «да» или «нет», результат записывается в переменную «Ответ»;
- Скачок: команда условия. Проверяет, что записано в переменной «Ответ». Если это «нет», то команда переходит к метке «Регистрация», если «да», то сценарий продолжает выполняться;
- Метка: «да». Ссылка в сценарии, к которой можно обратиться, если условие выполнено. Метку также можно использовать как обозначение начала\конца определенной части в сценарии;
- Для всех документов: команда, после которой все действия выполняются для всех выбранных файлов разово;
- Скачок: команда условия. Проверяет, действительно ли зарегистрирован файл. Если нет, то сценарий переходит к метке «Регистрация», если да, то продолжает выполняться. Добавлена на тот случай, если пользователь ошибся в предыдущем пункте или не увидел разрегистрированный файл;
- Переместить\переименовать: операция переименования файла в соответствии со значением графы «Наименование» карты данных;
- Конец всех документов: конец блока «для всех документов»;
- Скачок: команда условия. В данном случае мы всегда будем переходить к метке «Конец», так как остальная часть сценария нужна только для незарегистрированных файлов;
- Метка: «Регистрация». К этой ссылке обращается наш сценарий, если хотя бы один из выбранных файлов не зарегистрирован;
- ОК Окно сообщений: высвечивается окошко с оповещением, что не все выбранные файлы зарегистрированы;
- Скачок: после данной операции нужно всегда переходить к метке «Конец»;
- Метка: «Конец». Ссылка, которая означает конец выполнения сценария.
Рис. 4. Определение переменных
В конце сценария также допускается вывести на экран окошко с сообщением о том, что команда выполнена.
Активировать процесс возможно и подругому, например сразу после регистрации выбранных файлов. Тогда часть кода желательно доработать, убрав вопрос к пользователю и проверку состояния документа.
Заключение
Подводя итог, можно сказать, что разнообразие автоматических действий для документов не ограничено жесткими рамками стандартных вариантов в потоках работ SOLIDWORKS PDM. Модуль Dispatch дает возможность «выйти за рамки дозволенного» и настроить необходимые операции и их запуск таким образом, как нужно и удобно каждой конкретной компании.