Метод объекта не обнаружен 1с
Многие из нас сталкиваются в своей деятельности с программными продуктами Компании 1С. Более того, некоторым из нас иногда приходится даже иногда обслуживать продукты 1С. Иногда в этом «чудесном» процессе обслуживания возникают различные казусы. Сегодня мы поговорим об одном из них.
Немного вводной теории:
1С:Предприятие 8.x предоставляет разные интересные возможности для организации обмена данными с другими программными системами. Наряду с механизмом OLE Automation также было введено понятие COM-соединения, которое позволяет обеспечить надежный и более быстрый доступа к данным 1С:Предприятия 8.0 из внешних приложений, поддерживающих данную технологию.
Теперь, зная откуда растут ноги, переходим к практике. Допустим (при обновлении и ли другой какой-то операции) Вы получили ошибку вида:
В операционных системах Windows последних версий заходим в «Службы компонентов». Данная функциональность вызывается следующей последовательностью: Панель управления — Администрирование — Службы компонентов.
Выбираем: Компьютеры – Мой компьютер – Приложения COM+ — Создать приложение – Создать новое приложение – вводим имя «V82COMConnector» (переключатель «Серверное приложение») – Указанный пользователь (Администратор)
В появившейся ветке V82COMConnector – выбираем подветку Компоненты – создание нового компонента – Установка новых компонентов — \bin\comcntr.dll
Нажимаем правой кнопкой по ветке V82COMConnector – Свойства – Безопасность – снимаем галку «Принудительная проверка доступа для приложений» — ставим галку «Применить политику программных ограничений» — Уровень ограничений «Неограниченный»:
Также в профилях пользователей C:\Users\НашПользователь\AppData\Roaming\1C\1CEStart.cfg изменяем параметр UseHWLicenses=0 на UseHWLicenses=1
После всех этих изменений можно (для чистоты эксперимента) перезагрузить комп и наслаждаться дальнейшей работой в 1С, но уже без данной ошибки (!)
P.S. Небольшой бонус в конце: 1С обновление от имени администратора
Довольно часто какой-то Ваш удалённый клиент — бухгалтер и т.д. — не может произвести самостоятельно обновление программных продуктов 1С, ему требуются права администратора, а правой кнопкой нажимать на ярлыке (и выбирать «Запуск от имени администратора») он не хочет или «боится». Поэтому он постоянно напрягает нашего брата АйТишника.
Давайте же нажмём за него правой кнопкой, но сделаем это один раз и навсегда забудем о данной теме!
Итак, делаем разовую настройку — нажимаем правой кнопкой на ярлыке запуска 1С, выбираем «Свойства», жмём «Изменить параметры для всех пользователей» и устанавливаем галку «Запускать эту программу от имени администратора». Затем пару раз кликаем Ок, и забываем про «боязливого» клиента 😉
Надеюсь, Вы смогли найти здесь немного полезностей для себя. Пишите в комментах о Ваших «хитростях» — будем совместно приносить просветительскую пользу.
Исправление следующей ошибки 1С 8.3 (может возникать при синхронизации, выгрузке-загрузке различных данных с удаленным подключением и т.п., как правило после обновления платформы):
"При попытке подключения к информационной базе произошла ошибка:
Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса"
Решение: в реестре Windows необходимо зарегистрировать компоненту comcntr.dll
Сначала пробуем простые варианты.
Первый вариант: пробуем удалить и заново установить платформу 1С, войдя в систему с полными правами (предварительно перезагрузив компьютер).
Проверяем. Если не помогло -
Второй вариант:
Открываем Проводник (Мой компьютер), в адресной строке пишем %windir% и нажимаем Enter,
открывается командное окно с путем: C:\Windows\,
Далее в зависимости от разрядности вашей версии Windows (32 или 64 разряда) входим в соответствующую директорию,
находим среди файлов cmd.exe и запускаем его от имени Администратора (клик правой клавишей - запустить от имени Администратора).
В появившемся окне также в зависимости от разрядности Windows вставляем (можно отсюда через копировать-вставить) следующую строку:
для Windows 7x32
в %windir%\System32\RegSvr32.exe "С:\Program Files (x86)\1cv8\8.3.11.3034\bin\comcntr.dll"
для Windows 7x64
в %windir%\SysWoW64\RegSvr32.exe "С:\Program Files (x86)\1cv8\8.3.11.3034\bin\comcntr.dll"
Важно! Здесь вместо подстроки "С:\Program Files (x86)\1cv8\8.3.11.3034" укажите путь к Вашему каталогу 1С Предприятие.
Если и это не помогло -
Третий вариант, регистрируем компонент в реестре вручную:
Открываем: Панель управления - Администрирование - Службы компонентов – Компьютеры – Мой компьютер
Выбираем: Приложения COM+ - Дополнительные действия - Приложения - Создать приложение.
Вводим имя "V83COMConnector" , ставим опцию "Серверное приложение", и Указанный пользователь выбираем "Администратор", либо "Текущий пользователь".
В появившейся ветке V83COMConnector выбираем Компоненты – Создание нового компонента – Установка новых компонентов.
Выбираем файл - входим в Ваш каталог 1С, далее \bin\comcntr.dll, и выбираем Готово.
Правой кнопкой мыши нажимаем по ветке V83COMConnector, далее переходим на Свойства – Безопасность.
Снимаем опцию "Принудительная проверка доступа для приложений", выставляем опцию "Применить политику программных ограничений" и выбираем уровень "Неограниченный".
Примеры появления и исправления ошибки рассмотрены нами на конфигурации 1С:Бухгалтерия 8.3.
Причины возникновения ошибки
Пользователь получает предупреждение в виде всплывающего окна с текстом «Метод объекта не обнаружен ([Имя_метода])», если:
- метод не принадлежит к типу метаданных;
- опечатка в имени метода;
- у процедуры или функции, вызываемой в качестве метода объекта, не указанно ключевое слово Экспорт.
Для решения проблемы следует разобраться в структуре объектов конфигурации и их наборе методов.
Объекты и методы
Объекты или метаданные — основные составляющие конфигурации, куда сохраняются данные информационной базы. Состав метаданных закреплен на уровне платформы и не может дополняться программистом.
В список стандартных объектов 1С входят:
- константы;
- справочники;
- документы;
- отчеты;
- регистры сведений;
- и т. д.
Состав метаданных не ограничен объектами, перечисленными в окне дерева конфигурации: их в несколько раз больше. К тому же один объект может иметь несколько типов: например, ДокументОбъект, ДокументСсылка, ДокументВыборка и т. д. У каждого типа есть свой набор методов, которые позволяют выполнить определенную последовательность действий с отдельным экземпляром объекта.
Методы делятся на два вида:
- встроенные в платформу;
- написанные программистом в модулях объектов.
Встроенные методы объектов описаны в Синтакс-Помощнике : например, записать документ позволит метод Записать(). Имена методов созвучны с глаголом действия, которое будет произведено с метаданными.
Процедуры и функции, описанные в модулях объектов с ключевым словом Экспорт, дополняют типовые методы своих объектов и могут вызываться из любых программных модулей, где используются эти метаданные.
Исправление ошибки
Для детального анализа ошибки запустите конфигурацию в режиме отладки из конфигуратора Отладка — Начать отладку и повторите те же действия, чтобы вызвать повторное появление ошибки на экране. Кнопка Подробно раскроет окно с указанием строчки программного кода, где возникает сбой.
Для перехода в конфигуратор нажмите Конфигуратор .
В режиме конфигурирования курсор автоматически установится в месте появления ошибки, а информация из окна с подробным описанием сбоя в 1С отразится в служебном окне Конфигуратора .
Решение вопроса с ошибкой «Метод объекта не обнаружен» в 1С 8.3 будет зависеть от вида метода: созданный вручную или типовой.
Встроенные в платформу методы
Стандартные методы перечислены в Синтакс-Помощнике на ветках соответствующих объектов. Откройте Ситнакс-Помощник через меню конфигуратора Справка или по одноименной кнопке на панели инструментов. Для быстрого поиска на вкладке Индекс введите часть имени типа объекта, а для перехода к его описанию нажмите кнопку Найти текущий элемент в дереве .
Программа перейдет на вкладку Содержание и выделит искомый объект. Раскройте ветвь с методами и попытайтесь отыскать похожий по наименованию. Если такой нашелся, замените на него метод в строке кода с ошибкой.
Запустите 1С в режиме отладки и проверьте работу конфигурации в месте возникновения ошибки. Если окно со сбоем больше не выходит, обратите внимание на корректность обработки данных программой. Исправляйте имя метода в коде на типовое, только если видите явную опечатку в наименовании и не нашли одноименной процедуры/функции в моделях объекта.
Методы, добавленные вручную
Программисты могут добавлять экспортные процедуры и функции (со словом Экспорт) в модулях объектов, например, вкладке Прочее в окне редактирования объекта конфигурации.
Перед поиском метода узнают тип объекта, от которого запускается выполнение. Возможны варианты:
- для типов ДокументОбъект, СправочникОбъект и т. д. методы прописывают в Модуле объекта ;
- типы ДокументМенеджер, ПеречислениеМенеджери т. д. — Модуль менеджера ;
- типы РегистрСведенийНаборЗаписей и т. д. — Модуль набора записей (у регистров);
- тип КонстантаМенеджерЗначения — Модуль менеджера значения (у констант);
- и др.
Чтобы определить тип объекта, воспользуйтесь одним из способов:
Переменная Документ имеет тип ДокументОбъект.СчетНаОплатуПостащика, поэтому запускаемые методы программа ищет среди экспортных процедур/функций в модуле объекта документа СчетНаОплатуПоставщику.
Для поиска метода:
- откройте модуль объекта/менеджера/набора записей;
- найдите одноименную процедуру или функцию, для быстрого перехода к нужной части текста модуля воспользуйтесь окном поиска, набрав в нем часть имени метода;
- проверьте наличие ключевого слова Экспорт. При его отсутствии программа не сможет передать процедуру/функцию в другой модуль. Соответственно, она не будет обнаружена, что приведет к появлению ошибки «Метод объекта не обнаружен»;
- имя процедуры/функции должно совпадать с вызываемым методом: если имеются явные орфографические ошибки или опечатки, исправьте их;
- если наименование процедуры/функции полностью совпадает с методом, и ключевое слово Экспорт указано, возможно, причина — в неверном типе объекта.
Если тип объект задан неверно, то программа будет производить поиск экспортных процедур/функции вне тех модулях и пользователь получит ошибку «Метод объекта не обнаружен». Для решения проблемы потребуется переписать программный код, пользователю стоит обратиться к программисту.
Если ни один из вариантов исправления ошибки не дал результата, попробуйте закомментировать строку кода, где происходит сбой, добавив в начале строки два правых слеша.
Эти действия приведут к отключению строки кода с методом для выполнения программой. Возможно, это устранит появление ошибки, но может исказить или повредить данные в базе из-за нарушения алгоритма их обработки, т. к. из него исключена последовательность действий, описанная в методе. Поэтому вносить самостоятельные правки в программный код нужно с осторожностью.
Метод объекта не обнаружен Connect 1С 8.3
Ошибку «Метод объекта не обнаружен (Connect)» 1С может показать при попытке обновить конфигурацию, синхронизации или загрузке/выгрузке данных из другой программы, базы.
Connect — наименование встроенного метода, принадлежит COM-объектам, которые 1С создает на основании объектов базы данных для их передачи или получения из других источников.
Поскольку метод типовой, следует проверить в конфигураторе корректность написания его имени в коде программы.
Ошибка «Метод объекта не обнаружен (Сonnect)» в 1С 8.3 не всегда связана с конфигурацией, причина может заключаться в операционной системе. Перед использованием метода Connect программа 1С должна создать COM-объект с помощью специальных компонентов, которые не всегда есть в системе компьютера. Проблему решают через регистрацию dll компонентов обмена, процедуру выполняют на сервере:
- в папке C:\Windows\ найдите и запустите от имени администратора файл cmd.exe;
- в зависимости от вида операционной системы выполните команду:
- для x32: %windir%\System32\RegSvr32.exe “С:\[путь до каталога 1С]\bin\comcntr.dll”;
- для x64: %windir%\SysWoW64\RegSvr32.exe “С:\[путь до каталога 1С] \bin\comcntr.dll”;
Стандартная утилита RegSvr32 автоматически зарегистрирует файл dll с компонентами обмена в реестре операционной системы, что устранит сбой в 1С, связанный с отсутствием метода connect. В Windows есть инструменты для ручного внесения компонент в реестр через пункт Администрирование на Панели управления , но эту задачу лучше поручить системному администратору компьютеров.
Запасным вариантом для решения вопроса с отсутствующим методом Connect остается чистка кэш-памяти 1С.
«Метод объекта не обнаружен» в 1С — ошибка серьезная, говорящая об отсутствии в программе алгоритмов, необходимых для выполнения действий пользователя. Если 1С сообщает о невозможности найти поле, элемент, реквизит или объект — такие проблемы сотрудник может решить самостоятельно. Но при недоступности методов необходимы знания о типах объектов, умения разбираться в программном коде, поэтому, когда ни один из способов не помог устранить сбой, следует обращаться к специалисту 1С.
Такие ошибки чаще всего возникают при некорректной работе базы 1С.
Для решения воспользуйтесь следующим алгоритмом:
-
. После запуска 1С повторите действия.
- Проверьте права пользователя в 1С. После запуска 1С повторите действия.
- Отключите (при наличии) внешний модуль документооборота.
Для управляемых приложений:
Сделайте копию информационной базы и перейдите в Отчеты → Регламентированные отчеты → Настройки → Прочие настройки обмена и в этом разделе уберите внешний модуль. Перезапустите 1С. После запуска 1С повторите действия.
Для неуправляемых приложений:
Сделайте копию базы и перейдите в Отчеты → Регламентированные отчеты → Настройки → Для настройки параметров документооборота нажмите здесь (внизу)→ выбрать пункт Использовать внешний модуль. Перезапустите 1С. После запуска 1С повторите действия.
- Сделайте Диагностику 1С-отчетности, отправьте отчет по диагностике и сообщите номер обращения специалисту технической поддержки 1С-Отчетность.
- Запустите Конфигуратор 1С. Выберите пункт Отладка → Начать отладку. После запуска 1С повторите действия.
- Удостоверьтесь, что конфигурация находится на полной поддержке 1С, т.е. в нее не были внесены изменения и она соответствует конфигурации поставщика.
Запустите Конфигуратор 1С. Если конфигурация закрыта, то необходимо ее открыть: Конфигурация → Открыть конфигурацию. Слева в меню напротив названия конфигурации должен быть значок замка – объект поставщика не редактируется.
- Попробуйте запустить 1С в тонком клиенте, для этого после нажатия на ярлык 1С выберите базу, затем нажмите Изменить → Далее → Основной режим запуска: выберите пункт Тонкий клиент → Готово. Запустите 1С. . Рекомендуем обратиться к системному администратору для выполнения данных действий.
- Проверьте кодировку в операционной системе Windows по инструкции Смена Кодировки. Рекомендуем обратиться к системному администратору для выполнения данных действий.
В случае системного языкового пакета, отличного от русского, программа 1С не может работать с внешней компонентой для отображения сертификатов. Для решения этой ситуации можно изменить параметры в системном реестре. Рекомендуем обратиться к системному администратору для выполнения данных действий.
Иногда случается, что после обновления 1С пишет «Поле объекта не обнаружено», с указанием на тот или иной объект. Это может случиться при входе в программу, при заполнении какой-либо формы и т.п.
Модуль, к которому идет обращение, перестает работать, но работу программа может не прерывать. Когда ошибка находится в модуле приложения или обработки, то при его запуске программа может и не запуститься.
Обновление платформы
При этом важно посмотреть на описание поставки, которое открывается при установке обновления. Там обязательно указывают рекомендации по использованию версии платформы.
Таким образом, первый и основной вариант решения проблемы – это обновление платформы «1С:Предприятие».
Чтобы посмотреть, какая платформа у нас установлена, необходимо зайти в пункт меню «Сервис» – «О программе», где в верхней строке мы видим версию нашей платформы и сравниваем с рекомендуемой, при установке обновления конфигурации.
Очистка настроек пользователя
В подразделе «Персональные настройки пользователя» переходим по гиперссылке «Очистка настроек», где мы можем выбрать – очистить настройки у всех пользователей или только у выбранного. Также мы можем выбрать – очистить все настройки или какие-то отдельные виды настроек.
При этом пункт «Отдельные виды настроек» доступен только при очистке настроек конкретного пользователя.
Перед нами откроются настройки пользователя, в которых как раз он и мог использовать устаревшие объекты, на которые и ссылается ошибка программы. Мы можем выбрать конкретную настройку (по подсказке ошибки) или очистить все настройки.
Тестирование и исправление информационной базы
В том случае, если возникновение ошибки не связано с платформой и настройками пользователя, то возможно произошел просто сбой в информационной базе, который повредил указанный объект. В таком случае рекомендуется провести «Тестирование и исправление информационной базы», в режиме Конфигуратор, в пункте меню «Администрирование». Обратите внимание, что работа в конфигураторе требует определенных знаний, поэтому, если вы не уверены в своих силах, обращайтесь за консультацией по программе 1С к специалистам.
В тестировании и исправлении необходимо проверить логическую и ссылочную целостность базы. Если произошло необнаружение объекта, мы можем задать настройки программе проверки, что делать с такими объектами – создавать объекты, очищать ссылки или не изменять.
При выборе варианта «Создавать объекты», программа при обнаружении несуществующей ссылки на объект формирует элемент, своего рода заглушку. При выборе варианта – «Очищать ссылки» или «Удалять объект», некорректные ссылки будут просто удалены. Если оставить переключатель в положении – «Не изменять», программа просто укажет нам на этот объект, не предпринимая никаких действий. Этот вариант нам явно не поможет.
Таким образом, любой ошибке в программе 1С есть логическое объяснение. Если у вас остались вопросы, связанные с исправлением ошибок, и вы нуждаетесь в консультации по программе 1С, звоните, а также оставляйте заявки на нашем сайте. Наши специалисты свяжутся с вами в кратчайшие сроки.
И каждый раз написав отчет и прикрепляя его в этот справочник у меня возникает одна и та же ошибка “Метод объекта не обнаружен (СведенияОВнешнейОбработке)”.
Метод объекта не обнаружен
Поэтому что бы не искать заново уже написанные отчеты или обработки, открывать их и копировать данный метод, я решил выложить его в виде готового шаблона сюда, что бы в любой момент быстро зайти и скопировать его:
Для исправления ошибки инженеры технической поддержки "1С-отчетность" советуют вручную обновитть внешнюю колмпоненту модуля. Для этого в 1С Бухгалтерия 3.0 необходимо:
Зайти в меню "Отчеты" -> "Регламентированная отчетность" -> "Настройки" -> "Прочие настройки обмена"
Читайте также: