Найти тему
Блог о системе IPS Search

Разработка шаблона ведомости по составу изделия в IPS Search. (На примере ведомости заготовок)

Оглавление

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

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

В качестве исходных данных возьмем изделие с составом, для которого технолог пронормировал заготовки.

Моя задача: получить небольшую ведомость заготовок для данного изделия, которая будет выглядеть следующим образом:

-2

Итак, начнем с настройки системы из-под Администратора:

1. Создаем графическую часть нашего шаблона.

Перейдем в раздел Объекты\Настройки системы\Шаблоны документов (бланки)\Шаблоны технологических ведомостей и создадим новый шаблон.

При необходимости Вы можете использовать предыдущие шаблоны в качестве прототипа при создании.

-3

2. После создания шаблона нажмем команду Редактировать.

С помощью стандартных инструментов редактирования шаблонов добавим необходимые поля.

Для меня важно вывести в шапку документа данные моей сборки, а в таблице ниже список деталей и заготовок в каждой из них.

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

-4

Первый ньюанс, с которым мы сталкиваемся,- отсутствие команды объединить ячейки. Отсутствие команды значительно усложняет жизнь, но мы воспользуемся командой Удалить ячейку.

-5

Пропишем в нужные ячейки наши постоянные текстовые поля.

-6

В настройках таблицы сделаем ее расположение только на первом листе. Это не обязательно условие, просто один из вариантов настройки

-7

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

-8

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

Так как таблица динамическая- создавать все строки не нужно. Экспертная система IPS добавит строки в случае необходимости.

-9

Для настройки строк я обязательно добавляю пункт "Авторазмер по высоте". Это важная настройка, которая обеспечивает перенос поля, если оно не помещается в нужную ячейку. Также настраиваем расположение текста в ячейках динамической таблицы.

-10

Сохраняем наш графический шаблон. Никаких других действий выполнять не нужно.

2. Создаем и настраиваемый скрипт заполнения нашего шаблона.

Переходим в раздел Навигатор\Объекты\Объекты экспертной системы\Скрипты генерации документов.

Внутри создаем новый скрипт и в появившемся окне привязываем наш разработанный шаблон. Задаем имя скрипта.

-11

Далее открывается интерфейс программирования нашего шаблона. В интерфейсе программирования мы должны выбирать операторы и модификаторы и уже этот набор добавлять с помощью условий входимости. Есть определенные операторы, для которых наш модификатор можно и не выбирать

-12

Путем несложных усилий накидаем схему наполнения нашего документа.

-13

Далее настроим наши операторы. Для операторов вывода атрибутов изделия выберем ячейку в нашем шаблоне.

-14

Для заполняемого имени атрибута выбираем тип объекта Сборочная единица и сам атрибут "Обозначение". Далее сохраняем настройку нашего оператора.

-15

Не переживаем, что появилось окно предупреждения. Если просто последовательно заводить оператор и его настраивать- такого сообщения не возникает. Просто нажимаем Прервать.

-16

И мы видим как изменилась выбранная строка оператора.

-17

Аналогичным образом заполняем Наименование.

Далее настраиваем выбор динамической таблицы, куда будем записывать список наших деталей.

-18

Далее настраиваем настраиваем поиск списка деталей внутри состава нашего изделия.

-19

Важно также выбрать Поиск по не глобальной таблице. Работа с глобальной таблицей настраивается по другому: мы сначала собираем все объекты, а потом их распределяем по таблице. Для просмотра примера использования глобальной таблицы- откройте скрипт Шаблон ГТП в IPS Search.

Кстати, на этом этапе мы включили поиск абсолютно по всем уровням изделия. Если нужно было выбрать состав изделия верхнего уровня- выбирайте оператор Дочерние объекты.

Далее настраиваем создание строки для заполнения параметров.

-20

Далее настраиваем заполнение первого столбца нашей строки

-21
-22

Далее настраиваем поиск заготовки в составе детали. Не забываем ставить галочку "Не по глобальной таблице". Иначе система попытается обратиться к имеющейся глобальной таблице. В результате поля будут пустыми.

-23

И уже изученным ранее способом выводим атрибуты в наши поля таблицы данные Сортамента и Расхода.

-24
-25

На этом настройку формирования документа мы закончили.

3. Теперь настраиваем тип генерируемого документа.

Для этого переходим в Параметры документа и настраиваем.

-26

На первых этапах работы с шаблонами документов я обычно ставлю галочку "Выдавать отладочную информацию". Это позволяет нам понимать, где мы ошиблись.

Чтобы документ отобразился в составе- не забываем в свойствах скрипта выбрать пункт Создавать связь между документом и изделием.

-27

А также не забудем добавить в Конфигураторе базы данных возможность нахождения Технологической ведомости в составе Сборочной единицы.

-28

На этом наша настройка закончена. Испробуем наш скрипт.

-29
-30

Задача выполнена, мы получили нужный нам отчет.

-31

Полный скрипт данного примера можно скачать по ссылке:

Скрипт ведомости заготовок.XML

После создания скрипта генерации документа просто импортируйте мой пример:

-32

Если статья была полезной- не забываем ставить лайки)

Для связи используйте контакты,

Газизулин Александр

ООО "АМКАД"

Telegram-канал для пользователей IPS

8-800-3333-205

gam@amcad.ru