Ошибка при записи изменений при обмене метод объекта не обнаружен выгрузитьизмененияданныхдляузла

нету процедуры или функции "ВыгрузитьИзмененияДанныхДляУзла"

(0) В модуль плана обмена нужно добавить процедуры:

Функция ЗаписатьНовоеСообщение(ЗаписьXML, ЗаписьСообщения)
    
    НомерСообщения = ЗаписьСообщения.НомерСообщения;
    Получатель = ЗаписьСообщения.Получатель;
    
    СписокТипов = Новый СписокЗначений();
    Для Каждого Стр ИЗ Получатель.Объекты Цикл
        СписокТипов.Добавить(Тип(Стр.Тип));
    КонецЦикла;    
    
    НачатьТранзакцию();
    ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(Получатель, НомерСообщения);
    Пока ВыборкаИзменений.Следующий() Цикл
        
        Данные = ВыборкаИзменений.Получить();
        Если ТипЗнч(Данные) = Тип("УдалениеОбъекта") Тогда
        Иначе
            Если СписокТипов.НайтиПоЗначению(ТипЗнч(Данные)) = Неопределено Тогда
                Продолжить;
            КонецЕсли;    
        КонецЕсли;    
        
        ЗаписатьXML(ЗаписьXML, Данные);
    КонецЦикла;
    ЗафиксироватьТранзакцию();
    
     Возврат НомерСообщения;
КонецФункции// ЗаписатьНовоеСообщение(ИмяФайла)  

Функция ВыгрузитьИзмененияДанныхДляУзла(Получатель, КоличествоЭлементовВТранзакции, ЗаписьXML) Экспорт
    ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); 
    ЗаписьСообщения.НачатьЗапись(ЗаписьXML, Получатель); 
    
    ЗаписатьНовоеСообщение(ЗаписьXML, ЗаписьСообщения);
    ЗаписьСообщения.ЗакончитьЗапись(); 
    
    Результат = Истина;
    Возврат Результат;
КонецФункции

Функция ЗагрузитьИзмененияДанныхДляУзла(УзелОбмена, КоличествоЭлементовВТранзакции, ЧтениеXML) Экспорт
    ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
    ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
    НомерСообщения = ЧтениеСообщения.НомерСообщения;
    
    НачатьТранзакцию();
    Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл
        Данные = ПрочитатьXML(ЧтениеXML);
        
        Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;
        Данные.ОбменДанными.Загрузка = Истина;
        
        Данные.Записать();
    КонецЦикла;
    ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель, ЧтениеСообщения.НомерПринятого);
    ЗафиксироватьТранзакцию();

    ЧтениеСообщения.ЗакончитьЧтение();
    
    Результат = Истина;
    Возврат Результат;
КонецФункции
  1. Начат обмен данными по настройке «Обмен с «ДвухСторонийОбмен БД2″» (14:42:22).
    Не найден входящий файл обмена данными.
    Ошибка при записи изменений при обмене: Метод объекта не обнаружен (ВыгрузитьИзмененияДанныхДляУзла)
    Запись изменений текущей информационной базы в файл обмена завершилась с ошибками!
    Обмен данными по настройке «Обмен с «ДвухСторонийОбмен БД2″» завершен (14:42:33).

    Такая ошибка возникла при обмене (выгрузка данных с узла)
    upload_2014-12-3_14-52-53.png

    На самом деле процедуры нет. Может у кого есть и скинет мне [email protected]
    в БСП 2.1 тоже не посмотрел. Буду очень благодарен
    С Уважением


  2. TerANik

    Offline

    TerANik
    Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.267
    Симпатии:
    95
    Баллы:
    54

    Функция ВыгрузитьИзмененияДанныхДляУзла(Получатель, КоличествоЭлементовВТранзакции, ЗаписьXML) Экспорт
    ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
    ЗаписьСообщения.НачатьЗапись(ЗаписьXML, Получатель);

    ЗаписатьНовоеСообщение(ЗаписьXML, ЗаписьСообщения);
    ЗаписьСообщения.ЗакончитьЗапись();

    Результат = Истина;
    Возврат Результат;
    КонецФункции

  3. Спасибо большое. Она проверенная. Я понимаю , что я наглец. И даренному коню в зубы не смотрят.
    Но все же это рабочий вариант Или это набросок Ваших мыслей., которые нужно проверять и развивать.?

    — Объединение сообщений, 4 дек 2014

    И еще . В каком модуле ее прописывать ведь она прописана как
    ЭтотУзелОбмена.ВыгрузитьИзмененияДанныхДляУзла

    Последнее редактирование: 4 дек 2014
  4. Я почему засомневался .Ведь должен быть анализ на изменения
    как минимум в конце вашего кода

    // Получаем выборку изменённых данных
    ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения);
    Пока ВыборкаИзменений.Следующий() Цикл
    Данные = ВыборкаИзменений.Получить();
    // Записываем данные в сообщение
    ЗаписатьXML(ЗаписьXML, Данные);

    и т.д. не знаю ка дальше.
    Извините не прав ?

  5. А потом ошибки
    {ОбщийМодуль.ПроцедурыОбменаДанными.Модуль(1542,1)}: Процедура или функция с указанным именем не определена (ЗаписатьНовоеСообщение)
    <<?>>ЗаписатьНовоеСообщение(ЗаписьXML, ЗаписьСообщения); (Проверка: Толстый клиент (обычное приложение))

    Теперь Эта функция не определена. Нормально. Все равно спасибо. Одна неопределеная функция
    заменилась другой


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

