Насилие над Сборкой. УТ 11.5
Клиент обратился с проблемой обновления с УТ 11.4 на УТ 11.5.
Суть проблемы была в том, что при разборке нескольких комплектов на несколько комплектующих в расходный ордер на товары попадает только один комплект.
Я никогда раньше не использовал документ Сборка, который работает на сборку и на разборку.
Пришлось разбираться «на ходу». Оказывается, товарные ордера формируются при проведении документа Сборка. Причем в эти ордера попадают все комплекты на разборку, по всем документам Сборка. Какой в этом смысл, понять сложно, но такова типовая логика УТ 11.
Я долго искал причину, часа два, даже составил табличку разницы в движениях:
И только потом меня осенило, что в расходный ордер должны попадать комплекты, а не комплектующие.
К тому же я отключил новую версию расширения в УТ 11.5 и заметил, что табличной части «Комплекты» нет, там только одно поле для комплектующего. По нему, собственно, и происходят движения.
До этого у меня были предположения, что остальные позиции не списываются из-за того, что не хватает остатков или по другим причинам.
Итак, я выявил причину ошибки — была сделана доработка, которая позволяла в документе Сборка работать сразу с несколькими комплектами.
И это воистину дьявольское решение. Ведь программисту, сопровождающему это решение из релиза в релиз нужно будет погружаться в глубины типового кода, чтобы выискивать, где 1С определяет таблицу товаров и комплектов. А это не просто.
Пожалуй проще при проведении такого документа проводить по каждому отдельному документу сборки, собирая движения, потом их суммировать и записывать в регистры, чем лезть внутрь 1С.
Смягчает ситуацию только то, что комплектующие и комплекты не особо связаны друг с другом, если не считать регистр себестоимости.
На самом деле проще было бы создать документ-агрегатор над несколькими сборками. Это было бы и дешевле в реализации и проще для последующего сопровождения.
Я вспомнил, как отговаривал одного руководителя проекта создать копию типовых документов, объясняя, что это плохое решение. И вот опять я сталкиваюсь с попыткой решить свои задачи в 1С «кавалеристским наскоком» — бац-бац и в продакшн, а после нас хоть трава не расти.
Среда: УТ 11.4, УТ 11.5
Объем: 3 час.
Свежие комментарии