Ошибка документа 1С, после подтверждения через ТСД

d.kanin 3 года назад в Проблемы с 1С обновлен Елена Иванова 3 года назад 6

При осуществлении регистрации товара через ТСД, документ (отбор(размещение) товаров) в 1с переходит в статус "Выполнено без ошибок", но при попытке перепровести этот документ выходит ошибка: "В строке 1 списка "Товары (размещение)" количество в "упак (100 шт)" переведено в количество в "шт" с отклонением - 0,99 упак (100 шт), что свидетельствует об ошибке в работе программы. Обратитесь к администратору." Если статус документа перевести в ручном режиме, такая ошибка не появляется.

Установленный продукт:
ПРОФ
Версия драйвера:
v.3.0.0.119
Типовая конфигурация драйвера?:
Да
Операционная система:
Windows 7 Prof x64
Версия и конфигурация 1С, и режим работы (Файловы или Серверный):
1С:ERP Управление предприятием 2 (2.4.1.189), Серверная
Типовая конфигурация 1с?:
Да
Модель ТСД:
MC32N0

Загрузка документа с ТСД происходит через модуль Автообмена документами промежуточной базы или с помощью обработки? В табличной части ТоварыРазмещение есть поля Количество, КоличествоУпаковок и КоличествоРазмещено, КоличествоУпаковокРазмещено. Количество должно быть заполнено в единицах хранения, а КоличествоУпаковок - в тех упаковках, что проставлено в строке документа. Так же с  КоличествоРазмещено, КоличествоУпаковокРазмещено. Видимо, заполнение происходит неверно КоличествоУпаковок = 1 упак (100 шт), и Количество = 1 шт (а должно быть 100 шт). Вы что-нибудь меняли в обработке загрузки, промежуточной базе 1С? Вообще, в списке поддерживаемых конфигураций 1С есть «1С:ERP Управление предприятием» 2.2, с версией 2.4 работу пока не проверяли.

Обмен происходит через промежуточную базу 1с. 


Ситуация такая, как вы и описали, посмотрел через консоль запросов, в табличной части "Количество" и 

"КоличествоУпаковок" равно 1, хотя выбрана одна упаковка с определенным количеством 100 шт и в "Количество" должно быть 100. Соответственно при ручной установке статуса "Выполнено без ошибок" и проведении документа  все отрабатывает корректно .


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


Подскажите где можно посмотреть алгоритм заполнения данной табличной части, если он доступен для корректировки, можем ли мы внести в него изменения или нужно ждать от вас обновления и официальной поддержки ERP 2.4?

Весь код и настройки в промежуточной базе можно модифицировать. Заполнение документа Отбор-Размещение выполняется с помощью следующей настройки: https://prnt.sc/gvjy4a

Видим, что все заполнение происходит с помощью "произвольного кода", для заполнения полей строки документа 1С вызывается функция УниверсальныеМеханизмы.ЗаполнитьСтрокуТаблицыДокумента1СНаОснованииСтрокиТаблицыДокументаТСД, в этой функции есть:

КоличествоВБазовыхЕдиницах = СтрокаДокументаТСД.КоличествоФакт*Коэффициент;

...

Если ТЧДокументаДляЗаполненияРеквизиты.Найти("КоличествоОтобрано") <> Неопределено Тогда
       СтрокаДокумента1С.КоличествоОтобрано = СтрокаДокумента1С.КоличествоОтобрано +      КоличествоВБазовыхЕдиницах;
КонецЕсли;

Если ТЧДокументаДляЗаполненияРеквизиты.Найти("КоличествоУпаковокОтобрано") <> Неопределено Тогда
         СтрокаДокумента1С.КоличествоУпаковокОтобрано = СтрокаДокумента1С.КоличествоУпаковокОтобрано + СтрокаДокументаТСД.КоличествоФакт;
КонецЕсли;

Если ТЧДокументаДляЗаполненияРеквизиты.Найти("КоличествоРазмещено") <> Неопределено Тогда
          СтрокаДокумента1С.КоличествоРазмещено = СтрокаДокумента1С.КоличествоРазмещено + КоличествоВБазовыхЕдиницах;
КонецЕсли;

Если ТЧДокументаДляЗаполненияРеквизиты.Найти("КоличествоУпаковокРазмещено") <> Неопределено Тогда
      СтрокаДокумента1С.КоличествоУпаковокРазмещено = СтрокаДокумента1С.КоличествоУпаковокРазмещено + СтрокаДокументаТСД.КоличествоФакт;
КонецЕсли;


Возможно, для Вашей конфигурации неверно определяется Коэффициент, это можно проверить отладчиком.

См. http://www.cleverence.ru/support/2316/




Спасибо за информацию по отладке. 

Сейчас следующая ситуация, конфигурация драйвера «Клеверенс Софт», ПРОФ драйвер ТСД  (3.0.0.111), может используется какая-то старая конфигурация и необходимо обновление.

Потому что в коде была явно ошибка в условии, алгоритм просто не заходил в кусок кода по расчету коэффициента, теперь коэффициент рассчитывается правильно, но дальше вот этот кусок ( см. скрин)

все-равно в "Количество" ставит количество упаковок, подскажите что ни так с условием, как поправить?

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

Автор, чесно говоря, разобраться можно, но на это нужно много времени.
С подобной проблемой я не сталкивалась скажу честно, но зато могу посоветовать вам хорошего специалиста в этом деле. Алексей - https://www.prog-msk.ru/
К нему я обращалась по другим вопросам, касаемых 1С программы. И теперь, при любой проблеме не заморачиваюсь и не ищу ответов, а обращаюсь к нему.
Может и вам пригодится.
Успехов в работе!

Сервис поддержки клиентов работает на платформе UserEcho