0

17.02.2012 — 15:58


Есть нестандартная конфа на базе Розницы и нестандартная конфа на базе УТ.
Требуется периодическая выгрузка измененных данных из Розницы в УТ. Односторонняя!
Я сделал в Рознице в конфигураторе свой план обмена. В режиме предприятия в Рознице задал два узла: Розница — текущий узел, и второй узел: УТ.
Сделал в КД правила конвертации Розница -> УТ.
Запускаю в Рознице стандартную обработку «УниверсальныйОбменДаннымиXML», указываю мои правила конвертации. Обработка без проблем выгружает изменения нужных мне данных, причем хоть в файл, хоть напрямую в УТ (через COM).
Но мне нужно, чтобы пользователь не открывал никакие обработки и ничего там не настраивал, поэтому я иду в «Сервис — Настройка обмена данными». Для узла УТ выбираю мои правила конвертации. Пробую настройки выгрузки через файл, и напрямую через COM, но при нажатии кнопки «Выполнить обмен» вылезает ошибка. Раз интерактивно не работает, то нет смысла и автоматически настраивать.
А ошибка из-за того, что в модуле моего плана обмена нет процедуры «ОпределитьТипОтправкиДанных()». Ругается, что такой метод у моего узла не найден. Но откуда он там может быть, я ж свой обмен хочу настроить, а не стандартный, у меня в модуле плана обмена вообще пусто.
Я что-то не так делаю? Подскажите…

1

17.02.2012 — 16:00

Вставил в модуль своего плана обмена процедуру, на которую обработка ругается, оставил её пустой, выгрузка в файл сработала. Но прямой обмен через COM всё-равно не идет, уже другая ошибка: не находит в базе-приемнике моего плана обмена. Но зачем он там??? Регистрация изменений у меня только в Рознице. В УТ она должна лишь уходить, там не нужно никакого плана обмена…

2

18.02.2012 — 17:19

Пригласить специалиста — не предлагали ещё?

©Франчи — позор 1С!

3

19.02.2012 — 19:36

Я не франч. Спец я и сам не плохой, но пробелы есть, как и у всех. Или спецы на форумах ничего не спрашивают, сами всё должны знать 100%-но? :)
Обмен делал только один раз, но это был двусторонний обмен, причем распределенная ИБ. И обмены через выгрузку изменений в файл и пересылку этого файла по FTP. Там все просто. А тут врроде бы ещё проще, но меня в какие-то дебри заносит, наверняка 1С что-то более разумное предусмотрела.

4

19.02.2012 — 20:53

а как Розница узнаёт, что УТ получила выгруженные ранее данные?

5

19.02.2012 — 21:29

а нафиг рознице знать, что привезли?
ей только цены нужны для продажи

инвентаризация — по данным УТ

6

