Ошибки при использовании той или другой программы встречаются самого разного рода. Из них есть целая серия — которые возникают по нашей вине. Рассмотрим, как исправить ошибку при выводе метода контекста в 1С, возникающую в результате несоблюдения правил и методов контекста.
Содержание
- 1 Контекстные правила и методы
- 2 Несоблюдение правил и методов программного контекста
- 3 Что полезно знать об ошибках
Контекстные правила и методы
Любой программный продукт архитектурно состоит из модулей (module, англ.), частей. Модульные части программы 1С и их местоположение показаны на рисунке:
Программные модули, в свою очередь, состоят из разделов:
Контекст (context, англ.) — это одно из важнейших понятий в программировании. В 1С под ним понимается окружение модуля и его разделов, — какие именно переменные, свойства, объекты, метод (method) и события могут быть ему доступны в каждой конкретной точке. В разных точках context, как правило, уже другой.
Разработчик (доработчик) должен понимать — какие контекстные свойства имеет точка и какой method является доступным для использования в ней.
В восьмёрке выделены контекстные виды:
- В любой точке конфигурации доступен Глобальный context. Отдельная ветка синтаксис-помощника показывает доступные для вызова функции:
- Локальный context (более низкого уровня) доступен в точках каждой модульной части;
- Ещё ниже уровень — локальный context процедуры и так далее.
Базовыми являются основные четыре правила для доступа процедур, переменных, и ф-ций в модулях:
- В общих модульных частях не будут доступными для экспорта переменные, процедуры и ф-ции модульных приложений;
- В модульных приложениях есть доступ для экспорта процедур и ф-ций общих модулей;
- Для общих мод. частей открыт доступ к экспорту процедур и ф-ций прочих общих модулей;
- Для модульных прикладных объектов и для модульных форм являются доступными переменные, функции и процедуры модулей приложений для экспорта и общих модулей.
Если какой-либо форме присвоен основной реквизит, то в контексте этой формы будут содержаться свойство и method, отвечающие этому основному реквизиту. К примеру, в модуле формы для элемента справочника Номенклатура доступен method и свойства объекта СправочникОбъект.Номенклатура.
Иллюстрация приведённых правил на схеме:
Стрелками обозначено что одной из модульных частей предоставляется возможность другим по обращению к своим переменным, функциям и процедурам для экспорта. Напоминаем, — в общем модуле не существует объявления переменных.
Несоблюдение правил и методов программного контекста
Все программисты встречались с уведомлением об ошибке 1С при вызове метода контекста. Рассмотрим такой пример:
Ошибки команд
При создании запроса в справочнике в его параметре «текст» был внесён фрагмент:
В конструкции «ГДЕ» было внесено «И», но само условие осталось непрописанным.
Реакция программы была такой:
{МОДСеанса(21)}: Ошибка при вызове метода контекста (Выполнить)РезультатЗапроса = Запрос.Выполнить();
Как узнать правильный метод?
Для того чтобы получить подсказку платформы 1С о том, как использовать какой-либо method, поставьте курсор на нужную функцию и нажмите «Ctrl + F1». При возникновении ошибок нужно проверить параметры, которые передаются в функцию, а также правильность использования функции.
Что полезно знать об ошибках
Напоследок проведём общий анализ ошибок в 1С. Любая из них может быть причиной тех, которым посвящена тема статьи:
- Нарушение как логической, так физической целостности информационной базы;
- Ошибки пользователей при обращении с платформой;
- Ошибочно введённый разработчиком (доработчиком) код;
- Человеческий фактор — например, забывчивость;
- Чрезвычайные ситуации (отсутствие света, метель, дождь, град, ураган, наводнение).
Провести анализ ошибки:
- Сравнить релизы платформы и конфигурации;
- Прочитать полный текст сообщения до конца, некоторое время подумать и понять то, что написала машина. Очень часто люди не читают такие сообщения целиком. Но бывает, что именно в конце его содержатся рекомендации к её устранению;
- Проанализировать насколько давней она является и обстоятельства её появления;
- Можно ли её воспроизвести;
- Невоспроизводимые ранее не встречавшиеся ошибки, как правило, не исправляются;
- Повторяется ли ошибка с другого компьютера или другим пользователем. В этом случае рассмотреть очистку кэша, настройку прав, очистку пользовательских настроек.
Дополнительно о причинах ошибок:
- Часть ошибок — это результат использования нелицензионного программного обеспечения (и windows тоже);
- Повреждённая платформа — это самый распространённый пример. Всего один патч способен взломать версию платформы. После чего можно не обнаружить базу (или лицензию);
- При первичном столкновении с ошибкой стоит поискать решение в поисковике — возможно решение её уже кем-то найдено;
- Следите за актуальностью релиза конфигурации (особенно если из них сдаётся регламентированная отчётность);
- Актуальность релиза платформы — для каждой конфигурации рекомендован свой релиз;Все события, происходящие в 1С, протоколируются в технологическом журнале!
- Перед началом каких-то действий с базой необходимо делать архивную копию!
Теперь вы знаете что такое context, почему возникают связанные с ним ошибки, как анализировать ошибки в 1С и как их решать.
Оставляйте в комментариях свои отзывы.