Ольга Александровна Блохина
Эксперт по предмету «1С:Бухгалтерия»
Задать вопрос автору статьи
Модули в 1С
Как и любая программа, программа 1С состоит из модулей, частей. Существует несколько видов модулей:
- общие модули (проведение, отчеты, процедуры общего назначения и т.д.);
- модуль объекта (валюты);
- модуль формы (форма: списка, элемента, подбора и выбора);
- модуль приложения.
Программные модули состоят из разделов:
- объявления переменных;
- процедур и функций;
- основной программы.
Определение 1
Контекст в 1С заключается в окружении модуля и его разделов, т.е. это конкретные переменные, свойства, объекты, метод и события которые могут быть доступны в каждой конкретной точке.
Виды контекста:
- Глобальный контекст указывает открытые для вызова функции;
- Локальный контекст (более низкий уровень) становится доступен в каждой модульной части.
Сдай на права пока
учишься в ВУЗе
Вся теория в удобном приложении. Выбери инструктора и начни заниматься!
Получить скидку 4 500 ₽
Существуют правила для доступа процедур, переменных, и функций в модулях:
- В общем модуле не будут доступны для экспорта переменные, процедуры и функции модульных приложений;
- В модульных приложениях существует доступ для экспорта процедур и функций общих модулей;
- В общих модульных частях открыт доступ к экспорту процедур и функций прочих общих модулей;
- Для модульных прикладных объектов и для модульных форм являются доступными переменные, функции и процедуры модулей приложений для экспорта и общих модулей.
Замечание 1
Если какой-либо из форм присвоен основной реквизит, то в настройках этой формы будут содержаться свойство и метод, которые отвечают этому основному реквизиту.
Ошибка модуля
В программе 1С ошибка модуля называется «Ошибка при вызове метода контекста». Такое сообщение об ошибке программа 1С дополняет пояснениями, которые описывают обстоятельства, вызвавшие сбой. Такие объяснения программа выдает только во второй и третий версиях программы. Данное пояснение находится в скобках после сообщения об ошибке, что существенно сокращает время, потраченное на ее исправление.
«Ошибка модуля в 1С: причины и способы исправления» 👇
Самые распространенные пояснения:
- записать;
- создать;
- подключиться;
- connect;
- проверить вывод;
- previewFile1C;
- прочитать;
- выполнить;
- выполнить пакет;
- прочитать изменения.
Данная ошибка может возникнуть по причинам:
- нарушена логическая и физическая целостность информационной базы;
- ошибки при обращении с программой;
- разработчиком ошибочно был введен код;
- внезапное закрытие программы.
Вы можете провести анализ ошибки:
- Сравнить версии программы и конфигурации (может быть повреждена платформа).
- Прочитать весь текст сообщения, т.к. в конце его содержатся рекомендации к её устранению.
- Проанализировать давность ее появления и обстоятельства её появления.
- Проверьте, появлялась ли ранее данная ошибка, т.к. невоспроизводимые ранее не встречавшиеся ошибки, чаще всего не исправляются.
- Если появившаяся ошибка появляется при пользовании программой под другим пользователем, то эту ошибку можно устранить путем очистки кэша, настройки прав, очистки пользовательских настроек.
Способы устранения ошибки
Замечание 2
Перед началом работы с базой обязательно сделайте архивную копию!
Данная ошибка в 99% случаях легко решается. Для этого вам достаточно проанализировать проблему и вызвать справку. Так же вы можете забить конкретную ошибку с пояснением в поиск и найти решение проблемы.
Перед использованием любого метода вы можете получить подсказку о том, как его использовать. Для этого выберете требуемую функцию и нажмите на клавиши на клавиатуре «Ctrl + F1». Программа откроет подсказку по необходимому методу. В конце работы проверьте параметры, которые передаются в функцию, и правильность её использования.
Замечание 3
В качестве профилактики следите за актуальностью релиза конфигурации.
Находи статьи и создавай свой список литературы по ГОСТу
Поиск по теме
Дата написания статьи: 22.02.2019
Ругается на общий модуль «Переменная не определена» |
Я |
28.12.16 — 08:20
База 1С Бухгалтерия для Узбекистана, на обычном приложении.
Написал общий модуль для обмена, до недавнего времени работал исправно. Сегодня при открытии формы, где есть кнопка с вызовом процедуры в этом общем модуле. Выходит ошибка: Переменная не определена и название модуля.
Перевел вызов этой процедуры в модуль документа, не помогло.
1 — 28.12.16 — 08:22
модуль не доступен на клиенте или на сервере, смотря откуда вызывается
2 — 28.12.16 — 08:24
(1) Так я вызов этого модуля перевел в модуль документа. Соответственно вызов всегда будет выполняться на стороне сервера.
3 — 28.12.16 — 08:24
Может кто то обновил и удалил твой модуль
4 — 28.12.16 — 08:26
(3) Всё на месте стоит, я предварительно всё проверил, прогуглил.
5 — 28.12.16 — 08:26
открыжь для модуля «Вызов сервера»
6 — 28.12.16 — 08:28
(5) уже стоит, ошибка та же самая
7 — 28.12.16 — 08:31
Ничего просто так не происходит. Наверняка были изменения. Включи в режиме отладки остановку по ошибке и анализируй свой код в модуле с ошибкой на свойства и инициализацию.
8 — 28.12.16 — 08:43
(7) При открытии документа выходит эта ошибка.
9 — 28.12.16 — 08:51
(8) какие флаги стоят в свойствах модуля?
10 — 28.12.16 — 08:53
(2) «я вызов этого модуля перевел в модуль документа. Соответственно вызов всегда будет выполняться на стороне сервера.» — в обычном приложении? Шутишь?
11 — 28.12.16 — 08:55
кирпич в посылке, не?
12 — 28.12.16 — 09:08
(0) Проверяйте весь общий модуль. У нас так было когда в какой-то процедуре модуля(причем для совершенно другого объекта), было получение свойства структуры, а переменная для значения свойства не была определена через «Перем». При вызове общего модуля он проверяется на ошибки
13 — 28.12.16 — 09:15
+(12) Пардон, не «Перем», а «ПеременннаяДляЗначенияСвойства» = Неопределено;
14 — 28.12.16 — 12:11
(12) Спасибо будем проверять…
15 — 28.12.16 — 14:21
Не знаю в чем была проблема, но переименовал название общего модуля и проблема решилась. Соответственно во всех модулях Переименовал.
16 — 28.12.16 — 15:51
(15) кэш?
17 — 28.12.16 — 17:42
Какой кеш нах. В модуле менеджера нужно директивы препроцессора прописать, в каком контексте будет доступен вызов процедуры модуля
18 — 28.12.16 — 17:44
Не обращали внимание в типовых в модулях менеджера документа:
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#КонецЕсли
fantomask
19 — 29.12.16 — 07:08
(18) Пробовал. Тоже не помогло
(16) возможно кэш, но возможности очистить её не было…
10060 (0x0000274C): Попытка установить соединение была безуспешной 23
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через терминал, а еще у нее свой ноутбук и
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 48
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C: Enterprise Development Tools 51
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools — это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
COM-соединение не обнаружило свободной лицензии / ключ защиты 0
Иногда при подключении к 1С возникает ошибка:
COM-соединение не обнаружило свободной лицензии!
COM-соединение не обнаружило ключ защиты программы!
https://helpf.pro/uploads/img/_1-UsuyAg6E2P.jpg
В таких случаях, иногда, может помочь следующий с
Cклонения по падежам 6
НаКлиенте
Процедура Команда1(Команда)
ФИО = » Иванов Иван Иванович» ;
Падеж = 2;
Пол = 1;
Результат = СклонениеФИО(ФИО, Падеж, пол);
Сообщить(Результат);
КонецПроцедуры
НаСервере
Функция СклонениеФИО(ФИО, Падеж, пол)
Результат = » » ;
Посмотреть все результаты поиска похожих
2. Потом запустите 1С и проверьте — ушла ли ошибка.
Если нет, выполните Тестирование и исправление:
Тестирование и исправление базы 1С 8.3: какие галочки ставить
Это тоже важно, потому что в тестировании программа найдет и покажет «битые» ссылки.
То, что вы показали на скрине строчку останова — неинформативно. Раз уж вы работаете с кодом конфигурации, вам нужно остановиться выше на самом условии, где формируется развился по исполнению кода и посмотреть: как именно передается — и откуда! ссылка, которая анализируется в условии.
Вообще посмотреть в параметры процедуры, где ошибка формируется, узнать, откуда передаются на исполнение эти данные — из какой процедуры.
И так вы по цепочке дойдете до причины.
Обычно, программист просто встает на процедуру исполнения, например, кнопки Подбор и проходит в Отладчике все шаги до появления ошибки. Тогда у него все данные на руках.
Если у вас не доработанная конфигурация — ПОЛНОСТЬЮ типовая, если обновление выполнял тот же человек, что и обычно, то первое, что вы должны сделать — почистить кеши 1С.
Если конфигурация дорабатывалась — без Отладчика вам причину будет не узнать.
Ольга Александровна Блохина
Эксперт по предмету «1С:Бухгалтерия»
Задать вопрос автору статьи
Как и любая программа, программа 1С состоит из модулей, частей. Существует несколько видов модулей:
- общие модули (проведение, отчеты, процедуры общего назначения и т.д.);
- модуль объекта (валюты);
- модуль формы (форма: списка, элемента, подбора и выбора);
- модуль приложения.
Программные модули состоят из разделов:
- объявления переменных;
- процедур и функций;
- основной программы.
Определение 1
Контекст в 1С заключается в окружении модуля и его разделов, т.е. это конкретные переменные, свойства, объекты, метод и события которые могут быть доступны в каждой конкретной точке.
Виды контекста:
- Глобальный контекст указывает открытые для вызова функции;
- Локальный контекст (более низкий уровень) становится доступен в каждой модульной части.
Сделаем домашку
с вашим ребенком за 380 ₽
Уделите время себе, а мы сделаем всю домашку с вашим ребенком в режиме online
Бесплатное пробное занятие
*количество мест ограничено
Существуют правила для доступа процедур, переменных, и функций в модулях:
- В общем модуле не будут доступны для экспорта переменные, процедуры и функции модульных приложений;
- В модульных приложениях существует доступ для экспорта процедур и функций общих модулей;
- В общих модульных частях открыт доступ к экспорту процедур и функций прочих общих модулей;
- Для модульных прикладных объектов и для модульных форм являются доступными переменные, функции и процедуры модулей приложений для экспорта и общих модулей.
Замечание 1
Если какой-либо из форм присвоен основной реквизит, то в настройках этой формы будут содержаться свойство и метод, которые отвечают этому основному реквизиту.
Ошибка модуля
В программе 1С ошибка модуля называется «Ошибка при вызове метода контекста». Такое сообщение об ошибке программа 1С дополняет пояснениями, которые описывают обстоятельства, вызвавшие сбой. Такие объяснения программа выдает только во второй и третий версиях программы. Данное пояснение находится в скобках после сообщения об ошибке, что существенно сокращает время, потраченное на ее исправление.
«Ошибка модуля в 1С: причины и способы исправления» 👇
Самые распространенные пояснения:
- записать;
- создать;
- подключиться;
- connect;
- проверить вывод;
- previewFile1C;
- прочитать;
- выполнить;
- выполнить пакет;
- прочитать изменения.
Данная ошибка может возникнуть по причинам:
- нарушена логическая и физическая целостность информационной базы;
- ошибки при обращении с программой;
- разработчиком ошибочно был введен код;
- внезапное закрытие программы.
Вы можете провести анализ ошибки:
- Сравнить версии программы и конфигурации (может быть повреждена платформа).
- Прочитать весь текст сообщения, т.к. в конце его содержатся рекомендации к её устранению.
- Проанализировать давность ее появления и обстоятельства её появления.
- Проверьте, появлялась ли ранее данная ошибка, т.к. невоспроизводимые ранее не встречавшиеся ошибки, чаще всего не исправляются.
- Если появившаяся ошибка появляется при пользовании программой под другим пользователем, то эту ошибку можно устранить путем очистки кэша, настройки прав, очистки пользовательских настроек.
Способы устранения ошибки
Замечание 2
Перед началом работы с базой обязательно сделайте архивную копию!
Данная ошибка в 99% случаях легко решается. Для этого вам достаточно проанализировать проблему и вызвать справку. Так же вы можете забить конкретную ошибку с пояснением в поиск и найти решение проблемы.
Перед использованием любого метода вы можете получить подсказку о том, как его использовать. Для этого выберете требуемую функцию и нажмите на клавиши на клавиатуре «Ctrl + F1». Программа откроет подсказку по необходимому методу. В конце работы проверьте параметры, которые передаются в функцию, и правильность её использования.
Замечание 3
В качестве профилактики следите за актуальностью релиза конфигурации.
Находи статьи и создавай свой список литературы по ГОСТу
Поиск по теме
Что я люблю в 1с, так это непонятные непредвиденные ошибки. На днях нужно было помочь человеку обновить старую бухгалтерию до современного релиза, я согласился. Как же я был удивлен когда 1с подкинула мне ошибку тип не определен.
Предистория: Бухгалтерия предприятия базовая 2.0.66.138 нужно обновить до актуального релиза бухгалтерии 3.0.
Каких-то особых выдумок я применять не стал, скачал обновление с https://releases.1c.ru/total и установил его. Я сильно удивился увидев ошибку тип не определен.
В начале я попробовал откатится к версии до обновления. Хорошо что я перед работами всегда делаю бекап. Сделал тестирование и исправление, проверил базу на повреждения, обновил повторно, но получил ту же ошибку. После этого решил посмотреть журнал регистрации и поправить ошибку в отладке.
Журнал регистрации всеми силами направлял меня в общий модуль управление доступом служебный.
Тип не определен {ОбщийМодуль.УправлениеДоступомСлужебный.Модуль(26085)}: {ОбщийМодуль.УправлениеДоступомСлужебный.Модуль(25277)}: {ОбщийМодуль.УправлениеДоступомСлужебный.Модуль(24362)}: {ОбщийМодуль.УправлениеДоступомСлужебный.Модуль(23491)}: {ОбщийМодуль.УправлениеДоступомСлужебный.Модуль(23243)}: {ОбщийМодуль.УправлениеДоступомСлужебный.Модуль(22956)}: {ОбщийМодуль.УправлениеДоступомСлужебный.Модуль(22337)}: {ОбщийМодуль.УправлениеДоступомСлужебный.Модуль(22217)}: {РегистрСведений.ПараметрыОграниченияДоступа.МодульМенеджера(206)}:ДействующиеПараметры = УправлениеДоступомСлужебный.ДействующиеПараметрыОграниченияДоступа( {РегистрСведений.ПараметрыОграниченияДоступа.МодульМенеджера(157)}:ЗапланироватьОбновление_00_00268406("ПереходНаВерсиюБСП_3.0.3.168"); {ОбщийМодуль.УправлениеДоступомСлужебный.Модуль(4489)}: {(1)}:УправлениеДоступомСлужебный.ОбновитьВспомогательныеДанныеПоИзменениямКонфигурации() {ОбщийМодуль.ОбщегоНазначения.Модуль(5113)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")"; {ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(6320)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.Процедура, ПараметрыОбработчика); {ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(2155)}:ВыполнитьОбработчикОбновления(Обработчик, ПараметрыОбработчика, ДополнительныеПараметры); {ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(1707)}:ИтерацияОбновления.ВыполненныеОбработчики = ВыполнитьИтерациюОбновления(ИтерацияОбновления, Параметры); {ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(93)}:ВыполнитьДействияПриОбновленииИнформационнойБазы(ПараметрыОбновления, ДополнительныеПараметры); {ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(2289)}:Результат = ВыполнитьОбновлениеИнформационнойБазы(ПараметрыОбновления); {(1)}:ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОбновлениеИнформационнойБазыВФоне(Параметры[0],Параметры[1]) {ОбщийМодуль.ОбщегоНазначения.Модуль(5113)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")"; {ОбщийМодуль.ДлительныеОперации.Модуль(1036)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова); {ОбщийМодуль.ДлительныеОперации.Модуль(1026)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);
Перехожу в конфигуратор ищу ОбщийМодуль.УправлениеДоступомСлужебный и что же я вижу. Исходный текст модуля отсутствует, конфигурация на поддержке и снимать и ломать модуль для рядового обновления это точно ложный путь.
Пришло время изучать ошибку тип не определен, вот что удалось выяснить. Ссылки с решением долго не заставили себя ждать, давний баг, который привели в порядок, но старые версии БСП и старая версия платформы написаны так, словно это не ошибка.
https://bugboard.v8.1c.ru/error/000100482
https://partners.v8.1c.ru/forum/topic/1950512
В версиях платформы до 8.3.22.1704 конструкция Тип(“”) (где в качестве аргумента – пустая строка), возвращала пустое значение типа Тип, в новой версии платформы попытка выполнения данной конструкции приводит к ошибке.
Причем если взять и разные версии платформы и потестировать, что будет возвращаться, поведение и тип возвращаемого значения меняется в каждой версии платформы. Причем если в старых платформах возвращается пустая строка или пустое значение типа, то начиная с 8.3.22.1704 конструкция просто приводит к вылету с ошибкой.
Я не стал выдумывать патчи и писать какие-то доработки, просто использовал более старую версию платформы и все заработало.
Какой можно сделать вывод из этой истории – нужно обновлять платформу и конфигурации вовремя!
Ошибка появляется, как правило, при обновлении типовой конфигурации 1С:Предприятие. Так случилось у клиента при обновлении БП. Процесс завершался ошибкой инициализации модуля EF_00_00304732, а в Журнале регистрации фиксировалось исключение «Не удалось обновить исправления конфигурации».
Полный текст ошибки
ОбщийМодуль.ПользователиСлужебный.Модуль : Процедура или функция с указанным именем уже определена (ВерсияРежимаСовместимости)
Проблема в том, что программа не может автоматически удалить ранее установленный патч с исправлениями.
При установке очередного обновления конфигурации не происходит автоматического удаления утратившего актуальность патча. Или процесс не может его обновить/повторно зарегистрировать. Это приводит к ошибкам и не дает корректно завершить процедуру обновления.
Решение: проблемный патч необходимо удалить вручную. И далее, повторно запустить обновление.
Первым делом — обязательный бэкап информационной базы. Железное правило. Как хотите, но сделайте.
1С инструменты: Настройки модуля
Как удалить патч вручную, если он не удаляется автоматически
► Меню «Администрирование — Обслуживание — раздел «Обновление программ» — Установленные исправления (патчи)»
Откроется список. Выберите патч, который необходимо удалить, и нажмите кнопку «Удалить исправление».
► Альтернативный способ открыть список исправлений: «Главное меню — Все функции — Стандартные — Управление расширениями конфигурации».
В главном меню нажмите «Конфигурация — Расширения конфигурации». Если пункт недоступен, то сначала выполните команду «Конфигурация — Открыть конфигурацию».
В окне со списком установленных расширений выберите удаляемый патч и нажмите кнопку «Удалить»; или нажмите пункт «Действия — Удалить».
После удаления «мешающего» патча вы с большой долей вероятности сможете успешно обновить свою конфигурацию.
Если не получается или требуется дополнительная поддержка, наши программисты 1С готовы помочь. +7-911-500-10-11
Источник: nastroyka-1c.ru
неизвестный модуль неизвестная процедкра
всем привет,
в стеке вот такое
https://sun9-39.userapi.com/c8. ixsnCM.jpg
неизвестный модуль неизвестная процедура.
давненько я не копался в отладке, как это понимать не могу понять.
паролей на модули не стоит.
выполнить в стеке не отображается
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Модуль CRT — Lo и WindMax воспринимается как неизвестный идентификатор
Почему абс игнорирует Lo(WindMax) Lo и WindMax воспринимает как неизвестный идентификатор? И как.
Необработанное исключение типа «System.AccessViolationException» произошло в Неизвестный модуль
Общий модуль. Простейший пример. Проверка по наименованию.
Начал изучать с++ и паралельно ассемблер. Попробывал совместить , сделав простуя задачу и вот.
Найти модуль скорости; модуль тангенциального ускорения; модуль нормального ускорения; модуль полного ускорения
1. Материальная точка движется по плоскости. Движение точки в векторном виде описывается уравнением.
1110 / 666 / 193
Регистрация: 22.04.2013
Сообщений: 5,026
Записей в блоге: 1
Использование оператора “Выполнить” для вызова методов, из-за чего при отладке в стеке вызовов приходится видеть строку
.()
Напомню, что в системе стандартов и методик от 1С явно прописана нежелательность подобного подхода при разработке.
(курсы по 1с точка рф) (с)
Заблокирован
это в стеке видно, прост канал слабый был с мобилы, лагало рдп ужасно.
дописал потом жи выполнить
1110 / 666 / 193
Регистрация: 22.04.2013
Сообщений: 5,026
Записей в блоге: 1
это в стеке видно, прост канал слабый был с мобилы, лагало рдп ужасно.
дописал потом жи выполнить
чо?
там написано, что если такое — значит в коде есть строка
Выполнить(некийобщиймодульстандартный1с.выполнитьк акуютокоманду1совскую());
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Неизвестная ошибка
Привет! Мне удалось написать 3 простейших программы для кодирования и декодирования текста, и я.
Неизвестная конструкция
Задача поставлена так: Написать программу, переводящую арабские числа в римские. Задача упрощается.
Неизвестная ошибка
n,m,p,o,i,j:byte; a,b:matr; min1,min2:integer; procedure W(l,k:byte; var x:matr); begin.
Неизвестная проблема
Здравствуйте уважаемые форумчане и метры компьютерных технологий. С недавних пор у моего компа.
Источник: www.cyberforum.ru
Как и любая программа, программа 1С состоит из модулей, частей. Существует несколько видов модулей:
- общие модули (проведение, отчеты, процедуры общего назначения и т.д.);
- модуль объекта (валюты);
- модуль формы (форма: списка, элемента, подбора и выбора);
- модуль приложения.
Программные модули состоят из разделов:
- объявления переменных;
- процедур и функций;
- основной программы.
Определение 1
Контекст в 1С заключается в окружении модуля и его разделов, т.е. это конкретные переменные, свойства, объекты, метод и события которые могут быть доступны в каждой конкретной точке.
- Глобальный контекст указывает открытые для вызова функции;
- Локальный контекст (более низкий уровень) становится доступен в каждой модульной части.
Решим твою учебную задачу всего за 30 минут
Попробовать прямо сейчас
Существуют правила для доступа процедур, переменных, и функций в модулях:
- В общем модуле не будут доступны для экспорта переменные, процедуры и функции модульных приложений;
- В модульных приложениях существует доступ для экспорта процедур и функций общих модулей;
- В общих модульных частях открыт доступ к экспорту процедур и функций прочих общих модулей;
- Для модульных прикладных объектов и для модульных форм являются доступными переменные, функции и процедуры модулей приложений для экспорта и общих модулей.
Замечание 1
Если какой-либо из форм присвоен основной реквизит, то в настройках этой формы будут содержаться свойство и метод, которые отвечают этому основному реквизиту.
Ошибка модуля
В программе 1С ошибка модуля называется «Ошибка при вызове метода контекста». Такое сообщение об ошибке программа 1С дополняет пояснениями, которые описывают обстоятельства, вызвавшие сбой. Такие объяснения программа выдает только во второй и третий версиях программы. Данное пояснение находится в скобках после сообщения об ошибке, что существенно сокращает время, потраченное на ее исправление.
«Ошибка модуля в 1С: причины и способы исправления»
Готовые курсовые работы и рефераты
Консультации эксперта по предмету
Помощь в написании учебной работы
Самые распространенные пояснения:
- записать;
- создать;
- подключиться;
- connect;
- проверить вывод;
- previewFile1C;
- прочитать;
- выполнить;
- выполнить пакет;
- прочитать изменения.
Данная ошибка может возникнуть по причинам:
- нарушена логическая и физическая целостность информационной базы;
- ошибки при обращении с программой;
- разработчиком ошибочно был введен код;
- внезапное закрытие программы.
Вы можете провести анализ ошибки:
- Сравнить версии программы и конфигурации (может быть повреждена платформа).
- Прочитать весь текст сообщения, т.к. в конце его содержатся рекомендации к её устранению.
- Проанализировать давность ее появления и обстоятельства её появления.
- Проверьте, появлялась ли ранее данная ошибка, т.к. невоспроизводимые ранее не встречавшиеся ошибки, чаще всего не исправляются.
- Если появившаяся ошибка появляется при пользовании программой под другим пользователем, то эту ошибку можно устранить путем очистки кэша, настройки прав, очистки пользовательских настроек.
Способы устранения ошибки
Замечание 2
Перед началом работы с базой обязательно сделайте архивную копию!
Данная ошибка в 99% случаях легко решается. Для этого вам достаточно проанализировать проблему и вызвать справку. Так же вы можете забить конкретную ошибку с пояснением в поиск и найти решение проблемы.
Перед использованием любого метода вы можете получить подсказку о том, как его использовать. Для этого выберете требуемую функцию и нажмите на клавиши на клавиатуре «Ctrl + F1». Программа откроет подсказку по необходимому методу. В конце работы проверьте параметры, которые передаются в функцию, и правильность её использования.
Замечание 3
В качестве профилактики следите за актуальностью релиза конфигурации.
Источник: spravochnick.ru
Метод объекта не обнаружен в 1С 8.3
После обновлений, доработок и других подобных изменений конфигурации пользователи могут столкнуться с ошибкой Метод объекта не обнаружен. В качестве метода выступают процедуры и функции, выполняющие некоторые действия с объектом. За каждым типом метаданных закреплены свои методы. Сообщение Метод объекта не обнаружен программа выдает в случаях, когда не находит во встроенном языке метод с таким именем или одноименную процедуру/функции в модулях объекта.
Примеры появления и исправления ошибки рассмотрены нами на конфигурации 1С:Бухгалтерия 8.3.
Причины возникновения ошибки в 1С 8.3
Пользователь получает предупреждение в виде всплывающего окна с текстом «Метод объекта не обнаружен ([Имя_метода])», если:
- метод не принадлежит к типу метаданных;
- опечатка в имени метода;
- у процедуры или функции, вызываемой в качестве метода объекта, не указанно ключевое слово Экспорт.
Объекты и методы
- константы;
- справочники;
- документы;
- отчеты;
- регистры сведений;
- и т. д.
- встроенные в платформу;
- написанные программистом в модулях объектов.
Процедуры и функции, описанные в модулях объектов с ключевым словом Экспорт, дополняют типовые методы своих объектов и могут вызываться из любых программных модулей, где используются эти метаданные.
Исправление ошибки
Сообщение «Метод объекта не обнаружен» может возникнуть, например, при нажатии кнопки в документе.
Для детального анализа ошибки запустите конфигурацию в режиме отладки из конфигуратора Отладка — Начать отладку и повторите те же действия, чтобы вызвать повторное появление ошибки на экране. Кнопка Подробно раскроет окно с указанием строчки программного кода, где возникает сбой.
Для перехода в конфигуратор нажмите Конфигуратор.
В режиме конфигурирования курсор автоматически установится в месте появления ошибки, а информация из окна с подробным описанием сбоя в 1С отразится в служебном окне Конфигуратора.
Решение вопроса с ошибкой «Метод объекта не обнаружен» в 1С 8.3 будет зависеть от вида метода: созданный вручную или типовой.
Встроенные в платформу методы
Стандартные методы перечислены в Синтакс-Помощнике на ветках соответствующих объектов. Откройте Ситнакс-Помощник через меню конфигуратора Справка или по одноименной кнопке на панели инструментов. Для быстрого поиска на вкладке Индекс введите часть имени типа объекта, а для перехода к его описанию нажмите кнопку Найти текущий элемент в дереве .
Программа перейдет на вкладку и выделит искомый объект. Раскройте ветвь с методами и попытайтесь отыскать похожий по наименованию. Если такой нашелся, замените на него метод в строке кода с ошибкой.
Запустите 1С в режиме отладки и проверьте работу конфигурации в месте возникновения ошибки. Если окно со сбоем больше не выходит, обратите внимание на корректность обработки данных программой. Исправляйте имя метода в коде на типовое, только если видите явную опечатку в наименовании и не нашли одноименной процедуры/функции в моделях объекта.
Методы, добавленные вручную
Программисты могут добавлять экспортные процедуры и функции (со словом Экспорт) в модулях объектов, например, вкладке Прочее в окне редактирования объекта конфигурации.
- для типов ДокументОбъект, СправочникОбъект и т. д. методы прописывают в Модуле объекта;
- типы ДокументМенеджер, ПеречислениеМенеджери т. д. — Модуль менеджера;
- типы РегистрСведенийНаборЗаписей и т. д. — Модуль набора записей (у регистров);
- тип КонстантаМенеджерЗначения — Модуль менеджера значения (у констант);
- и др.
Чтобы определить тип объекта, воспользуйтесь одним из способов:
1. Разберите в окне ошибки строку кода, где идет обращение к методу:
- Документ.СчетНаОплатуПоставщика.Форма.ФормаДокумента — метод выполняется в модуле формы документа;
- Документ — объект, от которого запускается метод;
- Добавить() — имя метода. Характерная черта — наличие круглых скобок в конце, в них перечисляются параметры, если они необходимы для выполнения операций;
- ПодборТовараСервер() — имя процедуры/функции, где возникает ошибка. В данном примере Документ является переменной, содержащей объект с типом ДокументОбъект, получаемый встроенным методом ПолучитьОбъект().
2. Если конфигурация допускает вносить изменения, выведите тип объекта в окне сообщений в пользовательском режиме с помощью встроенных функций Сообщить() и ТипЗнч():
- впишите в процедуру строку кода с функцией, указав в скобках обращение к объекту без имени метода;
- запустите 1С в режиме отладки и повторите действия, вызывающие сбой;
- проигнорируйте окно с ошибкой, нажав ОК. В нижней части рабочей области программы появится сообщение с типом объекта.
3. Через команду контекстного меню Вычислить выражение в Конфигураторе
- в строчке, где возникает сбой, поставьте точку останова для принудительной остановки выполнения программного кода, имеет вид красного круга на полях с левой стороны;
- запустите программу в режиме отладки;
- повторите действия, при которых возникала ошибка;
- работа программы остановится, откроется окно конфигуратора;
- выделите часть кода, где идет обращение к объекту, без метода;
- правой кнопкой вызовите контекстное меню, выберите команду Вычислить выражение;
- в открывшемся окне в колонке Тип будет указан тип объекта.
- откройте модуль объекта/менеджера/набора записей;
- найдите одноименную процедуру или функцию, для быстрого перехода к нужной части текста модуля воспользуйтесь окном поиска, набрав в нем часть имени метода;
- проверьте наличие ключевого слова Экспорт. При его отсутствии программа не сможет передать процедуру/функцию в другой модуль. Соответственно, она не будет обнаружена, что приведет к появлению ошибки «Метод объекта не обнаружен»;
- имя процедуры/функции должно совпадать с вызываемым методом: если имеются явные орфографические ошибки или опечатки, исправьте их;
- если наименование процедуры/функции полностью совпадает с методом, и ключевое слово Экспорт указано, возможно, причина — в неверном типе объекта.
Если тип объект задан неверно, то программа будет производить поиск экспортных процедур/функции вне тех модулях и пользователь получит ошибку «Метод объекта не обнаружен». Для решения проблемы потребуется переписать программный код, пользователю стоит обратиться к программисту.
Если ни один из вариантов исправления ошибки не дал результата, попробуйте закомментировать строку кода, где происходит сбой, добавив в начале строки два правых слеша.
Эти действия приведут к отключению строки кода с методом для выполнения программой. Возможно, это устранит появление ошибки, но может исказить или повредить данные в базе из-за нарушения алгоритма их обработки, т. к. из него исключена последовательность действий, описанная в методе. Поэтому вносить самостоятельные правки в программный код нужно с осторожностью.
Метод объекта не обнаружен Connect 1С 8.3
Ошибку «Метод объекта не обнаружен (Connect)» 1С может показать при попытке обновить конфигурацию, синхронизации или загрузке/выгрузке данных из другой программы, базы.
Connect — наименование встроенного метода, принадлежит COM-объектам, которые 1С создает на основании объектов базы данных для их передачи или получения из других источников.
Поскольку метод типовой, следует проверить в конфигураторе корректность написания его имени в коде программы.
- в папке C:Windows найдите и запустите от имени администратора файл cmd.exe;
- в зависимости от вида операционной системы выполните команду:
- для x32: %windir%System32RegSvr32.exe “С:[путь до каталога 1С]bincomcntr.dll”;
- для x64: %windir%SysWoW64RegSvr32.exe “С:[путь до каталога 1С] bincomcntr.dll”;
- перезагрузите компьютер.
Источник: 1c8v.ru