Коротко
Ошибка компиляции модуля: в коде используется имя, которое в этом месте не объявлено и недоступно. Чаще всего это общий модуль, недоступный на клиенте, или обработка от другой конфигурации.
Как выглядит
{ВнешняяОбработка.ПримерОбработки.Форма.Форма.Форма(12,5)}: Переменная не определена (ПримерОбщегоМодуля)
Причины
- Внешняя обработка или отчёт вызывает общий модуль, которого нет в вашей конфигурации или который в ней называется иначе.
- Общий модуль существует, но недоступен в контексте вызова: код на клиенте обращается к модулю без признака клиентского исполнения или к серверному модулю без признака вызова сервера.
- На клиенте используются имена, доступные только на сервере: «Метаданные», менеджеры справочников и документов, «Константы».
- В имени переменной опечатка, или переменная объявлена в другой процедуре и в этом месте не видна.
- Обработка написана под другой режим запуска — обычное или управляемое приложение — и часть имён в нём недоступна.
Что делать
Пользователю
- Скопируйте текст ошибки: в скобках стоит неизвестное имя, в фигурных скобках — модуль.
- Если ошибка возникает при открытии внешней обработки или отчёта, обработка несовместима с вашей конфигурацией. Передайте текст поставщику обработки.
- Если ошибка появилась в типовом документе после установки расширения, сообщите администратору, какое расширение ставили последним.
Администратору
- По модулю из фигурных скобок определите источник: конфигурация, расширение или внешняя обработка.
- Проверьте, совпадают ли конфигурация и её редакция с теми, для которых написана обработка.
- Если ошибка в расширении появилась после обновления конфигурации, расширение нужно адаптировать. Временно его можно отключить, если без него работа возможна.
Разработчику
- Откройте модуль и выполните синтаксический контроль: конфигуратор покажет строку и имя.
- Проверьте директиву компиляции процедуры и свойства вызываемого общего модуля: клиент, сервер, вызов сервера.
- Обращения к серверным объектам вынесите в процедуру с директивой НаСервере или в общий модуль с признаком вызова сервера.
- Если обработка должна работать в разных конфигурациях, проверяйте наличие общего модуля через метаданные до вызова.
Помогло?
Работаете с 1С постоянно? После регистрации сопоставитель отвечает на 50 запросов в сутки вместо 10. Зарегистрироваться
Не помогло? Напишите специалисту
Ответ придёт на указанный email. Текст ошибки вставьте целиком, вместе со стеком.
Частые вопросы
Почему обработка работала, а теперь нет?
После обновления конфигурации общий модуль могли переименовать или изменить его свойства. Обработку нужно проверить на текущей редакции.
Можно ли обойти ошибку настройкой программы?
Нет. Это ошибка компиляции: модуль не запустится, пока имя в коде не исправлено.
Комментарии
Комментариев пока нет. Если решение сработало иначе, чем описано, расскажите об этом.
Войдите, чтобы оставить комментарий.