19.02.2012 — 23:20

(5) Поскольку настроил правила обмена в КД, то хотел грузить напрямую в базу-приемник, через COM. А после успешной загрузки просто снимать регистрацию с измененных объектов. Кстати та же обработка «УниверсальныйОбменДаннымиXML» позволяет это сделать.
(6) Дак у меня конфигурации измененные. Обычная Розница из УТ стандартно всё и будет получать, а здесь просто на базе Розницы другая конфигурация, должны уходить в УТ объекты, которых нет в стандарте.

7

20.02.2012 — 09:11

up

8

20.02.2012 — 09:25

(0) Экспортный метод ОпределитьТипОтправкиДанных() должен быть у любого плана обмена, который будет работать по технологии конвертации данных. Хотя бы пустой, но быть должен. Кроме того для успешного обмена я бы тебе посоветовал наваять в УТ свой план обмена с пустым составом, чтобы он выдавал для розницы квитанции о получении данных для автоматического снятия с регистрации.

9

20.02.2012 — 11:00

(9) Спасибо за совет! Без плана обмена в УТ обмен почему-то и не работает, так что наверное в самом деле создам, мало ли придется через файл выгружать, тогда подтверждение приема очень будет кстати.
Только вот непонятно, как источник (Розница) узнает, какой план обмена в приемнике (УТ) должен быть задействован. Или нужно в конфигураторе УТ создать план обмена с таким же именем, что и в Рознице?

10

21.02.2012 — 21:10

(9) Воспользовался Вашим советом, создал план обмена и в УТ. В итоге обмен через COM сработал, из Розницы изменившиеся данные загрузились в УТ. И подтверждение приходит, т.к. повторно объекты не выгружаются.
Но вот с обменом через файловый ресурс проблема:
Из Розницы выгрузил изменения в файл. В УТ пробую их загрузить, мне пишет:

ОбщийМодуль.ПроцедурыОбменаДанными(1753)**: Метод объекта не обнаружен (ЗагрузитьИзмененияДанныхДляУзла)

Ошибка в этой строке:
СтруктураНастроекОбменаДанными.РезультатЧтенияДанн ых = ЭтотУзелОбмена.ЗагрузитьИзмененияДанныхДляУзла(Узе лОбмена, СтруктураНастроекОбменаДанными.КоличествоЭлементов ВТранзакцииНаЗагрузкуДанных, ЧтениеXML);

Ну думаю, значит опять та же ситуация, в моем модуле плана обмена нет нужной процедуры. Хотел скопировать. Но! Этой процедуры нет вообще в конфигурации!!!
Причем смотрел и УТ, и Розницу, глобальным поиском. Эта процедура (ЗагрузитьИзмененияДанныхДляУзла) встречается только один раз, в этом месте, где идет её вызов. И больше нигде она не вызывается, и мало того, нигде не описывается.
Конфы УТ и Розницы доделанные, но ничего 100% не удалялось, и переделывались только справочники, добавлялись новые объекты.
И я бы понял, если бы только в УТ такое было, ну может релиз глючный, т.к. не свежие релизы у меня. Но и в Рознице точно также, эта процедура вызывается в одном месте, и больше нигде не встречается.
Не сталкивались?

11

22.02.2012 — 11:19

Вобщем всё у меня получилось. Reaper, спасибо за наводку!
Насчет функции «ЗагрузитьИзмененияДанныхДляУзла» (то же самое кстати и с функцией «ВыгрузитьИзмененияДанныхДляУзла») — видимо 1С её специально сделала без объявления, чтобы можно было написать свою процедуру чтения/записи файлов обмена, и при этом пользоваться стандартными настройками обмена. Я создал у себя эти процедуры, но запихал в них вызов стандартных процедур чтения/записи файла обмена и все заработало.

12

22.02.2012 — 12:20

Наздоровье, обращайся.

Метод объекта не обнаружен в 1С 8.3

После обновлений, доработок и других подобных изменений конфигурации пользователи могут столкнуться с ошибкой Метод объекта не обнаружен. В качестве метода выступают процедуры и функции, выполняющие некоторые действия с объектом. За каждым типом метаданных закреплены свои методы. Сообщение Метод объекта не обнаружен программа выдает в случаях, когда не находит во встроенном языке метод с таким именем или одноименную процедуру/функции в модулях объекта.

