Петров тот же. Пропуск говорит обратное

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

На складе эту работу выполняет подрядчик Петров. Он приезжает после закрытия, показывает пропуск, проходит через служебные ворота и забирает копии накладных.

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

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

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

COM-ошибка означает, что внешний исполнитель не прошёл один из этапов допуска. Перерегистрация библиотеки — лишь одна из проверяемых версий.

Что означает COM в этой истории

COM позволяет одной программе вызвать объект другой программы по согласованным правилам. Для интеграции с 1С внешний процесс обращается к зарегистрированному COM-объекту, загружает компонент подходящей разрядности и версии, затем пытается создать соединение с информационной базой.

Слово «COM» в сообщении ещё не указывает на один конкретный ремонт. Ошибка может появиться до обращения к базе, во время загрузки компонента, при запуске под служебной учётной записью или уже на этапе открытия сеанса 1С.

Синхрон: подрядчик и внешняя программа

№Склад и пропускаВнешняя программа и 1СПроверяемый след
1Подрядчик получает задание П-407внешнее приложение запускает обменимя задания, время и место запуска
2Он обращается в бюро пропусков по названию услугипрограмма запрашивает COM-класс по его идентификаторуточный объект и ошибка создания
3Бюро находит действующий образец пропускаоперационная система находит зарегистрированный компонентрегистрация и путь компонента
4Формат пропуска подходит турникетуразрядность вызывающего процесса совместима с компонентом32/64 бита обеих сторон
5Охранник проверяет личность, смену и разрешённые зоныкомпонент запускается под конкретной учётной записью и правамиконтекст запуска и отказ доступа
6Подрядчик находит нужный склад и архивстрока подключения указывает на сервер, базу или файловый путьпараметры назначения без публикации секретов
7Архив выдаёт накладные1С открывает сеанс и выполняет согласованное действиеуспешное подключение и контрольная операция

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

Схема: досье одного пропуска

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

┌──────────────────────────────────┐
│ Задание: забрать накладные       │  внешнее приложение
├──────────────────────────────────┤
│ Название услуги в бюро           │  идентификатор COM-класса
├──────────────────────────────────┤
│ Образец пропуска найден          │  компонент зарегистрирован
├──────────────────────────────────┤
│ Формат 32/64 подходит            │  совместимая разрядность
├──────────────────────────────────┤
│ Петров допущен в ночную смену    │  учётная запись и права
├──────────────────────────────────┤
│ Адрес архива действующий         │  строка подключения
├──────────────────────────────────┤
│ Накладная П-407 получена         │  контрольная операция выполнена
└──────────────────────────────────┘

Сбойный слой сдвигается вправо и получает подпись с фактом: «компонент не найден», «разрядность не совпала», «доступ запрещён», «база не открылась». Слова «что-то с COM» на схеме нет: они не локализуют этап.

Четыре места, где чаще всего теряется допуск

Бюро не находит нужный тип пропуска

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

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

Пропуск существует, но турникет его не читает

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

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

Ночная смена не признаёт права подрядчика

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

Складская модель: днём Петрова знает начальник склада. Ночью у охранника свой список, и дружеское «меня тут все знают» в него не помещается.

Пропуск принят, адрес назначения устарел

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

Складская модель: охрана пропустила подрядчика, а архив переехал в соседний корпус.

Дерево проверки

Где возникает точный текст ошибки?
├─ При создании COM-объекта
│  └─ проверить название объекта, установку, регистрацию, версию и место запуска
└─ После создания объекта, при подключении к базе
   └─ проверить строку подключения, доступность базы, права и совместимость версии

Ошибка повторяется при том же способе запуска?
├─ Только в службе или задании по расписанию
│  └─ сравнить учётную запись, права, окружение и разрядность процесса
└─ В ручном и автоматическом запуске
   └─ сравнить работающий и неработающий компьютер по матрице совместимости

Есть компьютер, где тот же сценарий работает?
├─ Да → сравнить версии, разрядность, регистрацию и контекст запуска
└─ Нет → восстановить хронологию изменений и проверить каждый слой допуска

Физическая версия дерева:

  1. Бюро понимает, какой пропуск просит Петров?
  2. Образец пропуска есть в текущем бюро?
  3. Карточку читает именно этот турникет?
  4. Ночная смена признаёт владельца и его права?
  5. Адрес склада и архива актуален?
  6. Архив выдал контрольную накладную П-407?

Что видит бизнес

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

Руководителю нужно установить:

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

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

Что проверяет специалист

Специалист составляет матрицу совместимости и идёт по этапам:

  • имя и версия внешнего приложения;
  • место и способ запуска;
  • учётная запись ручного и автоматического запуска;
  • разрядность вызывающего процесса;
  • установленная версия платформы 1С и нужного компонента;
  • наличие и область регистрации COM-объекта;
  • момент и полный текст ошибки;
  • параметры подключения к информационной базе;
  • доступность базы из того же контекста;
  • журналы внешнего приложения, операционной системы и 1С;
  • изменения перед последним успешным и первым неуспешным запуском.

Версии и разрядность записывают явно. Формулировка «всё самое новое» для матрицы не подходит.

Что можно собрать безопасно

  1. Полный текст ошибки без обрезанного начала и конца.
  2. Дату и время последнего успешного обмена.
  3. Дату и время первой ошибки.
  4. Название внешней программы или задания.
  5. Ответ, работает ли ручной запуск и под какой учётной записью он выполнялся.
  6. Разрядность внешней программы, если она известна из её официальных сведений.
  7. Версию платформы 1С на рабочем и неработающем компьютере.
  8. Сведения о недавнем обновлении, переносе задания, смене учётной записи или сервера.
  9. Один контрольный документ для проверки после восстановления.

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

Стоп-действия

Без подтверждённой причины и плана возврата не следует:

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

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

Как выглядит результат

После диагностики остаются:

  • точный этап отказа;
  • матрица версий, разрядности, места и контекста запуска;
  • доказательство причины;
  • одно управляемое изменение;
  • план возврата;
  • успешное создание COM-объекта;
  • успешное подключение к контрольной базе;
  • контрольная операция с документом П-407;
  • сверка накопившихся документов без пропусков и дублей.

Фраза «COM починили» слишком короткая для приёмки. Проверяемый результат показывает, кто запускает обмен, через какой компонент, к какой базе и какой документ прошёл целиком.

Покажите одно сообщение и одну операцию

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

Обсудить ситуацию