Две фотографии и ошибка, которая врёт дважды
Бухгалтерия перестала работать с электронными счетами-фактурами. В профиле пользователя ИС ЭСФ проверка входа падала с исключением:
Поле объекта не обнаружено (responseObject)
Нам прислали две фотографии экрана, больше на входе ничего не было. И сообщение на них врёт дважды.
Первый раз оно врёт про место поломки. responseObject к причине отношения не имеет:
это поле в ответе компоненты подписи, и код читает его, не проверив, успешен ли ответ.
Настоящая ошибка к этому моменту уже случилась и в исключение не попала. На фото она
нашлась отдельной строкой в служебных сообщениях внизу окна:
Не удалось подключиться к порталу интернет-поддержки по причине: Incorrect login or password. Код ВК: 300
Второй раз оно врёт про число поломок. Под одним текстом сидели две независимые. Чинишь первую, экран не меняется, и очень хочется решить, что починка не помогла.
Что получил заказчик
- Обе причины, у каждой доказательство из базы. Формулировок “похоже на” в разборе нет.
- Первую поломку устранили в тот же день.
- По второй системные администраторы получили записку: что скопировать, откуда, куда положить, что перезапустить и как проверить результат, не дёргая бухгалтерию. Отдельно ответили на их встречные вопросы.
- Два дефекта в типовом коде обмена, записанные на будущее.
Как шёл разбор
От кнопки до исключения
Код прочитали до точки падения, это пять шагов. По дороге выяснилось, что подпись запрашивается только тогда, когда в регистре нет сохранённого тикета. Сама ошибка рождается строкой раньше исключения: обработчик ответа компоненты её не выбрасывает, он возвращает структуру без нужного поля. Следующая строка пытается это поле прочитать и падает.
Чей это текст
Строку Incorrect login or password искали по всем открытым модулям конфигурации
и по закрытым бинарным модулям. Ноль вхождений. Сформировать такой текст конфигурация
не может, его вернула внешняя компонента, и поиск сузился с “где-то в 1С” до компоненты
подписи.
Дальше пригодился свой опыт. Типовая компонента ЭСФ перед подписью берёт параметры с портала интернет-поддержки 1С и входит туда по логину ИТС, сохранённому в базе. Мы на это уже наступали, когда собирали Автопилот ИИС ЭСФ: с пустым логином компонента отвечает “Не удалось получить параметры компоненты”. Здесь логин в базе был, но портал его не принимал. Ключ ЭЦП и пароль ИС ЭСФ к этой строке отношения не имеют.
Канал к базе
Диагностический доступ к базе сначала не работал. Разбирали по слоям: служба веб-сервера жива, публикация отвечает, веб-сервисы отдают WSDL, а часть HTTP-сервисов не работает. Виноват оказался устаревший пароль служебной учётной записи. После починки на вопросы стала отвечать сама база.
Что сказал журнал регистрации
Журнал дал точную формулировку и время: десять записей за двадцать минут, событие “Проверка доступа к сервису электронного взаимодействия”. До этого у нас был пересказ с фотографии, теперь симптом подтверждён первоисточником.
Четыре ложные версии
Каждая выглядела правдоподобно, и каждую закрыли данными из базы. Проверять их руками на живых бухгалтерах - по дню на версию.
| Версия | Чем проверили | Что оказалось |
|---|---|---|
| Истёк сертификат ЭЦП | реквизиты профиля в базе | ключ действует |
| У пользователя не запущен NCALayer | настройка места выполнения криптоопераций | подпись идёт на сервере, компьютер пользователя в ней не участвует |
| Сервер не видит портал | HTTP-запросы с самого сервера | портал отвечает 200 |
| Сломалось у одного человека | регистр активных сессий | пусто у всех шести профилей |
Версия, которую не удалось закрыть измерением, в выводы не идёт, она записывается в “не проверено”.
Про NCALayer отдельно. Когда подпись выполняется на сервере, программа на компьютере бухгалтера в ней не участвует, и переустанавливать её бесполезно. Если подпись у вас клиентская и 1С просит запустить NCALayer, причины разобраны в статье “Убедитесь, что NCALayer запущен” - а он запущен.
Что нашлось

Первая поломка: логин ИТС
Логин интернет-поддержки, который база предъявляет порталу 1С перед каждой подписью, портал отклонял. Логин заменили на действующий, и отказ портала из журнала регистрации ушёл. Порядок починки по шагам собран на странице Incorrect login or password при входе в ИС ЭСФ.
В Бухгалтерии для Казахстана 3.0 это правится в разделе Администрирование → Интернет-поддержка и сервисы → Настройка интернет-поддержки: отключить и подключить заново. Сначала стоит войти с этим логином на portal.1c.ru в браузере. Если там не пускает, вписывать его в базу бесполезно.
Вторая поломка: библиотека криптографии на сервере
Подпись в этой базе выполняется на сервере 1С, значит, и криптографическая библиотека нужна там. На сервере приложений её не оказалось. Проверяли программно, с самого сервера: пять путей, где она должна лежать, и поиск по маске в системном каталоге. Везде ноль. На другом сервере компании, где ЭСФ работает штатно, та же библиотека на месте.
Без неё подпись не формируется физически, и заканчивается всё той же строкой про
responseObject. Пока впереди стояла первая поломка, до подписи дело не доходило,
поэтому вторую увидеть было нельзя.
Если подпись у вас тоже выполняется на сервере, библиотека нужна на каждом рабочем сервере кластера 1С. Быстрее всего сравнить сервер, где подпись падает, с тем, где она работает. Что ещё нужно серверу, чтобы подписывать без человека у монитора, разобрано в статье про подпись ЭЦП на сервере 1С.
Почему замена логина “не помогла”
После замены логина пользователь нажал ту же кнопку, получил ту же ошибку и решил, что ничего не изменилось. Журнал регистрации показал другое: после замены база не обратилась к порталу ни разу.
Ключевые модули обмена кешируют результат на время сеанса (общие модули с повторным использованием возвращаемых значений). Старый сеанс продолжал жить с прежними параметрами, и новый логин в нём примениться не мог в принципе. Любую такую правку проверяют в новом сеансе: закрыть 1С и зайти заново.
Без этого наблюдения разбор пошёл бы по кругу: поменяли, не помогло, значит, дело не в логине. А логин был одной из двух настоящих причин.
Два дефекта в типовом коде обмена
Оба нашлись в той версии конфигурации, что стоит у заказчика, и оба стоит знать до следующего похожего случая:
- ошибка внешней компоненты не превращается в исключение, вместо неё пользователь видит сообщение о ненайденном поле. Лечится тремя строками проверки ответа;
- функция выбора режима криптографии возвращает зашитое значение, а штатное чтение настройки в ней закомментировано. Переключить режим настройкой нельзя.
Если такая ошибка у вас прямо сейчас
У этой ошибки есть родственник с другим полем в скобках, createSessionResponse.
Он возникает на открытии сессии с порталом, и причины у него свои. Их вместе
с остальными поломками обмена мы разобрали по дословному тексту в статье
ЭСФ не уходит из 1С: находим причину по тексту ошибки.
Если разбираться некогда, пришлите фото экрана в WhatsApp. Этот разбор тоже начался с двух фотографий. А если обмен нужен вовсе без человека у кнопки, смотрите автоматическую отправку ЭСФ.