Примеры появления и исправления ошибки рассмотрены нами на конфигурации 1С:Бухгалтерия 8.3.

Причины возникновения ошибки в 1С 8.3

Пользователь получает предупреждение в виде всплывающего окна с текстом «Метод объекта не обнаружен ([Имя_метода])», если:

  • метод не принадлежит к типу метаданных;
  • опечатка в имени метода;
  • у процедуры или функции, вызываемой в качестве метода объекта, не указанно ключевое слово Экспорт.

Для решения проблемы следует разобраться в структуре объектов конфигурации и их наборе методов.

Объекты и методы

Объекты или метаданные — основные составляющие конфигурации, куда сохраняются данные информационной базы. Состав метаданных закреплен на уровне платформы и не может дополняться программистом.

В список стандартных объектов 1С входят:

  1. константы;
  2. справочники;
  3. документы;
  4. отчеты;
  5. регистры сведений;
  6. и т. д.

Состав метаданных не ограничен объектами, перечисленными в окне дерева конфигурации: их в несколько раз больше. К тому же один объект может иметь несколько типов: например, ДокументОбъектДокументСсылкаДокументВыборка и т. д. У каждого типа есть свой набор методов, которые позволяют выполнить определенную последовательность действий с отдельным экземпляром объекта.

Методы делятся на два вида:

  • встроенные в платформу;
  • написанные программистом в модулях объектов.

Встроенные методы объектов описаны в Синтакс-Помощнике: например, записать документ позволит метод Записать(). Имена методов созвучны с глаголом действия, которое будет произведено с метаданными.

Процедуры и функции, описанные в модулях объектов с ключевым словом Экспорт, дополняют типовые методы своих объектов и могут вызываться из любых программных модулей, где используются эти метаданные.

Исправление ошибки

Сообщение «Метод объекта не обнаружен» может возникнуть, например, при нажатии кнопки в документе.

Для детального анализа ошибки запустите конфигурацию в режиме отладки из конфигуратора Отладка — Начать отладку и повторите те же действия, чтобы вызвать повторное появление ошибки на экране. Кнопка Подробно раскроет окно с указанием строчки программного кода, где возникает сбой.

Для перехода в конфигуратор нажмите Конфигуратор.

В режиме конфигурирования курсор автоматически установится в месте появления ошибки, а информация из окна с подробным описанием сбоя в 1С отразится в служебном окне Конфигуратора.

Решение вопроса с ошибкой «Метод объекта не обнаружен» в 1С 8.3 будет зависеть от вида метода: созданный вручную или типовой.

Встроенные в платформу методы

Стандартные методы перечислены в Синтакс-Помощнике на ветках соответствующих объектов. Откройте Ситнакс-Помощник через меню конфигуратора Справка или по одноименной кнопке на панели инструментов. Для быстрого поиска на вкладке Индекс введите часть имени типа объекта, а для перехода к его описанию нажмите кнопку Найти текущий элемент в дереве.

Программа перейдет на вкладку Содержание и выделит искомый объект. Раскройте ветвь с методами и попытайтесь отыскать похожий по наименованию. Если такой нашелся, замените на него метод в строке кода с ошибкой.

Запустите 1С в режиме отладки и проверьте работу конфигурации в месте возникновения ошибки. Если окно со сбоем больше не выходит, обратите внимание на корректность обработки данных программой. Исправляйте имя метода в коде на типовое, только если видите явную опечатку в наименовании и не нашли одноименной процедуры/функции в моделях объекта.

Методы, добавленные вручную

Программисты могут добавлять экспортные процедуры и функции (со словом Экспорт) в модулях объектов, например, вкладке Прочее в окне редактирования объекта конфигурации.

Перед поиском метода узнают тип объекта, от которого запускается выполнение. Возможны варианты:

  • для типов ДокументОбъектСправочникОбъект и т. д. методы прописывают в Модуле объекта;
  • типы ДокументМенеджерПеречислениеМенеджери т. д. — Модуль менеджера;
  • типы РегистрСведенийНаборЗаписей и т. д. — Модуль набора записей (у регистров);
  • тип КонстантаМенеджерЗначения — Модуль менеджера значения (у констант);
  • и др.

