К статье
Практический материал

Администрирование · 9 мин

ВС Б МП 1.1 код результата 30 в 1С 8: причины и исправление

Разбираем код результата 30 при обмене ВС Б МП 1.1 в 1С 8: причины отказа, проверка справочников и статусов, пошаговое исправление и FAQ.

Ошибка с кодом результата 30 при обмене ВС Б МП 1.1 в 1С 8 означает, что запрос, отправленный из программы во внешний сервис (обычно это интеграция с ветеринарной информационной системой), был отклонён на стороне приёмника. Сама 1С в этот момент работает корректно: она сформировала сообщение, отправила его и получила ответ с отказом. Поэтому искать проблему нужно не в «поломке программы», а в данных, которые ушли в запросе, и в состоянии объектов на стороне внешней системы.

Типичные источники отказа — устаревшие или не сопоставленные справочники (номенклатура, контрагенты, хозяйствующие субъекты, площадки), попытка выполнить операцию с объектом в неверном статусе, просроченный или отозванный сертификат доступа, а также расхождение версий формата обмена. Ниже разберём, как локализовать причину и исправить её без риска для учётных данных.

Что означает код результата 30

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

Важно отличать код результата от HTTP-ошибок и ошибок авторизации. Если 1С показывает ошибку соединения, тайм-аут или отказ в аутентификации — это другой класс проблем. Код 30 приходит именно как осмысленный ответ сервиса, и обычно рядом с ним в журнале обмена есть текстовое пояснение — именно его нужно читать в первую очередь.

Где искать текст ошибки и детали отказа

Одного кода недостаточно — нужен полный ответ сервиса. Откройте в 1С журнал обмена с внешней системой (в типовых конфигурациях это обычно раздел интеграции, подраздел «Исходящие сообщения» или «Журнал обмена»). Найдите сообщение с кодом 30 по дате и времени и откройте его содержимое.

В деталях сообщения ищите поле с текстом ошибки: там сервис указывает, какой именно реквизит или объект вызвал отказ — например, не найден идентификатор записи, объект уже погашен, нарушен формат даты или недостаточно прав у учётной записи. Зафиксируйте точную формулировку: от неё зависит дальнейший сценарий исправления.

Как добраться до причины отказа
  1. 1
    Откройте журнал обмена с внешней системой в разделе интеграции
  2. 2
    Найдите исходящее сообщение с кодом результата 30
  3. 3
    Скопируйте текстовое пояснение из ответа сервиса
  4. 4
    Определите, к какому объекту относится запрос (документ, запись, справочник)
  5. 5
    Переходите к проверке этого объекта по сценариям ниже

Проверка сопоставления справочников

Самая частая причина отказа — несопоставленные или устаревшие записи справочников. Внешняя система оперирует собственными идентификаторами (GUID), и если в 1С номенклатура, контрагент или площадка не привязаны к этим идентификаторам, запрос отклоняется.

Откройте механизм сопоставления в разделе интеграции и проверьте объект, фигурирующий в отклонённом запросе. Признаки проблемы: пустое поле идентификатора, признак «не сопоставлено», либо сопоставление со старой записью, которая во внешней системе уже аннулирована или заменена новой версией.

Исправление: выполните синхронизацию справочников (кнопка «Сопоставить» или «Загрузить» в соответствующем разделе), при необходимости вручную укажите актуальную запись из внешней системы. После сопоставления вернитесь к документу и повторите отправку.

Типичные ошибки при сопоставлении
01
Сопоставление с первой попавшейся похожей записью — идентификатор не совпадает, и отказ повторяется
02
Исправление документа без обновления справочника — запрос снова уходит со старым идентификатором
03
Игнорирование версионности записей во внешней системе — сопоставлена устаревшая версия объекта

Проверка статуса объекта во внешней системе

Код 30 часто возникает, когда операция неуместна для текущего статуса объекта. Классические примеры: попытка погасить уже погашенный документ, изменить аннулированную запись, оформить операцию по записи с нулевым или недостаточным остатком, повторно отправить уже принятую транзакцию.

Проверьте актуальный статус объекта непосредственно во внешней системе (через её веб-интерфейс или через запрос актуальных данных из 1С). Если статус изменился — обновите данные в 1С: выполните загрузку актуальных сведений, чтобы программа «увидела» реальное состояние, а затем решите, нужна ли вообще повторная отправка.

