Ошибка в типовой интеграция 1С:ЗУП с 1С:Документооборот

После обновления типовой конфигурации 1С:ЗУП на релиз Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.18.337) при очередном обменен в рамках типой интеграции с 1С:Документооборот вылезла следующая ошибка:
1 2 |
DMGetChangesRequest {ОбщийМодуль.ИнтеграцияС1СДокументооборотОбмен.Модуль(428)}: Поле объекта не обнаружено (skipMessages) |

Окно записи журнала 1С с ошибкой
Поиск в тексте модуля по указанной в сообщении об ошибке строке привел к следующей конструкции:
1 |
ПропускаемыеСообщения = Запрос.skipMessages; // СписокXDTO |
Чуть выше была так же обнаружена новая вставка по сравнению с предыдущими релизами:
1 |
ПоддерживаетсяПропускСообщенийСОшибкой = ИнтеграцияС1СДокументооборот.ДоступенФункционалВерсииСервиса("2.1.28.12.CORP"); |
То есть фирма 1С обновила программный интерфейс web-сервиса интеграции с 1С:Документооборт и в номом релизе 1С:ЗУП решила его использовать. Однако похоже забыла поставить проверку на то используется ли в конкретном случае новая версия 1С:Документооборт. В нашем случае как раз используется конфигурация 1С:Документооборт релиза 2.1.10.2 и поэтому при обращении к новой фиче происходит ошибка, так как ее просто нет в старой версии сервиса.
Приступаем к исправлению
Добавляем общий модуль ИнтеграцияС1СДокументооборотОбмен в расширение. Делаем вызов исправленной процедуры ПолучитьДанные.
В ней перенесем обращение к новому свойству объекта сервиса в условие с проверкой а доступен ли новый функционал:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
&Вместо("ПолучитьДанные") Процедура маг_ПолучитьДанные() Попытка ПоддерживаетсяПропускСообщенийСОшибкой = ИнтеграцияС1СДокументооборот.ДоступенФункционалВерсииСервиса("2.1.28.12.CORP"); Пока Не ПрочитаныВсеСообщения Цикл Запрос = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMGetChangesRequest"); Запрос.lastMessageID = НомерПоследнегоСообщения; //В Типовой была здесь и получали ошибку, так как нет проверки на доступность нового функционала //ПропускаемыеСообщения = Запрос.skipMessages; // СписокXDTO Если ПоддерживаетсяПропускСообщенийСОшибкой Тогда //++Наша вставка ПропускаемыеСообщения = Запрос.skipMessages; // СписокXDTO //--Наша вставка Запрос.lastMessageWasReceived = СообщениеБылоПринято; |
После этого исправления все заработало как надо. Обмен с интегрированной системой стал проходить без ошибок.
Еще можно посмотреть
Установка второго веб-сервера Apache для 1С
Установка второго веб-сервера для работы с 1С разных версий.
Статистика PostgreSQL при работе с 1С:Предприятием
В этой статье поговорим о статистике в PostgreSQL. 1. Симптомы неактуальной статистики в базе. 2. Как обновляется статистика в PostgreSQL и надо ли ее обновлять принудительно? 3. Как обновить статистику в PostgreSQL вручную? Симптомы неактуальной статистики в базе. В какой-то момент(в какой именно теперь уже не вспомнит никто) тестовая база начала сильно тормозить, при низкой […]
НАСТРОЙКА PG_PROFILER ДЛЯ POSTGRESQL 11.
Помимо анализа планов и запросов СУБД в технологическом журнале 1С, также бывает полезным анализировать статистику по запросам в pg_profiler. Тем более, что она уже собирается в сгруппированном по запросам виде. Ниже приведем инструкцию по его настройке. 1. Инсталляция и настройка pg_profile. 2. Настройка отображения pg_profiler через веб-сервер apache. Инсталляция и настройка pg_profile. 1. Скачаем pg_profile […]
Проверка рабочих процессов сервера 1С на Linux
Как проверить на Linux запущены ли процессы сервера 1С. Проверка открытых портов сервера 1С
Публикация 1С на Веб сервере Apache Linux
Пошаговые инструкции по публикация базы и web-сервисов 1С на веб-сервере Apache 2.4 на Linux.
Командная строка 1С и примеры ее использования
Приведены примеры использования команд и параметров для запуска программы 1С:Предприятие из командной строки
ЧТО ТАКОЕ PG_TEMP В POSTGRESQL ДЛЯ 1С И КТО ИХ СОЗДАЕТ?
pg_temp — это пространство СУБД PostgreSQL для временных таблиц, то есть таблиц, существующих в пределах жизни одного соединения (в терминах СУБД) или сеанса (в терминах кластера 1С). Такие таблицы мы можем увидеть в тексте запроса СУБД, если в запросе на языке запросов 1С присутствует конструкция ПОМЕСТИТЬ, которая и помещает выборку во временную таблицу. Таким образом […]
Похожие записи
- Пропажа индексов дескрипторов в 1С:Документообороте
- Ошибки публикации базы и веб сервиса на веб сервере 1C+ Apache +Linux.
- Хранилище вариантов отчета 1С для внешнего отчета
- Делаем свою автоподстановку в 1С Документообороте
- Установка второго веб-сервера Apache для 1С
- Вывод дополнительных реквизитов в несколько колонок
- Публикация 1С на Веб сервере Apache Linux
- Добавляем обработчик события для дополнительного реквизита 1С
- Зачем нужны Дополнительные реквизиты 1С
- Расположение дополнительных реквизитов на форме