Чтобы определить тип объекта, воспользуйтесь одним из способов:

1. Разберите в окне ошибки строку кода, где идет обращение к методу:

  • Документ.СчетНаОплатуПоставщика.Форма.ФормаДокумента — метод выполняется в модуле формы документа;
  • Документ — объект, от которого запускается метод;
  • Добавить() — имя метода. Характерная черта — наличие круглых скобок в конце, в них перечисляются параметры, если они необходимы для выполнения операций;
  • ПодборТовараСервер() — имя процедуры/функции, где возникает ошибка.
    В данном примере Документ является переменной, содержащей объект с типом ДокументОбъект, получаемый встроенным методом ПолучитьОбъект().

2. Если конфигурация допускает вносить изменения, выведите тип объекта в окне сообщений в пользовательском режиме с помощью встроенных функций Сообщить() и ТипЗнч():

  • впишите в процедуру строку кода с функцией, указав в скобках обращение к объекту без имени метода;

  • запустите 1С в режиме отладки и повторите действия, вызывающие сбой;
  • проигнорируйте окно с ошибкой, нажав ОК. В нижней части рабочей области программы появится сообщение с типом объекта.

3. Через команду контекстного меню Вычислить выражение в Конфигураторе

  • в строчке, где возникает сбой, поставьте точку останова для принудительной остановки выполнения программного кода, имеет вид красного круга на полях с левой стороны;

  • запустите программу в режиме отладки;
  • повторите действия, при которых возникала ошибка;
  • работа программы остановится, откроется окно конфигуратора;
  • выделите часть кода, где идет обращение к объекту, без метода;
  • правой кнопкой вызовите контекстное меню, выберите команду Вычислить выражение;

  • в открывшемся окне в колонке Тип будет указан тип объекта.

Переменная Документ тип ДокументОбъект.СчетНаОплатуПостащика, поэтому запускаемые методы программа ищет среди экспортных процедур/функций в модуле объекта документа СчетНаОплатуПоставщику.

Для поиска метода:

  • откройте модуль объекта/менеджера/набора записей;
  • найдите одноименную процедуру или функцию, для быстрого перехода к нужной части текста модуля воспользуйтесь окном поиска, набрав в нем часть имени метода;

  • проверьте наличие ключевого слова Экспорт. При его отсутствии программа не сможет передать процедуру/функцию в другой модуль. Соответственно, она не будет обнаружена, что приведет к появлению ошибки «Метод объекта не обнаружен»;
  • имя процедуры/функции должно совпадать с вызываемым методом: если имеются явные орфографические ошибки или опечатки, исправьте их;
  • если наименование процедуры/функции полностью совпадает с методом, и ключевое слово Экспорт указано, возможно, причина — в неверном типе объекта.

Если тип объект задан неверно, то программа будет производить поиск экспортных процедур/функции вне тех модулях и пользователь получит ошибку «Метод объекта не обнаружен». Для решения проблемы потребуется переписать программный код, пользователю стоит обратиться к программисту.

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

Эти действия приведут к отключению строки кода с методом для выполнения программой. Возможно, это устранит появление ошибки, но может исказить или повредить данные в базе из-за нарушения алгоритма их обработки, т. к. из него исключена последовательность действий, описанная в методе. Поэтому вносить самостоятельные правки в программный код нужно с осторожностью.

Метод объекта не обнаружен Connect 1С 8.3

Ошибку «Метод объекта не обнаружен (Connect)» 1С может показать при попытке обновить конфигурацию, синхронизации или загрузке/выгрузке данных из другой программы, базы.

Connect — наименование встроенного метода, принадлежит COM-объектам, которые 1С создает на основании объектов базы данных для их передачи или получения из других источников.

Поскольку метод типовой, следует проверить в конфигураторе корректность написания его имени в коде программы.

