Система IPS Search позволяет работать с составом изделия. Помимо этого, по структуре данного состава можно создавать любой сложности отчеты.
В статье я покажу процесс разработки шаблона и его использования при генерации документа с помощью экспертной системы IPS.
В качестве исходных данных возьмем изделие с составом, для которого технолог пронормировал заготовки.
Моя задача: получить небольшую ведомость заготовок для данного изделия, которая будет выглядеть следующим образом:
Итак, начнем с настройки системы из-под Администратора:
1. Создаем графическую часть нашего шаблона.
Перейдем в раздел Объекты\Настройки системы\Шаблоны документов (бланки)\Шаблоны технологических ведомостей и создадим новый шаблон.
При необходимости Вы можете использовать предыдущие шаблоны в качестве прототипа при создании.
2. После создания шаблона нажмем команду Редактировать.
С помощью стандартных инструментов редактирования шаблонов добавим необходимые поля.
Для меня важно вывести в шапку документа данные моей сборки, а в таблице ниже список деталей и заготовок в каждой из них.
Сначала создадим таблицу для нашей шапки, укажем ее геометрическое расположение, высоту и ширину столбцов. Для шапки нужно создавать обычную таблицу.
Первый ньюанс, с которым мы сталкиваемся,- отсутствие команды объединить ячейки. Отсутствие команды значительно усложняет жизнь, но мы воспользуемся командой Удалить ячейку.
Пропишем в нужные ячейки наши постоянные текстовые поля.
В настройках таблицы сделаем ее расположение только на первом листе. Это не обязательно условие, просто один из вариантов настройки
Теперь добавим чуть ниже таблицу для отображения списка наших деталей. Сначала добавим шапку таблицы, как обычную таблицу. В целом, можно сразу всю таблицу сделать динамической и уже в сценарии генерации документа заполнять шапку, но мы сделаем тут, чтобы упростить сам скрипт.
Далее добавляем динамическую таблицу. Разделим ее на ячейки, настроим размеры, расположения. Для своего удобства я добавил названия строкам и столбцам (на процесс генерации это не повлияет). Для динамической таблицы я не указал нижнюю границу, поэтому таблица будет расширяться до конца листа и автоматически перейдет на следующий.
Так как таблица динамическая- создавать все строки не нужно. Экспертная система IPS добавит строки в случае необходимости.
Для настройки строк я обязательно добавляю пункт "Авторазмер по высоте". Это важная настройка, которая обеспечивает перенос поля, если оно не помещается в нужную ячейку. Также настраиваем расположение текста в ячейках динамической таблицы.
Сохраняем наш графический шаблон. Никаких других действий выполнять не нужно.
2. Создаем и настраиваемый скрипт заполнения нашего шаблона.
Переходим в раздел Навигатор\Объекты\Объекты экспертной системы\Скрипты генерации документов.
Внутри создаем новый скрипт и в появившемся окне привязываем наш разработанный шаблон. Задаем имя скрипта.
Далее открывается интерфейс программирования нашего шаблона. В интерфейсе программирования мы должны выбирать операторы и модификаторы и уже этот набор добавлять с помощью условий входимости. Есть определенные операторы, для которых наш модификатор можно и не выбирать
Путем несложных усилий накидаем схему наполнения нашего документа.
Далее настроим наши операторы. Для операторов вывода атрибутов изделия выберем ячейку в нашем шаблоне.
Для заполняемого имени атрибута выбираем тип объекта Сборочная единица и сам атрибут "Обозначение". Далее сохраняем настройку нашего оператора.
Не переживаем, что появилось окно предупреждения. Если просто последовательно заводить оператор и его настраивать- такого сообщения не возникает. Просто нажимаем Прервать.
И мы видим как изменилась выбранная строка оператора.
Аналогичным образом заполняем Наименование.
Далее настраиваем выбор динамической таблицы, куда будем записывать список наших деталей.
Далее настраиваем настраиваем поиск списка деталей внутри состава нашего изделия.
Важно также выбрать Поиск по не глобальной таблице. Работа с глобальной таблицей настраивается по другому: мы сначала собираем все объекты, а потом их распределяем по таблице. Для просмотра примера использования глобальной таблицы- откройте скрипт Шаблон ГТП в IPS Search.
Кстати, на этом этапе мы включили поиск абсолютно по всем уровням изделия. Если нужно было выбрать состав изделия верхнего уровня- выбирайте оператор Дочерние объекты.
Далее настраиваем создание строки для заполнения параметров.
Далее настраиваем заполнение первого столбца нашей строки
Далее настраиваем поиск заготовки в составе детали. Не забываем ставить галочку "Не по глобальной таблице". Иначе система попытается обратиться к имеющейся глобальной таблице. В результате поля будут пустыми.
И уже изученным ранее способом выводим атрибуты в наши поля таблицы данные Сортамента и Расхода.
На этом настройку формирования документа мы закончили.
3. Теперь настраиваем тип генерируемого документа.
Для этого переходим в Параметры документа и настраиваем.
На первых этапах работы с шаблонами документов я обычно ставлю галочку "Выдавать отладочную информацию". Это позволяет нам понимать, где мы ошиблись.
Чтобы документ отобразился в составе- не забываем в свойствах скрипта выбрать пункт Создавать связь между документом и изделием.
А также не забудем добавить в Конфигураторе базы данных возможность нахождения Технологической ведомости в составе Сборочной единицы.
На этом наша настройка закончена. Испробуем наш скрипт.
Задача выполнена, мы получили нужный нам отчет.
Полный скрипт данного примера можно скачать по ссылке:
После создания скрипта генерации документа просто импортируйте мой пример:
Если статья была полезной- не забываем ставить лайки)
Для связи используйте контакты,
Газизулин Александр
Telegram-канал для пользователей IPS
8-800-3333-205
gam@amcad.ru