Почему возникает ошибка «Процедура или функция не определена» после обновления конфигурации УТ 10.3?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При эксплуатации распределенных информационных баз (РИБ) системные администраторы и программисты часто сталкиваются с ситуациями, когда после успешного обновления конфигурации на центральном узле, подчиненные узлы начинают выдавать критические ошибки. Одной из самых распространенных проблем является ошибка вида: Процедура или функция с указанным именем не определена (ПолучитьСтрокуИзДвоичныхДанных). Давайте разберемся, почему это происходит и как исправить такую ситуацию.

Выясняем причины возникновения ошибки

Рассматриваемая ошибка возникает из-за несовпадения версий исполняемого файла платформы 1С:Предприятие на разных узлах сети. Функции ПолучитьСтрокуИзДвоичныхДанных и ПолучитьДвоичныеДанныеИзСтроки были введены разработчиками фирмы 1С в платформу начиная с версии 8.3.10. Если ваша конфигурация была обновлена на релиз, который активно использует эти методы, а на одном из рабочих мест установлена старая версия платформы (например, 8.3.9), интерпретатор 1С просто «не узнает» эти команды, так как они отсутствуют в устаревшем движке.

Разберем основные факторы, приводящие к таким сбоям:

  1. Неравномерное обновление платформы: В РИБ обновление конфигурации «прилетает» через план обмена, но файл платформы (1cestart.exe или конкретный релиз в папке C:\\Program Files\\1cv8\\) нужно обновлять отдельно на каждом компьютере. Часто этот этап пропускается на удаленных узлах.
  2. Зависимость от метаданных: Конфигурация УТ 10.3, будучи довольно возрастной, часто работает в режиме совместимости. Однако программный вызов новых методов платформы из общих модулей принудительно требует наличия современной версии движка, вне зависимости от режима совместимости.
  3. Проблемы с внешними компонентами: Использование BarCodeLib и других библиотек торгового оборудования напрямую завязано на системные вызовы платформы. Если платформа не может корректно обработать базовые функции преобразования данных, инициализация оборудования будет завершаться крахом.

Пошаговое устранение проблемы

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

  1. Проверка версий на всех узлах: Откройте 1С:Предприятие на проблемном узле. В меню «Справка» -> «О программе» проверьте версию платформы. Убедитесь, что она совпадает с той, что установлена на центральном узле (в идеале — используйте актуальную версию платформы, рекомендуемую для данного релиза конфигурации).
  2. Установка актуальной платформы: Если версия ниже 8.3.10, загрузите и установите свежий релиз платформы 1С:Предприятие 8.3.
  3. Перезапуск узла: После обновления платформы обязательно перезапустите сеанс работы пользователя, чтобы система пересчитала кэш метаданных и корректно инициализировала внешние библиотеки.
  4. Проверка режима совместимости: Если после обновления платформы ошибка сохраняется, проверьте в конфигураторе свойства конфигурации. Убедитесь, что режим совместимости установлен корректно:
    
    // Пример проверки режима в конфигураторе:
    // Свойства конфигурации -> Режим совместимости.
    // Для работы с методами 8.3.10+ рекомендуется использовать
    // режим совместимости "Не использовать" или "Версия 8.3.10"
    

Почему очистка кэша не всегда помогает?

Мы привыкли, что при любых странных ошибках в 1С первым делом нужно чистить кэш. Однако в данном случае ошибка носит фундаментальный характер. Очистка кэша (удаление файлов в папке AppData\\Local\\1C\\1Cv8\\) удаляет лишь локально сохраненные параметры интерфейса и индексы таблиц метаданных. Она не добавит в устаревший файл bin\\core83.dll те методы, которые были реализованы в него только в версии 8.3.10. Поэтому, если вы видите ошибку Процедура или функция с указанным именем не определена — это прямой сигнал к тому, что нужно обновлять не кэш, а саму платформу.

Рекомендации по дальнейшей поддержке РИБ

Чтобы избежать подобных ситуаций в будущем, рекомендуем придерживаться следующих правил:

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

← На главную