10.01.2020
Развитие механизма отображения ошибок
Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Реализовано в версии 8.3.17.1091
Платформа иногда показывает ошибки, непонятные пользователю – ошибки SDBL, ошибки встроенного языка, ошибки в запросе и т.п. Это затрудняет работу пользователей.
Мы работаем над улучшением этой ситуации. Вот что мы хотим дать различным целевым группам, работающим с нашими продуктами:
-
Конечные пользователи: если произошла ошибка — мы хотим показать пользователю подсказку для исправления ошибки (если пользователь может ее исправить сам) или предоставить пользователю удобный способ сообщить об ошибке специалистам (в техподдержку и т.п.).
-
Прикладные разработчики: мы хотим дать прикладным разработчикам возможность обрабатывать все ошибки, возникающие в приложении, и показывать пользователям полезную для них информацию.
-
ИТ-отделы компаний клиентов, а также компании, осуществляющие внедрения продуктов 1С: им мы хотим дать возможность быстрого получения информации об ошибках и возможность проинформировать пользователя о том, куда обращаться для решения проблемы.
Чтобы реализовать вышеперечисленное мы сделали в платформе ряд нововведений. Перечислим, для каких целевых групп они предназначены.
Для всех
Мы разделили ошибки по категориям:
-
НарушениеПравДоступа
-
ОшибкаДоступаКЛокальномуФайлу
-
ОшибкаСети
-
ОшибкаРаботыСПринтером
-
ОшибкаКомпиляцииВстроенногоЯзыка
-
ОшибкаВоВремяВыполненияВстроенногоЯзыка
-
ОшибкаИспользованияВстроенногоЯзыка
-
ИсключениеВызванноеИзВстроенногоЯзыка
-
ОшибкаСистемыВзаимодействия
-
ОшибкаНастроекКомпоновкиДанных
-
ОшибкаСеанса
-
ОшибкаХранимыхДанных
-
ПрочаяОшибка
Как категоризация ошибок будет полезна различным целевым группам – смотрите ниже.
Для конечных пользователей
Изменен внешний вид формы сообщения об ошибке; в частности, в зависимости от категории ошибки показывается соответствующая иконка и текст:

Для прикладных разработчиков
У приложения добавлен обработчик ОбработкаОтображенияОшибки, который вызывается перед тем, как сообщение об ошибке будет показано пользователю.

У объекта ИнформацияОбОшибке есть метод ЯвляетсяОшибкойКатегории(). Одна ошибка может одновременно принадлежать к нескольким категориям.
Разработчики конфигураций получают возможность (например, исходя из категории ошибки) менять текст и форму отображения ошибки, показываемые пользователю, а также получают возможность отправки информации об ошибке (например, на сервис техподдержки).
У глобального контекста добавлено свойство ОбработкаОшибок нового типа МенеджерОбработкиОшибок. МенеджерОбработкиОшибок предоставляет доступ к функциям для обработки ошибок. В частности, у него есть методы:
-
ПредставлениеОшибкиДляПользователя(<ИнформацияОбОшибке>) — возвращает текст ошибки, понятный пользователю (в виде форматированной строки).
-
СообщениеОбОшибкеДляПользователя(<ИнформацияОбОшибке>) — возвращает текст сообщения, которое рекомендуется показать пользователю (в виде форматированной строки). Текст содержит информацию о произошедшей ошибке и инструкцию по ее возможному исправлению.
Доступна как программная возможность формирования отчета об ошибке, так и интерактивная, из формы ошибки. Программно можно добавлять в отчет свои вложения и объекты. Отчет об ошибке можно сохранить на диск. Если в форме «Управление настройками ошибок» задан адрес сервиса регистрации ошибок – отчет можно отправить в этот сервис.
Сервис регистрации ошибок – внешний по отношению к платформе компонент, представляющий собой набор НТТР-сервисов с определенными интерфейсами и может быть реализован с помощью любой подходящей технологии. В состав платформы «1С:Предприятие» версии 8.3.17 войдет пример реализации сервиса регистрации ошибок на платформе «1С:Предприятие».
Для администраторов
Как было сказано выше, разработчик может программно отрабатывать обработку ошибок (писать код обработки отображения) в режиме конфигуратора.
Администратор же системы может декларативно настраивать тексты и другие моменты отображения ошибок в режиме предприятия (устанавливая настройки в информационной базе). Есть готовая форма для декларативной настройки шаблонов сообщений об ошибках; она вызывается в приложении через системное меню, пункт «Функции для технического специалиста» (бывший «Все функции», подробнее о его переименовании здесь), раздел «Стандартные».
Форма «Управление настройками ошибок»:
Настройки, в частности, позволяют делать сообщения об ошибках более понятными и полезными для пользователя:
Также есть возможность отправлять отчеты об аварийном завершении работы приложения в сервис регистрации ошибок платформы фирмы 1С.
Теги:
8.3.17
Развитие Механизма отображения ошибок
Новости > Инсайд новости платформы 1С8
Платформа иногда показывает ошибки, непонятные пользователю – ошибки SDBL, ошибки встроенного языка, ошибки в запросе и т.п. Это затрудняет работу пользователей.
Фирма 1С работает над улучшением этой ситуации. Вот что 1С хочет дать различным целевым группам, работающим с её продуктами:
- Конечные пользователи: если произошла ошибка — 1С хочет показать пользователю подсказку для исправления ошибки (если пользователь может ее исправить сам) или предоставить пользователю удобный способ сообщить об ошибке специалистам (в техподдержку и т.п.).
- Прикладные разработчики: 1С хочет дать прикладным разработчикам возможность обрабатывать все ошибки, возникающие в приложении, и показывать пользователям полезную для них информацию.
- ИТ-отделы компаний клиентов, а также компании, осуществляющие внедрения продуктов: им 1С хочет дать возможность быстрого получения информации об ошибках и возможность проинформировать пользователя о том, куда обращаться для решения проблемы.
Чтобы реализовать вышеперечисленное в 1С сделали в платформе ряд нововведений. Перечислим, для каких целевых групп они предназначены.
Для всех
Фирма 1С разделила ошибки по категориям:
- НарушениеПравДоступа
- ОшибкаДоступаКЛокальномуФайлу
- ОшибкаСети
- ОшибкаРаботыСПринтером
- ОшибкаКомпиляцииВстроенногоЯзыка
- ОшибкаВоВремяВыполненияВстроенногоЯзыка
- ОшибкаИспользованияВстроенногоЯзыка
- ИсключениеВызванноеИзВстроенногоЯзыка
- ОшибкаСистемыВзаимодействия
- ОшибкаНастроекКомпоновкиДанных
- ОшибкаСеанса
- ОшибкаХранимыхДанных
- ПрочаяОшибка
Как категоризация ошибок будет полезна различным целевым группам – смотрите ниже.
Для конечных пользователей
Изменен внешний вид формы сообщения об ошибке; в частности, в зависимости от категории ошибки показывается соответствующая иконка и текст:
Для прикладных разработчиков
У приложения добавлен обработчик ОбработкаОтображенияОшибки, который вызывается перед тем, как сообщение об ошибке будет показано пользователю.
У объекта ИнформацияОбОшибке есть метод ЯвляетсяОшибкойКатегории(). Одна ошибка может одновременно принадлежать к нескольким категориям.
Разработчики конфигураций получают возможность (например, исходя из категории ошибки) менять текст и форму отображения ошибки, показываемые пользователю, а также получают возможность отправки информации об ошибке (например, на сервис техподдержки).
У глобального контекста добавлено свойство ОбработкаОшибок нового типа МенеджерОбработкиОшибок. МенеджерОбработкиОшибок предоставляет доступ к функциям для обработки ошибок. В частности, у него есть методы:
1. ПредставлениеОшибкиДляПользователя(<ИнформацияОбОшибке>) — возвращает текст ошибки, понятный пользователю (в виде форматированной строки).
2. СообщениеОбОшибкеДляПользователя(<ИнформацияОбОшибке>) — возвращает текст сообщения, которое рекомендуется показать пользователю (в виде форматированной строки). Текст содержит информацию о произошедшей ошибке и инструкцию по ее возможному исправлению.
Доступна как программная возможность формирования отчета об ошибке, так и интерактивная, из формы ошибки. Программно можно добавлять в отчет свои вложения и объекты. Отчет об ошибке можно сохранить на диск. Если в форме «Управление настройками ошибок» задан адрес сервиса регистрации ошибок – отчет можно отправить в этот сервис.
Сервис регистрации ошибок – внешний по отношению к платформе компонент, представляющий собой набор НТТР-сервисов с определенными интерфейсами и может быть реализован с помощью любой подходящей технологии. В состав платформы «1С:Предприятие» версии 8.3.17 войдет пример реализации сервиса регистрации ошибок на платформе «1С:Предприятие».
Для администраторов
Как было сказано выше, разработчик может программно отрабатывать обработку ошибок (писать код обработки отображения) в режиме конфигуратора.
Администратор же системы может декларативно настраивать тексты и другие моменты отображения ошибок в режиме предприятия (устанавливая настройки в информационной базе). Есть готовая форма для декларативной настройки шаблонов сообщений об ошибках; она вызывается в приложении через системное меню, пункт «Функции для технического специалиста» (бывший «Все функции», подробнее о его переименовании здесь), раздел «Стандартные».
Форма «Управление настройками ошибок»:
Настройки, в частности, позволяют делать сообщения об ошибках более понятными и полезными для пользователя:
Также есть возможность отправлять отчеты об аварийном завершении работы приложения в сервис регистрации ошибок платформы фирмы 1С.
Если Вы хотите заказать абонентское обслуживание или прочие услуги Вашей 1С. Пожалуйста, ознакомьтесь с прайс-листом и оформите заявку через контактную форму.
Copyright©, «Программист 1С в г.Минске», 10.01.2020
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Попытка //Некоторые действия Исключение //Действия при ошибке КонецПопытки;
Показ сообщения об ошибке
Для вывода сообщения об ошибке нужно использовать функцию ОписаниеОшибки();
Пример:
Попытка
НаборЗаписей.Записать(Истина);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Для выдачи структуированной информации об ошибке в версии 8.2 служит функция ИнформацияОбОшибке().
Инфо = ИнформацияОбОшибке();
Сообщить("Описание='" + Инфо.Описание + "'");
Сообщить("ИмяМодуля='" + Инфо.ИмяМодуля + "'");
Сообщить("НомерСтроки=" + Инфо.НомерСтроки);
Сообщить("ИсходнаяСтрока='" + Инфо.ИсходнаяСтрока + "'");
Вызов исключения
В 1С:Предприятие 7.7 оператор ВызватьИсключение; служит для повторного вызова исключения из блока Исключение-КонецПопытки. Для вызова из других частей программы можно использовать внешнюю компоненту или деление на 0, например а=1/0.
В 1С:Предприятие версии 8 есть оператор ВызватьИсключение:
ВызватьИсключение "Текст сообщения об ошибке";
Содержание:
1. Обработка исключительной ситуации
2. Совершаем ошибку в 1С 8.3
3. А что еще можно делать с результатом попытки?
4. А ваши транзакции то здесь при чём?
1. Обработка исключительной ситуации
— Приветствую, Амиго! Ты, как я понял, пришёл на мою лекцию по физическим основам изготовления термитных пирамидок для заряда аппаратов гиперболоидной конструкции? Нет? А зачем тогда?
— Здравствуйте, профессор. Сегодня мы собирались разобрать конструкцию «Попытка-Исключение».
— А… Это… Ну, тогда вот:
— Кажется, понятно. А можно примеров добавить?
— Ох уж эти юные роботы, всегда хотят практики. С примерами это будет выглядеть вот так:
Ох, извини, это для старых баз. На новых космолётах с прошивкой выше 8.1 есть более удобный способ узнать код ошибки.
2. Совершаем ошибку в 1С 8.3
Ты и сам можешь попробовать. Главное – придумать ошибку в 1С 8.3. Самая простая ошибка – это разделить что-нибудь на нуль или на, как это говорят на современном сленге, ноль.
В ответ получим:
Нажимаем на кнопку «Подробно…» и видим: Деление на 0 {NudlsProff_Расширение.NudlsProff_ФормаОшибок.Форма(96)}: Результат = 1/0
Добавляем нашей красоты:
Теперь пользователю ВИДНО, что случилось. И ПОНЯТНО, что с этим делать.
Описание=’Деление на 0′
ИмяМодуля=’NudlsProff_Расширение.NudlsProff_ФормаОшибок.Форма’
НомерСтроки=99
ИсходнаяСтрока=’ Результат = 1 / 0;’
Позвоните Профессору Нудлсупо тел+7 (495) 125-23-77
и ознакомьтесь с теорией деления на ноль
https://elementy.ru/email/1530320/Pochemu_nelzya_delit_na_nol
3. А что еще можно делать с результатом попытки?
— А что ещё мы можем делать в результате с попыткой?
— Мы можем обработать попытку в попытке.
По своей сути Попытка-Исключение – это отлов исключительной ситуации. Ситуации, которая может произойти. Возможно, даже и не по вине юного робота. Робот же должен учесть все возможные ситуации при написании кода и обработать их. Но наш мир не идеален и даже программы не всегда работают идеально. Именно тогда мы и должны проанализировать возможные последствия и понять, что для нас важнее: чтобы код выполнился до конца или вызвать прерывание работы ошибочного кусочка кода, но дать пользователю исправить ситуацию и продолжить работу.
— Профессор, Вы опять забыли про примеры.
— Ах, да, конечно. Например, мы записывали файл на диск. Пользователь, конечно, выбрал папку для записи файла, но случайно удалил её во время работы программы. Вся наша программа рухнет из-за невнимательности.
Нельзя просто обернуть код в попытку и обезопасить себя от последствий. Также неправильно и маскировать ошибку общими фразами – дальнейший поиск и исправление этого бага вызовет уйму вопросов. Нужно показать максимально информативное сообщение пользователю, чтобы он передал его в службу поддержки. Всё-же, исключительная ситуация – это баг, который нужно исправлять.
4. А ваши транзакции то здесь при чем?
— То есть если в программе что-то может пойти не так, например, при записи файла на диск, обработке web-hook, работе с API, синхронизации с другими базами, записи изменений в справочник или документ, для безопасности я должен обернуть потенциально опасный кусочек кода в Попытку-Исключение, и тем самым пользователь сможет продолжить работу, а мы всегда будем знать, где именно и почему возникает ошибка?
— Да, Амиго, все верно! Кстати, поскольку уж речь зашла о записи объектов баз данных, очень важно не забывать правильно закрывать ваши транзакции:
Специалист компании «Кодерлайн»
Алексей Зятнин
В начале юридического договора, особенно в ИТ области, обычно есть раздел под названием Термины. В нем объясняется — что значит или включает в себя то или иное ИТ слово.
Но кроме действительно сложных слов как сервер или сайт также и обычные, всем известные слова у программистов могут значить совсем другое. Например ошибки. В общечеловеческом смысле это слово означает неправильное действие. Такое, за которое его автору может быть даже стыдно.
В программистом смысле слово ошибки имеет, наверное, два уточнения..
Что означает термин «ошибка» в программировании и в 1С
Ошибка – это поведение программы, отличающееся от задуманного. Каждый компьютер это уникальный комплекс программ и железа, отличающийся от другого компьютера.
Стандартизация как железа, так и программ, позволяет нам предполагать, что на каждом компьютере программы будут работать одинаково, однако по факту всегда могут складываться определенные обстоятельства, когда автор программы будет удивлен почему программа делает сейчас именно так, а не иначе.
Сюда же вероятно можно включить те ситуации, когда программа делает что-то не так, потому что программист о чем-то забыл или недодумал.
Ошибка – это специальное сообщение программы о сложившихся обстоятельствах, когда программа не может сделать так, как предполагалось она будет делать. Возможно покажется, что это то же самое, но это не так.
Например, программист задумывал, что сначала пользователь откроет файл, а потом программа сделает то-то и то-то. Однако когда программа была скопирована пользователю на компьютер и пользователь забыл открыть файл. Или пытался открыть, но файл оказался некорректный или винчестер «битый».
И программа сообщает пользователю: Эй, тут ошибка! Я не могу сделать то, что должна.
Ошибки 1С имеют несколько уровней – во первых сообщения об ошибках 1С могут принадлежать платформе 1С, которая сообщает о невозможности выполнить какие-то действия, которые она должна была выполнить из-за сложившихся обстоятельств.
Второй уровень – это ошибки 1С в программе на языке 1С. Да, платформа выполняет успешно написанную программистом 1С программу, но программа может быть написана некорректно или также не может быть выполнена именно в сложившихся обстоятельствах (на этом компьютере, при таких действиях конкретного пользователя и т.п.).
Третий уровень – это ошибки 1С в данных. Данные в базе данных взаимосвязаны друг с другом. Тем не менее могут встречаются ситуации когда данные «портятся». Например, в одной из форм не стоят достаточные проверки, чтобы особенно креативный пользователь ввел что-то неправильно. Далее программа может сработать неверно, потому что алгоритм не предполагал что кто-то введет такое..
Сообщение об ошибке 1С
1С сообщает об ошибке выполнения программы на языке 1С с помощью типового окошка с текстом ошибки 1С и кнопками ОК и Подробнее.
Причем секрет тут в том, что в этом окошке отображается только краткое сообщение об ошибке 1С, которое зачастую программисту ни о чем не говорит.
Чтобы увидеть полное – нужно нажать на кнопку Подробно. Уже там будет отображена даже строка программы, в которой произошла ошибка 1С. Также можно перейти прямо в конфигуратор к этой строке.
Но пользователи об этом не знают.. И всегда присылают скриншот того первого окошка. Если присылают 🙂