Ошибка «Метод объекта не обнаружен (Сonnect)» в 1С 8.3 не всегда связана с конфигурацией, причина может заключаться в операционной системе. Перед использованием метода Connect программа 1С должна создать COM-объект с помощью специальных компонентов, которые не всегда есть в системе компьютера. Проблему решают через регистрацию dll компонентов обмена, процедуру выполняют на сервере:

  • в папке C:Windows найдите и запустите от имени администратора файл cmd.exe;
  • в зависимости от вида операционной системы выполните команду:
    • для x32: %windir%System32RegSvr32.exe “С:[путь до каталога 1С]bincomcntr.dll”;
    • для x64: %windir%SysWoW64RegSvr32.exe “С:[путь до каталога 1С] bincomcntr.dll”;

  • перезагрузите компьютер.

Стандартная утилита RegSvr32 автоматически зарегистрирует файл dll с компонентами обмена в реестре операционной системы, что устранит сбой в 1С, связанный с отсутствием метода connect. В Windows есть инструменты для ручного внесения компонент в реестр через пункт Администрирование на Панели управления, но эту задачу лучше поручить системному администратору компьютеров.

Запасным вариантом для решения вопроса с отсутствующим методом Connect остается чистка кэш-памяти 1С.

«Метод объекта не обнаружен» в 1С — ошибка серьезная, говорящая об отсутствии в программе алгоритмов, необходимых для выполнения действий пользователя. Если 1С сообщает о невозможности найти поле, элемент, реквизит или объект — такие проблемы сотрудник может решить самостоятельно. Но при недоступности методов необходимы знания о типах объектов, умения разбираться в программном коде, поэтому, когда ни один из способов не помог устранить сбой, следует обращаться к специалисту 1С.

Обслуживание

Заказать консультацию

По этой или иной ошибке Вы можете обратиться к нашим специалистам, мы Вам поможем решить Вашу проблему.

После обновлений, доработок и других подобных изменений конфигурации пользователи могут столкнуться с ошибкой «Метод объекта не обнаружен». В качестве метода выступают процедуры и функции, выполняющие некоторые действия с объектом. За каждым типом метаданных закреплены свои методы. Сообщение «Метод объекта не обнаружен» программа выдает в случаях, когда не находит во встроенном языке метод с таким именем или одноименную процедуру/функции в модулях объекта.

Примеры появления и исправления ошибки рассмотрены нами на конфигурации 1С:Бухгалтерия 8.3.

Содержание

  • 1 Причины возникновения ошибки
    • 1.1 Объекты и методы
  • 2 Исправление ошибки
    • 2.1 Встроенные в платформу методы
    • 2.2 Методы, добавленные вручную
  • 3 Метод объекта не обнаружен Connect 1С 8.3
    • 3.1 Вам будет интересно

Причины возникновения ошибки

Пользователь получает предупреждение в виде всплывающего окна с текстом «Метод объекта не обнаружен ([Имя_метода])», если:

image002

  • метод не принадлежит к типу метаданных;
  • опечатка в имени метода;
  • у процедуры или функции, вызываемой в качестве метода объекта, не указанно ключевое слово Экспорт.

Для решения проблемы следует разобраться в структуре объектов конфигурации и их наборе методов.

Объекты и методы

Объекты или метаданные — основные составляющие конфигурации, куда сохраняются данные информационной базы. Состав метаданных закреплен на уровне платформы и не может дополняться программистом.

В список стандартных объектов 1С входят:

  • константы;
  • справочники;
  • документы;
  • отчеты;
  • регистры сведений;
  • и т. д.

Состав метаданных не ограничен объектами, перечисленными в окне дерева конфигурации: их в несколько раз больше. К тому же один объект может иметь несколько типов: например, ДокументОбъект, ДокументСсылка, ДокументВыборка и т. д. У каждого типа есть свой набор методов, которые позволяют выполнить определенную последовательность действий с отдельным экземпляром объекта.

Методы делятся на два вида:

  • встроенные в платформу;
  • написанные программистом в модулях объектов.

Встроенные методы объектов описаны в Синтакс-Помощнике: например, записать документ позволит метод Записать(). Имена методов созвучны с глаголом действия, которое будет произведено с метаданными.

image004

Процедуры и функции, описанные в модулях объектов с ключевым словом Экспорт, дополняют типовые методы своих объектов и могут вызываться из любых программных модулей, где используются эти метаданные.

