При работе с системой ЕГАИС в программе 1С:Розница 2 пользователи и администраторы часто сталкиваются с критической ошибкой, которая блокирует не только обмен данными с УТМ (Универсальным транспортным модулем), но и даже попытку открыть настройки интеграции. Текст ошибки обычно выглядит так: {ОбщийМодуль.РаботаСФайламиСлужебный.Модуль(916)}: Значение не является значением объектного типа (ПолныйПутьWindows). В некоторых случаях она может сопровождаться ошибкой при попытке записи — Значение не является значением объектного типа (ЗАПИСАТЬ).
Давайте подробно разберем, почему возникает эта проблема, и проанализируем пошаговые методы ее решения, основываясь на практическом опыте специалистов.
Проанализируем техническую сторону вопроса. Ошибка в строке модуля РаботаСФайламиСлужебный возникает в тот момент, когда программный код пытается обратиться к свойству ПолныйПутьWindows структуры или объекта, который на самом деле имеет значение Неопределено или NULL.
В контексте обмена с ЕГАИС это означает следующее: система видит запись о необходимости отправить или получить файл (пакет данных XML), но когда дело доходит до получения физического пути к этому файлу на диске или во временном хранилище, объект-ссылка на этот файл оказывается «битым». Система ожидает получить описание файла, а получает пустоту. Чаще всего это происходит из-за сбоев при записи документов, некорректного ответа от УТМ или проблем с регистрами очереди обмена.
Как показывает практика, наиболее эффективным решением является работа с регистром, в котором хранятся задания на обмен. Рассмотрим этот процесс по шагам:
ОчередьОтправкиЕгаис.ПолныйПутьWindows исчезает.Если вы хотите программно проверить наличие битых записей, можно воспользоваться коротким фрагментом кода в обработке:
НаборЗаписей = РегистрыСведений.ОчередьОтправкиЕгаис.СоздатьНаборЗаписей();
НаборЗаписей.Прочитать();
// Если нужно очистить всё
НаборЗаписей.Очистить();
НаборЗаписей.Записать();
Если очистка очереди не помогла, проанализируем состояние справочников присоединенных файлов. Проблема может скрываться в справочниках вида [ИмяДокумента]ПрисоединенныеФайлы (например, ТТНВходящаяЕГАИСПрисоединенныеФайлы).
Рассмотрим алгоритм действий:
ФайлыВРабочемКаталоге. Этот регистр хранит пути к локальным копиям файлов на конкретном компьютере. Его очистка часто помогает, если проблема локальна.Иногда корень проблемы лежит в плоскости операционной системы. Если платформа 1С не может создать временный XML-файл для передачи в ЕГАИС, переменная ПолныйПутьWindows не будет заполнена.
Разберем, на что стоит обратить внимание:
%TEMP%)..xml во временных каталогах в момент их формирования программой. Попробуем временно отключить антивирус или добавить папку базы и временные папки в исключения.localhost:11280 (или другой настроенный порт). Если УТМ возвращает пустой ответ, 1С может некорректно обработать это состояние, что приведет к ошибке обращения к объекту.Если вышеописанные методы не помогают, выполним стандартные регламентные операции, которые могут косвенно влиять на работу механизмов РаботаСФайлами:
Администрирование — Тестирование и исправление. Обязательно выберем пункты «Проверка ссылочной целостности» и «Реиндексация таблиц».Подводя итог, отметим, что ошибка ПолныйПутьWindows в 1С:Розница — это типичный симптом «рассинхронизации» между логической записью в базе данных и физическим файлом обмена. Чаще всего «виновником» оказывается регистр ОчередьОтправкиЕгаис, и его точечная очистка позволяет быстро вернуть систему в рабочее состояние без потери критически важных данных.