Задача: вывести развёрнутую спецификацию со всеми вложенными спецификациями, значениями сопоставлений и рассчитать формулы параметрических спецификаций.
Хотелось, чтобы спецификация выводилась так:
Но стандартные возможности позволяли вывести спецификацию только в таком виде:
В результате решения задачи стало возможным:
- формировать полную стандартную (основную) спецификацию из документа Заказа на производство (с помощью внешней печатной формы)
- формировать полную стандартную (основную) для всех возможных характеристик продукции (с помощью внешней обработки)
Варианты представленных файлов
Внешняя печатная форма и внешняя обработка представлены для скачивания в двух вариантах: за 2 и за 10 стартмани. В обоих вариантах печатная форма и обработка абсолютно идентичны:
- Вариант ‘за 10 стартмани’ - скачать нужную обработку + дополнительно поддержать автора.
- Вариант ‘за 2 стартмани’ - просто скачать нужную обработку.
Примечания
- Доработка построена на использовании рекурсивной процедуры.
- Эффективность предложенного решения такая, какая получилась. Для её улучшения можно доработать программный код, благо он открыт.
- Так как спецификация при разворачивании вложенных спецификаций использует стандартные (основные) спецификации, то в некоторых полях МОГЛО БЫ ПРИСУТСТВОВАТЬ значение <Формула> , а не конкретное количественное значение, которое рассчитывается только непосредственно в документах, связанных с производством.
Для решения этого вопроса печать спецификации была доработана и теперь формулы рассчитываются и вместо них подставляются количественные значения. Однако, повторимся, такой расчёт построен на использовании основных спецификаций и заложенных в них формул.
Поэтому в печатной форме будет отражено то количество, которое заложено в формулу, и оно может отличаться от количества, фактически отраженного в производственном документе.
Проверено на следующих конфигурациях и релизах:
- Управление нашей фирмой, редакция 3.0, релизы 3.0.11.135