Ошибки оформления в документе реализации маркированного товара. БП3

У клиента в документе реализации стала возникать ошибка «Отгрузка товаров ИС МП: Ожидается подтверждение поступления. Есть ошибки оформления». И это его смущало. Вроде бы покупатели получают УПД в электронном виде (он их выгружает обработкой из 1С БП3). Но ошибка в документе высвечивается.

Он обратился ко мне с просьбой провести расследование.

Я решил посмотреть сначала, откуда берется это поле гиперссылки. В форме документа его не было:

Значит, оно создается динамически.

Поискал реквизиты формы и нашел это значение в реквизите ТекстДокументаИСМП:

Далее нашел все вхождения этой строки, расставил точки останова в них:

Обнаружил, что реквизит добавляется в модуле СобытияФормИСМППереопределяемый:

Путем отладки обнаружил, где формируется текст надписи:

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

Поискал по «ЕстьОшибкаОформления», нашел процедуру в модуле РасчетСтатусовОформленияИСМП, где производится расчет статуса:

План — это сколько маркированного товара в документе:

А вот факт — это сколько марок в документ оформлено. Это запрос по шаблону:

Куда подставляются следующие параметры:

Т.е. по сути количество товара, переданного через передачу сведений о продаже.

Тогда я еще раз посмотрел протокол обмена по этому документу, обнаружил там, кстати, кнопку «Рассчитать статус»:

Но эта кнопка бесполезна, т.к. операция передачи сведений об отгрузке товаров при продаже не завершена. Поэтому и висит ошибка. Но т.к. клиент передает эту информацию не через обмен 1С с ЧЗ, а через выгрузку УПД в XML, то операция так и не завершится, поэтому это сообщение не информативно.

О чем и сообщил клиенту:

Судя по протоколу обмена,  вы не пользуетесь передачей информации об отгрузке, внизу есть команда «Создать отгрузку товаров ИСМП». Отсюда и ошибка, потому что там по коду количество товара в документе не соответствует полученному клиентом.
Передача сведений об отгрузке товаров висит в ожидании, пока 1С не получит ответ о состоянии этой операции, она будет фиксировать ошибку. Статус рассчитывается автоматически. В меню еще есть команда «Рассчитать статус», но пока он не будет меняться.

Время факт: 1 час. Среда: БП 3.0.87.28.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *