Вы (или пользователь) работаете в 1С. Вдруг – ошибка. Что делать?
Конечно самое правильное – проанализировать — что за ошибка 1С, ее причины, провести в отладчике 1С часик-другой, чтобы выяснить что к чему.
Что делать, если это невозможно? Нет времени, нет желания, недостаточно знаний. Вот несколько очень вредных советов по быстрому исправлению ошибок в 1С.
Сообщение об ошибке 1С
Типовой вид сообщения об ошибке 1С– это окно с текстом ошибки 1С и кнопками ОК и Подробнее.
Текст ошибки 1С, отображенный здесь – это пользовательское сообщение, программисту оно часто ни о чем не говорит, так как отображенная ошибка 1С может быть следствием каких-то неправильных действий.
Для исправление ошибок 1С необходимо в этом окне нажать Подробнее, чтобы увидеть программистское сообщение об ошибке 1С. В нем указано:
- Модуль, в котором произошла ошибка 1С
- Функция этого модуля, в котором произошла ошибка 1С
- Номер строки этого модуля, в котором произошла ошибка 1С.
Также Вы можете нажать на кнопку Конфигуратор, и тогда будет открыт конфигуратор, этот модуль, эта функция на этой строке, после чего Вы можете провести исправление ошибки 1С.
Хитрости понимания ошибок
Как только что было сказано, в тексте ошибки 1С очень часто следствие выполненных ранее неверных действий.
Например, очень распространенный текст ошибки 1С гласит:
Значение не является значением объектного типа (КакоетоИмя)
Что бы это значило???
А это значит следующее:
- Есть переменная
- В программе предполагается, что значение переменной – справочник или документ или что то другое подобное – в общем у него есть реквизиты(поля)
- В программе делается попытка обратиться к полю этого объекта
- Однако ошибка 1С состоит в том, что по какой-то причине в предыдущих строчках программы эта переменная получила значение, у которого нет никаких реквизитов (полей), например значение «Неопределено».
Исправление ошибок 1С, которые чаще встречаются
Конечно же все ошибки, которые могут быть в 1С — мы сейчас рассмотреть не можем.
Попробуем кратко перечислить ошибки 1С, которые бывают часто, а также вредные советы по быстрому исправлению ошибок 1С.
- Если переменная имеет тип булево (то есть принимает значения Истина и Ложь), то к ней можно обращаться вот так:
Если ИмяПеременной Тогда
Такое написание аналогично:
Если ИмяПеременной = Истина Тогда
Однако если по какой-то причине эта переменная примет значение не булево, то первый вариант даст ошибку 1С, а второй нет.
- «Функция с именем Ххх не обнаружена»
В клиент-серверном варианте 1С часть модулей выполняется на сервере. Мало того, некоторые функции одного и того же модуля могут выполняться на сервере или на клиенте.
При этом может возникнуть ошибка 1С, что из функции работающей на сервере идет обращение к функции, которая выполняется на клиенте. В этом случае будет такая ошибка 1С.
Необходимо перенести такую функцию на сервер, если это возможно.
- «Переменная с именем Ххх не обнаружена»
Аналогично предыдущей ошибке 1С. Если в программе прописано обращение к функции, которая находится в общем модуле, то это выглядит так:
ИмяМодуля.ИмяФункции();
Если при этом в свойствах модуля установлено, что он выполняется на клиенте, а мы обращаемся из тех строчек программы, которые выполняются на сервере – то будет ошибка 1С
«Переменная не обнаружено – ИмяМодуля»
Необходимо аналогично включить выполнение этого модуля на сервере.
- «Свойство Ххх у объекта не обнаружено»
Под словом «Свойство» понимается поле этого объекта (реквизит). Необходимо:
o Определить, что это за объект
o Если это объект 1С – справочник, документ – необходимо посмотреть, действительно ли реквизит так называется
o Если это обычная форма или управляемая форма – посмотреть реквизиты формы с таким названием. - «Метод Ххх у объекта не обнаружен»
Под словом «метод» понимается функция/процедура в модуле этого объекта.
Необходимо:
o Определить что это за объект
o Найти его модуль (модуль объекта если это объект 1С, модуль формы, если это форма)
o Проверить наличие функции с таким наименованием. - «Ошибка 1С при выполнении запроса»
Это значит в тексте запроса ошибка 1С. Текст запроса определяется в программе обычно раньше (то есть выше), чем выполняется. Поищите текст запроса в этом модуле (глазами выше или по поиску слова «ВЫБРАТЬ»).
Попробуйте проанализировать текст запроса или нажав правой кнопкой на тексте запроса попытаться открыть конструктор запроса, чтобы получить подсказку.
- «Ошибка 1С компоновки» — при выполнении отчета СКД
Данная ошибка 1С означает или ошибку 1С в тексте запроса или ошибку 1С настроек СКД (часто в группировках, в выбранных полях, в условном форматировании).
Попробуйте начать с настроек, сильно упростив их. Проверьте, что в выбранных полях и условном форматировании — в списке нет полей, отмеченных крестиком.
Если не поможет – попробуйте перейти к тексту запроса и использовать конструктор запроса, чтобы получить подсказку.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.