ошибка при получении входящих ВСД (обработка Меркурий_Гашение_ВСД2) - 1Cv7 ВСД в ГИС Меркурий - КБ99 Redmine

Проект

Общее

Профиль

ошибка при получении входящих ВСД (обработка Меркурий_Гашение_ВСД2)

Добавил(а) Самара Айрат почти 5 года назад

такая ошибка:
Меркурий.ТабличноеПоле::ПриКонтекстномМеню(Число ТипРегиона=3, КолонкаТабличногоПоля Колонка=, Число Стр=1) : Неудачная попытка создания объекта
оМеню = СоздатьОбъект("ТМеню");{H:\Bases\Оперативная\Vetis\класс_Меркурий_ТабличноеПоле.ert(1108) }

Товар не новый, уже получали много раз. Поставщик тот же. Но в этот раз производитель указал НомерПартии, содержащий 968знаков. Это Белоруссия, у них Меркурия нет и они делают так, как им удобно, т.е.в номер партии зафигачили огромное кол-во символов в таком формате 8134/1119_05112019,8666/1119_24112019 и т.д. Думаю из-за этого вылезла ошибка, других причин не вижу, т.к. прочие значения остались неизменны. Что нужно дописать в коде, чтобы ошибки не было? Теоретически можно конечно сказать Белорусам чтобы они не делали таким длинным номерПартии, но мы работаем через их дистрибьютора, и не факт что нас услышат.


Ответы (7)

RE: ошибка при получении входящих ВСД (обработка Меркурий_Гашение_ВСД2) - Добавил(а) Алексей Диркс почти 5 года назад

Нужно обновить файл класс_Меркурий_ТабличноеПоле.ert из любой новой сборки. Скорее всего, также нужно обновить класс_Меркурий_ТабличноеПоле_ТЗ.ert.
Ошибка не связана с данными, просто у вас старая версия этого класса, в которой ошибка присутствует при любых условиях. Косяк мой.
Данная ошибка будет вылазить всегда, при ПКМ но строке табличного поля.

RE: ошибка при получении входящих ВСД (обработка Меркурий_Гашение_ВСД2) - Добавил(а) Алексей Диркс почти 5 года назад

И ещё. Не рекомендую обновлять всё остальное, т.к. судя по всему вы давно не обновлялись.
Изменений много, и обновляться надо очень вдумчиво и аккуратно. Резервная копия всего - обязательна.

RE: ошибка при получении входящих ВСД (обработка Меркурий_Гашение_ВСД2) - Добавил(а) Самара Айрат почти 5 года назад

да, версия у меня старая. Я обновил файлы "класс_Меркурий_ТабличноеПоле.ert" и "класс_Меркурий_ТабличноеПоле_ТЗ.ert". Ошибка ушла. Но запрос тем не менее не обрабатывается до статуса "completed, а повисает в статусе "Результат = IN_PROCESS Отправляем запрос"
А в ячейке "№партии" появилось такое значения: {"СписокЗначений",{{{"Строка","8134/1119_05112019"},"","0"},{{"Строка","8666/1119_24112019"},"","0"},{{"Строка","8545/1119_19112019"},"","0"},{{"Строка","8128/1119_04112019"},"","0"},{{"Строка","8285/1119_10112019"},"","0"},{{"Строка","8595/1119_22112019"},"","0"},{{"Строка","8667/1119_24112019"},"","0"},{{"Строка","8430/1119_15112019"},"","0"},{{"Строка","8383/1119_14112019"},"","0"},{{"Строка","8609/1119_23112019"},"","0"},{{"Строка","8032/1119_01112019"},"","0"},{{"Строка","8413/1119_15112019"},"","0"},{{"Строка","8402/1119_14112019"},"","0"},{{"Строка","8634/1119_23112019"},"","0"},{{"Строка","8560/1119_20112019"},"","0"},{{"Строка","8278/1119_10112019"},"","0"},{{"Строка","8267/1119_09112019"},"","0"},{{"Строка","8377/1119_13112019"},"","0"},{{"Строка","8113/1119_04112019"},"","0"},{{"Строка","8035/1119_01112019"},"","0"},{{"Строка","8221/1119_08112019"},"","0"},{{"Строка","8091/111

Это 407символов из 968. Такое ощущение что где-то стоит ограничение на кол-во символов и дальше запись НомераПартии блокируется. Может быть такое?

RE: ошибка при получении входящих ВСД (обработка Меркурий_Гашение_ВСД2) - Добавил(а) Самара Айрат почти 5 года назад

Алексей Диркс писал(а):

И ещё. Не рекомендую обновлять всё остальное, т.к. судя по всему вы давно не обновлялись.
Изменений много, и обновляться надо очень вдумчиво и аккуратно. Резервная копия всего - обязательна.

По поводу тотального обновления у меня нет штатного программиста 1С. Версия 1С 7.7 нестандартная, поэтому обновиться "просто" не получится, займет около 10 часов с учетом необходимости промежуточных тестирований. Нужен очень опытный 1Сник, который уже имеет опыт по данному продукту. Если есть такая возможность то я готов воспользоваться Вашей услугой. Если нет то хотя бы бы костыль поставить в коде, чтобы все работало. Пока на стороне ВетисМеркурий критических изменений не проведут, у меня все будет работать. Криво, но работает. Мелкие ошибки получается решать альтернативными решениями не вмешиваясь в код. С каждым месяцем продукт дорабатывается и теоретически до конца года все критические ошибки должны устраниться. Поэтому пока жду, мониторю форумы. Но от услуги 1Ска конечно не откажусь, все равно рано или поздно это придется делать.

RE: ошибка при получении входящих ВСД (обработка Меркурий_Гашение_ВСД2) - Добавил(а) Алексей Диркс почти 5 года назад

Да, номер конечно впечатляет.
Подозреваю, что обрезка этого дела вообще на стороне меркурия происходит. Т.к. в ВСД_Партия.НомерПартии - 255 символов. И в самой обработке гашения задано 900 символов. Так что 407 - ни с чем не стыкуется.

К сожалению, помочь могу только сочувствием, и малыми советами, ибо времени нет от слова совсем.

RE: ошибка при получении входящих ВСД (обработка Меркурий_Гашение_ВСД2) - Добавил(а) Алексей Диркс почти 5 года назад

Лучше бы конечно обратиться к поставщику. Приведенный номер свидетельствует о том, что там применяется 1С, но как-то очень уж бездумно. Сегодня 907 символов, а завтра может быть и мильён.

RE: ошибка при получении входящих ВСД (обработка Меркурий_Гашение_ВСД2) - Добавил(а) кб99 Синявский Филипп почти 5 года назад

Номер Партии раньше записывался в реквизит документа НомерПартии с ограничением на количество символов,
в текущей версии этот реквизит не хранится в ВСД_Док, а заполняется из xml
Для исправления лучше установить обновление 1.15.17

    (1-7/7)