Исправление ошибки

Сообщение «Метод объекта не обнаружен» может возникнуть, например, при нажатии кнопки в документе.

Для детального анализа ошибки запустите конфигурацию в режиме отладки из конфигуратора Отладка — Начать отладку и повторите те же действия, чтобы вызвать повторное появление ошибки на экране. Кнопка Подробно раскроет окно с указанием строчки программного кода, где возникает сбой.

image006

Для перехода в конфигуратор нажмите Конфигуратор.

image008

В режиме конфигурирования курсор автоматически установится в месте появления ошибки, а информация из окна с подробным описанием сбоя в 1С отразится в служебном окне Конфигуратора.

1

Решение вопроса с ошибкой «Метод объекта не обнаружен» в 1С 8.3 будет зависеть от вида метода: созданный вручную или типовой.

Встроенные в платформу методы

Стандартные методы перечислены в Синтакс-Помощнике на ветках соответствующих объектов. Откройте Ситнакс-Помощник через меню конфигуратора Справка или по одноименной кнопке на панели инструментов. Для быстрого поиска на вкладке Индекс введите часть имени типа объекта, а для перехода к его описанию нажмите кнопку Найти текущий элемент в дереве.

2

Программа перейдет на вкладку Содержание и выделит искомый объект. Раскройте ветвь с методами и попытайтесь отыскать похожий по наименованию. Если такой нашелся, замените на него метод в строке кода с ошибкой.

3

4

Запустите 1С в режиме отладки и проверьте работу конфигурации в месте возникновения ошибки. Если окно со сбоем больше не выходит, обратите внимание на корректность обработки данных программой. Исправляйте имя метода в коде на типовое, только если видите явную опечатку в наименовании и не нашли одноименной процедуры/функции в моделях объекта.

Методы, добавленные вручную

Программисты могут добавлять экспортные процедуры и функции (со словом Экспорт) в модулях объектов, например, вкладке Прочее в окне редактирования объекта конфигурации.

5

Перед поиском метода узнают тип объекта, от которого запускается выполнение. Возможны варианты:

  • для типов ДокументОбъект, СправочникОбъект и т. д. методы прописывают в Модуле объекта;
  • типы ДокументМенеджер, ПеречислениеМенеджери т. д. — Модуль менеджера;
  • типы РегистрСведенийНаборЗаписей и т. д. — Модуль набора записей (у регистров);
  • тип КонстантаМенеджерЗначенияМодуль менеджера значения (у констант);
  • и др.

Чтобы определить тип объекта, воспользуйтесь одним из способов:

  1. Разберите в окне ошибки строку кода, где идет обращение к методу:6
    • Документ.СчетНаОплатуПоставщика.Форма.ФормаДокумента — метод выполняется в модуле формы документа;
    • Документ — объект, от которого запускается метод;
    • Добавить() — имя метода. Характерная черта — наличие круглых скобок в конце, в них перечисляются параметры, если они необходимы для выполнения операций;
    • ПодборТовараСервер() — имя процедуры/функции, где возникает ошибка.
      В данном примере Документ является переменной, содержащей объект с типом ДокументОбъект, получаемый встроенным методом ПолучитьОбъект().
      7
  2. Если конфигурация допускает вносить изменения, выведите тип объекта в окне сообщений в пользовательском режиме с помощью встроенных функций Сообщить() и ТипЗнч():
  3. Через команду контекстного меню Вычислить выражение в Конфигураторе:

Переменная Документ имеет тип ДокументОбъект.СчетНаОплатуПостащика, поэтому запускаемые методы программа ищет среди экспортных процедур/функций в модуле объекта документа СчетНаОплатуПоставщику.

Для поиска метода:

  • откройте модуль объекта/менеджера/набора записей;
  • найдите одноименную процедуру или функцию, для быстрого перехода к нужной части текста модуля воспользуйтесь окном поиска, набрав в нем часть имени метода;13
  • проверьте наличие ключевого слова Экспорт. При его отсутствии программа не сможет передать процедуру/функцию в другой модуль. Соответственно, она не будет обнаружена, что приведет к появлению ошибки «Метод объекта не обнаружен»;
  • имя процедуры/функции должно совпадать с вызываемым методом: если имеются явные орфографические ошибки или опечатки, исправьте их;
  • если наименование процедуры/функции полностью совпадает с методом, и ключевое слово Экспорт указано, возможно, причина — в неверном типе объекта.

