Переход с платформы 1С 7.7 на 1С 8.3 — это сложный процесс, который часто сопровождается техническими сбоями. Одной из самых распространенных ошибок при использовании типовых правил обмена (например, при переходе с конфигурации «Торговля и Склад 9.2» на «Управление торговлей 10.3») является сообщение: «ТипТега = мЧтениеXML.Спуститься; {Обработка...}: Попытка смены источника в процессе разбора документа». Рассмотрим подробнее, почему возникает эта проблема и как ее решить шаг за шагом.
Данная ошибка возникает в момент, когда внешняя компонента v7plus.dll пытается инициализировать чтение XML-файла правил обмена или файла данных, но сталкивается с некорректной работой системного парсера XML или отсутствием необходимых прав доступа. Метод Спуститься() отвечает за вход внутрь иерархической структуры тега XML, и если объект мЧтениеXML теряет связь с файлом-источником, выполнение кода прерывается. Проанализируем основные способы устранения этой неисправности.
Первым делом проверим версию библиотеки v7plus.dll. В большинстве случаев ошибка вызвана использованием устаревшей версии компоненты (например, 7.70.0.9). Для стабильной работы в современных операционных системах требуется версия 7.70.0.11.
Выполним следующие действия:
v7plus.dll версии 7.70.0.11 (размер файла должен составлять около 223 554 байт).ExtForms. Также рекомендуется положить копию в каталог Bin установленной платформы 1С 7.7.SysWOW64.Запустим командную строку от имени администратора и выполним команды:
regsvr32 /u "C:\PathToBase\v7plus.dll"
regsvr32 "C:\PathToBase\v7plus.dll"
Компонента v7plus.dll является «оберткой» над системными библиотеками Microsoft XML Parser. Если в системе установлена только новая версия (например, MSXML 6.0), старая компонента может работать некорректно. Разберем, как переключить систему на использование подходящей версии MSXML 3.0 или 4.0.
Проанализируем ситуацию: если у вас установлена Windows 10 или 11, в ней по умолчанию могут быть отключены или некорректно зарегистрированы старые версии парсера. Попробуем перерегистрировать их вручную:
regsvr32 msxml4.dll /u
regsvr32 msxml3.dll
В некоторых случаях помогает полная установка пакета MSXML 4.0 Service Pack 3, который можно скачать с официальных ресурсов Microsoft (если поддержка еще доступна) или найти в дистрибутивах старых версий 1С.
Современные механизмы контроля учетных записей (UAC) в Windows блокируют попытки старых приложений (каким является 1С 7.7) изменять файлы или обращаться к COM-объектам. Это часто приводит к тому, что метод Спуститься() не может получить доступ к временному файлу, который создает парсер.
Проверим следующие настройки:
1cv7s.exe или ярлык программы строго от имени Администратора (правой кнопкой мыши — «Запуск от имени администратора»).%TEMP%.Библиотека v7plus.dll крайне чувствительна к длинным путям и кириллическим символам в именах файлов правил обмена. Выясним, не в этом ли причина ошибки в нашем случае.
Рассмотрим рекомендации по организации файлов:
Trade92_103.xml) в корень диска или в папку с коротким путем без пробелов, например: C:\Exchange\rules.xml.Если вышеописанные методы не помогли, проанализируем настройки предотвращения выполнения данных (DEP). Эта функция безопасности может блокировать выполнение кода внутри v7plus.dll, считая его подозрительным.
Выполним настройку исключений:
1cv7s.exe (или 1cv7.exe, в зависимости от используемой версии платформы).Подводя итог, если вы столкнулись с ошибкой «Попытка смены источника», ваша последовательность действий должна быть следующей:
msxml3/4 через командную строку от администратора.Использование этих методов в совокупности гарантированно решает проблему некорректной работы XML-парсера в 1С 7.7 и позволяет успешно завершить типовой перенос данных в УТ 10.3.