Генерация исключения
Итак, мы рассматриваем ошибку 1С в программировании как способ/возможность программе сообщить пользователю о том, что она не может что-то сделать.
Пример. Нужно открыть файл. Но при открытии возможны ошибки 1С – например у пользователя нет доступа на чтение файла. Мы можем написать так:
Файл = ОткрытьФайл(ИмяФайла);
Если Файл = Ложь Тогда
Сообщить(«Не удалось открыть файл»);
Иначе
//программа идет дальше, делаем что-то с файлом
КонецЕсли;
В данном примере мы учли, что файл может быть не открыт с помощью конструкции «Если».
Однако у данного примера есть очевидные минусы:
- Таких вариантов может быть много (не откроется файл, не прочитается файл до конца, пользователь пьян, выключили электричество..)
- Могут быть неучтенные варианты, про которые программист не подумал.
Поэтому в программировании принято использовать прием под названием «генерировать исключение» — то есть позволить ошибке 1С произойти.
Программа делает вид, что файл в любом случае откроется. Никаких «Если» не пишется. Если же что-то пойдет не так, то программа собственно и сообщит об ошибке 1С – ее выполнение прервется.
1С сама файл не открывает – она вызывает команду Windows API. Windows написана также с использованием этого приема. Таким образом Вы можете представить себе цепочку прерываний выполнения, начинающуюся с Windows:
- Язык 1С – команда открыть файл
- Платформа 1С – команда открыть файл
- Windows API – команда открыть файл
- Программа на ассемблере – команда открыть файл
- Опа! Файл не открывается!
- Программа на ассемблере прервана!
- Функция Windows API прервана!
- Платформа 1С выполнение программы прервано!
- Программа на языке 1С прервана!
- Пользователь видит сообщение.
Вопрос: кто выводит тогда сообщение об ошибке 1С? Откуда оно берется?
Перехват и обработка исключения
Так мы подходим к следующему приему: перехват исключений, сгенерированных во время выполнения этой цепочки.
Исключения переходят с нижнего уровня выполнения наверх, по цепочке. Если последний уровень не обработал исключение – то это сделает предыдущий уровень.
Пример. Обработаем исключение в языке 1С:
Попытка
Файл = ОткрытьФайл(ИмяФайла);
Строка = Файл.Прочитать();
Исключение
Сообщить(«Файл не удалось открыть: не существует или нет прав доступа»);
КонецПопытки;
В этом примере мы обработали самостоятельно исключение (т.е. исключительную ситуацию или ошибку 1С). Таким образом именно мы сообщаем пользователю о произошедшей «ошибке» — невозможности открыть файл.
Когда мы делаем это самостоятельно – мы можем и не сообщать пользователю ничего, а просто пойти по другому варианту выполнения программы.
Легко заметить, что этот способ можно применять в том числе и на случай, когда в каком-то участке кода может произойти «какая-нибудь» ошибка 1С. Мы ее «ловим» и обрабатываем или сообщаем о ней пользователю.
Что будет, если не перехватить и не обработать ошибку 1С на нашем «верхнем» уровне? Тогда о ней сообщит следующий уровень ниже — платформа 1С. Как она это делает, мы только что говорили и смотрели на скриншоте.
Что будет, если платформа не отработает это? Правильно – это обычно отработает более нижний уровень – Windows. В этом случае программа 1С «упадет», а Windows сообщит – программа совершила недопустимую операцию и будет закрыта.
Что будет, если Windows не отработает это? Вы наверняка это видели – компьютер зависнет или перезагрузится.
Вложенный перехват и транзакции
Как Вы думаете, какие сообщения увидит пользователь при выполнении данного примера?
Попытка
Попытка
ф = 1/0;
Исключение
Сообщить("Конкретная ошибка");
КонецПопытки;
Исключение
Сообщить("Общая ошибка");
КонецПопытки;
Верно! Сработает внутренний обработчик и сообщит «Конкретная ошибка», а внешний не сработает.
Однако с точки зрения программы здесь произошла ошибка 1С, хотя она и была отработана. Где-то там у себя в мозгах платформа запомнила – здесь была ошибка 1С.
Это имеет значение для выполнения транзакций. Транзакция – это несколько действий с данными в базе данных, которые должны выполняться только вместе. Как мы понимаем возможно причиной их невыполнения вместе могут быть ошибки 1С. Поэтому существует следующий механизм:
НачатьТранзакцию();
//создали справочник 1, но на самом деле он не записался в базу данных
Спр1.Записать();
//создали справочник 2, но на самом деле он не записался в базу данных
Спр2.Записать();
ЗафиксироватьТранзакцию();
//эта команда записала в базу данных все, что было сделано начиная с ‘НачатьТранзакцию’
Функция ЗафиксироватьТранзакцию() может быть выполнена только в случае, если с момента вызова НачатьТранзакцию() не произошло ни одной ошибки 1С.
Если Вы при написании подобного кода понимаете, что в этой строке кода может быть ошибка 1С – Вы можете поставить ее обработку с помощью Попытка/Исключение. Однако платформа в этом случае все равно учтет, что ошибка 1С произошла и не станет фиксировать транзакцию и записывать данные в базу данных.
Непреднамеренные ошибки 1С
Итак, в программе 1С программистом может быть допущена ошибка 1С. В этом случае платформа 1С сообщит о ней.
В случае, если не удается понять, почему и когда такая ошибка 1С возникает, Вы можете использовать Попытка/Исключение, чтобы обработать ошибку 1С.
Также Попытка/Исключение можно использовать в случае, когда Вы хотели бы создать гарантированно безошибочный участок программы. Вы сможете быть уверены, что если даже ошибка 1С произойдет, то Вы ее отлавливаете и отрабатываете специальным образом.
Преднамеренные ошибки 1С
Вы знаете, что вызываемые функции платформы или Windows могут не сработать в некоторых случаях (например файл не открыться, число не поделиться если делитель равен нулю).
Вы можете в тексте программы делать вид что файл всегда откроется и число всегда поделится. Но использовать Попытка/Исключение как способ переключить программу на другой вариант исправления в случае, если такое произойдет. Или просто сообщить пользователю об ошибке 1С.
Собственный вызов ошибки 1С
Вы можете самостоятельно создавать функции, которые в случае невозможности своего выполнения могут сообщать об этом с помощью генерации исключения.
Это можно сделать вот так:
Функция СделатьЧтото(Параметр)
Если Параметр = Неопределено Тогда
ВызватьИсключение «Ошибка в функции СделатьЧтото. Не указан параметр»;
КонецЕсли;
КонецФункции
Для чего это требуется? В случае, когда Вы создаете функцию, которой будете пользоваться во многих местах, а может будут пользоваться и другие – это красивый способ одновременно убить нескольких зайцев:
- Отработать ошибку 1С
- Сообщить об ошибке 1С на уровень выше (программе, которая вызывала эту функцию)
- Сообщить не только об ошибке 1С, но и текст/подробности
- Гарантированно прервать выполнение не только своей функции, но и всех уровней, если программист писавший их не подумал о том, что такая ошибка 1С может быть и не обработал ее.
Более корректные способы сообщения об ошибке 1С
Обычно когда требуется сообщить что-то пользователю, используются функции Сообщить() или Предупреждение().
Однако в типовых конфигурациях, таких как Бухгалтерия, Управление торговлей, УПП – есть специальная функция:
ОбщегоНазначения.СообщитьОбОшибке(«Текст»);
Ее плюсы:
- Форма сообщения зависит от запущенного клиента
- Записывает сведения в журнал регистрации
- В некоторых конфигурациях реализована более красивая форма сообщения об ошибке 1С.
Анализ ошибок
При работе платформы 1С работает журнал регистрации. Кроме действий пользователя он также сохраняет сведения об ошибках 1С, которые происходили в течении работы платформы 1С.
В конфигураторе выберите пункт меню Администрирование/Журнал регистрации.

Нажмите кнопку Отбор (как на картинке). Установите отбор событий только по ошибкам 1С.

Журнал отобразит список происходивших ошибок. Кликните на строчку, чтобы рассмотреть конкретное сообщение подробнее.

Загрузка…