Если тип объект задан неверно, то программа будет производить поиск экспортных процедур/функции вне тех модулях и пользователь получит ошибку «Метод объекта не обнаружен». Для решения проблемы потребуется переписать программный код, пользователю стоит обратиться к программисту.

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

image036

Эти действия приведут к отключению строки кода с методом для выполнения программой. Возможно, это устранит появление ошибки, но может исказить или повредить данные в базе из-за нарушения алгоритма их обработки, т. к. из него исключена последовательность действий, описанная в методе. Поэтому вносить самостоятельные правки в программный код нужно с осторожностью.

Метод объекта не обнаружен Connect 1С 8.3

Ошибку «Метод объекта не обнаружен (Connect)» 1С может показать при попытке обновить конфигурацию, синхронизации или загрузке/выгрузке данных из другой программы, базы.

image038

image040

Connect — наименование встроенного метода, принадлежит COM-объектам, которые 1С создает на основании объектов базы данных для их передачи или получения из других источников.

Поскольку метод типовой, следует проверить в конфигураторе корректность написания его имени в коде программы.

image042

Ошибка «Метод объекта не обнаружен (Сonnect)» в 1С 8.3 не всегда связана с конфигурацией, причина может заключаться в операционной системе. Перед использованием метода Connect программа 1С должна создать COM-объект с помощью специальных компонентов, которые не всегда есть в системе компьютера. Проблему решают через регистрацию dll компонентов обмена, процедуру выполняют на сервере:

  • в папке C:Windows найдите и запустите от имени администратора файл cmd.exe;
  • в зависимости от вида операционной системы выполните команду:
    • для x32: %windir%System32RegSvr32.exe “С:[путь до каталога 1С]bincomcntr.dll”;
    • для x64: %windir%SysWoW64RegSvr32.exe “С:[путь до каталога 1С] bincomcntr.dll”;image044
  • перезагрузите компьютер.

Стандартная утилита RegSvr32 автоматически зарегистрирует файл dll с компонентами обмена в реестре операционной системы, что устранит сбой в 1С, связанный с отсутствием метода connect. В Windows есть инструменты для ручного внесения компонент в реестр через пункт Администрирование на Панели управления, но эту задачу лучше поручить системному администратору компьютеров.

Запасным вариантом для решения вопроса с отсутствующим методом Connect остается чистка кэш-памяти 1С.

«Метод объекта не обнаружен» в 1С — ошибка серьезная, говорящая об отсутствии в программе алгоритмов, необходимых для выполнения действий пользователя. Если 1С сообщает о невозможности найти поле, элемент, реквизит или объект — такие проблемы сотрудник может решить самостоятельно. Но при недоступности методов необходимы знания о типах объектов, умения разбираться в программном коде, поэтому, когда ни один из способов не помог устранить сбой, следует обращаться к специалисту 1С.

См. также:

  • Ошибка в 1С: Поле объекта не обнаружено
  • Нарушение прав доступа 1С 8.3: внешняя обработка
  • Не обнаружена установленная версия 1С Предприятия 8.3
  • Неверный формат хранилища данных 1С
  • Ошибка 1С 8.3 “Недостаточно памяти”
  • Использование модальных окон в данном режиме запрещено в 1С
  • Не запускается 1С 8.3: начало сеанса с информационной базой запрещено

Поставьте вашу оценку этой статье:

Загрузка…

Дата публикации: Дек 18, 2020

Поставьте вашу оценку этой статье:

Загрузка…

Понравилась статья? Поделить с друзьями:
  • Ошибка при записи загрузчика arduino nano
  • Ошибка при загрузке данных faceit
  • Ошибка при записи виндовс 10 на флешку
  • Ошибка при загрузке гта 5 нажмите повтор чтобы попытаться еще раз
  • Ошибка при замене ламп на светодиоды