Маршрут решения

Как выбрать действие по статусу

Объект во внешней системе уже находится в целевом статусе (погашен, оформлен)Не отправляйте запрос повторно — обновите статус в 1С загрузкой актуальных данных
Объект аннулирован или заменён новой версиейСопоставьте актуальную версию записи и сформируйте новый документ
Статус корректный, но отказ повторяетсяПроверяйте права учётной записи и сертификат доступа

Учётные данные, сертификат и права доступа

Если данные и статусы в порядке, проверьте параметры подключения. Отказ возможен, когда логин или пароль к внешнему сервису изменились, сертификат просрочен, либо у учётной записи нет прав на конкретный тип операции или на конкретную площадку.

Откройте настройки обмена в 1С и выполните тест подключения. Убедитесь, что используется актуальный сертификат, срок действия которого не истёк, и что учётная запись привязана к нужному хозяйствующему субъекту. Если сертификат обновлялся — укажите новый в настройках и повторите отправку.

Версия формата и обновление конфигурации

Форматы обмена со временем меняются: внешний сервис переводит приём запросов на новую версию, а старые перестаёт принимать. Если ошибка появилась у всех пользователей одновременно и массово, без изменений в данных — проверьте, не устарела ли ваша конфигурация 1С или модуль интеграции.

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

Как проверить, что проблема решена

После исправления повторите отправку запроса из журнала обмена или из самого документа. Успешный результат выглядит так: сообщение получает код успешной обработки, статус объекта в 1С меняется на ожидаемый (например, «погашен» или «оформлен»), а во внешней системе операция отображается в журнале.

Дополнительно выполните загрузку актуальных данных из внешней системы и убедитесь, что состояние объектов в 1С и в сервисе совпадает. Расхождение статусов после «успешного» ответа — признак того, что обмен работает нестабильно и требует дальнейшей диагностики.

Контрольные точки

Как проверить результат

Код ответа на повторный запрос
Норма

Код успешной обработки, текст без отказа

Тревожный признак

Снова код 30 или новый код отказа

Статус объекта в 1С и во внешней системе
Норма

Статусы совпадают после загрузки актуальных данных

Тревожный признак

В 1С старый статус, в сервисе — новый

Поведение других аналогичных документов
Норма

Новые документы отправляются без ошибок

Тревожный признак

Отказ повторяется на всех документах — проблема системная

Частые вопросы

Можно ли просто удалить отклонённое сообщение из журнала?

Удаление сообщения из журнала уберёт только запись об ошибке, но не выполнит операцию: объект во внешней системе останется в прежнем состоянии. Сначала устраните причину отказа и добейтесь успешной отправки, и только потом очищайте журнал.

Ошибка появилась сразу после обновления 1С — что делать?

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

Текст ответа сервиса пустой, есть только код 30. Как диагностировать?

Откройте полное содержимое ответа в журнале обмена — пояснение может находиться во вложенных полях сообщения. Если текста нет и там, проверьте объект по всем сценариям по очереди: сопоставление, статус, права доступа. Также полезно сравнить отклонённый запрос с аналогичным успешным.

Код 30 приходит только на один документ, остальные проходят. В чём причина?

Это почти всегда проблема конкретного объекта: несопоставленная позиция, неверный статус записи, недостаточный остаток или устаревшая версия записи во внешней системе. Проверяйте именно этот документ и связанные с ним справочники.

Когда стоит обращаться к специалисту по 1С?

Если после проверки справочников, статусов, сертификата и версии формата отказ сохраняется, либо если требуется изменение кода модуля интеграции. Также к специалисту стоит обратиться до любых массовых изменений в документах, чтобы не нарушить целостность учёта.

Повлияет ли повторная отправка на учётные данные в 1С?

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

Итог

Что важно запомнить

Код результата 30 — это отказ внешнего сервиса, а не сбой 1С. Диагностика строится от текста ответа в журнале обмена: сопоставление справочников, статус объекта, права и сертификат, версия формата. Повторная отправка допустима только после устранения причины, а перед изменениями в базе делайте резервную копию.