Ошибки в 1 с программе

Как известно ничего идеального в этом мире нет, в том числе и программ. И 1С в этом плане не исключение. И бывает так, что выполнение кода завершается ошибкой. В этом случае пользователю выдается системное сообщение об ошибке из которого как правило мало что можно понять.
К тому же часто необходимо, чтобы несмотря на возникновение ошибки программа продолжила свою работу. Например, когда мы загружаем в базу 1С большой объем данных (элементы справочников, документы и т.д.) совершенно недопустимо, чтобы в случае сбоя во время загрузки одного элемента у нас остановилась вся дальнейшая загрузка. Так вот для обработки таких исключительных ситуаций предназначена конструкция языка 1С Попытка Исключение. Синтаксис ее следующий:

Рассмотрим все вышесказанное на элементарном примере. Для начала искусственно создадим ситуацию с ошибкой. Сделаем это очень просто — путем деления на ноль.

При выполнении этого кода выводится вот такое системное сообщение об ошибке:

САМЫЕ ПОПУЛЯРНЫЕ ОШИБКИ В 1С, КАК РЕШИТЬ?


А теперь доработаем нашу процедуру с использованием Попытки
В этом случае в момент выполнения деления в окне сообщений появится следующий текст
: Деление на 0

Попытки могут быть вложенными одна в другую. То есть вполне допустимым является следующая конструкция

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

Конечно не стоит злоупотреблять использованием конструкции Попытка Исключение. По сути ее использование целесообразно в следующих случаях

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

2 комментария на «“Обработка исключительных ситуаций”»

Кроме функции ОписаниеОшибки() теперь доступна аналогичная по назначению, но более «продвинутая» ИнформацияОбОшибке().

Источник: professia1c.ru

Как в 1С регистрировать ошибки платформы (бесплатная статья по Программированию в 1С)
из цикла статей «Первые шаги в разработке на 1С»

Эта статья продолжает цикл «Первые шаги в разработке на 1С». Прочитав ее, вы узнаете:

  • Куда обращаться в случае подозрения на ошибку платформы, 1C.EDT и PostgreSQL 1C?
  • Что и как писать в вашем обращении?
  • Где и как посмотреть существующие ошибки?

Применимость

В статье рассматривается порядок регистрации ошибок платформы «1С:Предприятие» 8, 1C.EDT и PostgreSQL 1C. Информация актуальна для текущих релизов указанных продуктов.

Тестирование и исправление ошибок базы 1С

Как в 1С регистрировать ошибки

Сегодня речь пойдет об ошибках. Но не о тех, которые допускают программисты в коде, а об ошибках самой платформы, среды разработки 1C.EDT и отдельной сборки PostgreSQL 1C.

К сожалению, сталкиваясь с ошибками в указанных продуктах, большинство программистов не обращают на них внимания. Они вспоминают 1С недобрым словом, и с мыслями «да они уже в курсе, в следующей версии поправят» продолжают работать. Надеемся, после прочтения статьи таких программистов станет меньше.

В этой статье мы рассмотрим несколько реальных ошибок, примеры обращений в фирму 1С, а также то, как можно отслеживать исправление ошибки.
Примеры будут рассмотрены для мобильной платформы. Впрочем, порядок регистрации для настольной платформы практически не отличается.
Для регистрации ошибок существует три адреса:

При расследовании проблемы, в случае если на демо-базе не удастся воспроизвести ваш проблемный кейс, на данный адрес могут попросить прислать выгрузку базы, на которой наблюдается проблема. Если у вас нет возможности предоставить базу, на которой воспроизводится проблема (не разрешает заказчик, нет доступа к конфигуратору, нет прав, у базы слишком большой размер и т.д.), то максимально подробно смоделируйте вашу ситуацию на демо-базе. Рекомендуем написать очень подробный текстовый сценарий воспроизведения вашей проблемной ситуации со скриншотами. Если есть возможность записать все в формате видео, то запишите – лишним точно не будет!

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

Для отправки писем на этот адрес нужно иметь действующую подписку ИТС.

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

Также не требуется подписка ИТС, поэтому Вы можете свободно регистрировать ошибки, обладая учебной версией платформы. Единственное условие – платформа должна быть тестовой.

Для обращения по этому адресу нужно выполнить следующие действия:

  • Указать версию тестовой платформы. Понять, тестовая версия или нет, можно, просто заглянув на releases.1c.ru и убедившись, что данная версия находится в статусе как версия для ознакомления.
  • Максимально подробно по шагам описать сценарий воспроизведения ошибки. Идеально, если вы запишите это в формате видео. Здесь рекомендуется описывать воспроизведение ошибки так, чтобы человек, который будет пытаться её повторить, сделал бы это без уточняющих вопросов. Если вы работаете в коллективе, попробуйте ваше описание отдать коллеге и понаблюдать, сможет ли он воспроизвести ошибку по вашему сценарию без обращения к вам. Если да – работа сделана! Если нет, то нужно попытаться более качественно подготовить информацию об ошибке. И не забываем, что если в вашем сценарии платформа сваливается в дамп, обязательно отправляйте и его тоже.
  • Указать сведения о рабочем окружении, на котором воспроизводится ошибка: вариант развертывания базы (файловый/клиент-серверный), тип клиента, версию ОС, СУБД, если ошибка по мобильному клиенту/платформе, то название устройства, и т.д.
Читайте также:
Где находится группа команд файл правка вид и т д в окне программы excel

Также отметим, что при регистрации ошибок через любой из этих трех каналов важно соблюдать принцип: «одна ошибка – одно обращение». Не следует в одном письме описывать сразу несколько ошибок, на такое обращение Вы получите отказ.

Кроме того, выше речь шла о платформе, но ровно то же самое справедливо и для 1С:EDT и PostgreSQL 1C. Обращения по указанным каналам регистрируются по тем же самым правилам.

Нам кажется, что будет уместно дать еще один небольшой совет по этой теме в ключе планирования перехода с одной версии платформы на другую.
Допустим, ваш продуктовый контур работает на платформе 8.3.14, а вы планируете в недалеком будущем поднять версию платформы до актуальной. На момент написания этой статьи финальная версия платформы 8.3.16, а версия для ознакомления (тестовая) 8.3.17. На какой версии тестировать переход? На финальной 8.3.16 или на ознакомительной 8.3.17?

Примеры обращений в тех. поддержку 1C

Рассмотрим несколько примеров обращений в тех. поддержку.

Пример 1. В управляемых формах есть возможность группировать элементы на разных страницах. На мобильной платформе это работает в точности, как и на настольной:

Мобильная платформа

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

Вот, как это выглядит на настольной платформе:

Ошибка на настольной платформе

А так – на мобильной:

Ошибка на мобильной платформе

Думаю, ошибка очевидна.

Начнем с подготовки базы. Делается это для того, чтобы не вынуждать сотрудников 1С самих создавать базу и воспроизводить указанную ошибку. Ведь нужно учитывать, что Вы далеко не единственный разработчик, который к ним обращается.

Создаем пустую базу, создаем форму в Общих формах. На форме рисуем простейший пример – 2 страницы с одной кнопкой на каждой из них.

Конфигурация: создание формы

Запускаем базу на мобильном устройстве, делаем скриншоты. Выгружаем базу в dt.

Теперь перейдем к написанию письма. Вот пример моего обращения:

Тема: Мобильная платформа: неверное отображение вкладок

Текст письма:

Мобильная платформа: 8.3.5.52
В мобильной платформе не корректно отображаются страницы с вариантом отображения «Закладки слева». Воспроизводится на Samsung Galaxy S2 и S4.
Во вложении – пример базы, в которой возникает ошибка.

С уважением, Вадим Невзоров

Вложения:
Страницы.dt
Скриншот страниц.jpg

Не забудьте в письме указать версию мобильной платформы. Также не лишним будет указать устройство, на котором воспроизводится ошибка.

Спустя полчаса получаем ответ:

Ответ тех. поддержки 1С

Это означает, что письмо было принято, и сейчас ошибка рассматривается. Спустя 10 минут приходит еще одно сообщение:

Регистрация ошибки в 1С

Отлично, ошибка зарегистрирована! Более того, у нас есть ее номер. Что с ним делать дальше?

На сайте 1С есть специальный раздел «Публикация ошибок» – https://bugboard.v8.1c.ru/ (доступен только тем, у кого есть подписка ИТС). В этом разделе можно отслеживать исправленные и неисправленные ошибки для разных версий настольной и мобильной платформы.

Публикация ошибок на сайте 1С

Например, в предыдущих версиях мобильной платформы на моем телефоне Samsung Galaxy S4 была неприятная ошибка – при попытке сделать фото с помощью метода СредстВамультимедиа.СделатьФотоснимок(), устройство полностью уходило в перезагрузку.

Попробуем найти ошибку по строке «Galaxy S4».

Поиск ошибок на сайте 1С

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

Обратите внимание на ссылки внизу. Первые две предназначены для определения приоритетов – чем больше человек сообщит о важности ее исправления, тем быстрее (теоретически) она будет исправлена.

Ссылка «Включить подписку» нужна для удобного отслеживания ошибки.

Чтобы каждый раз не искать по словам, можно «подписаться» на ошибку, после чего она будет отображаться в разделе «Подписки».

Так этот раздел выглядит в нашем случае:

Подписка на обновление данных публикуемых ошибок

Вернемся к нашей зарегистрированной ошибке. Попробуем найти ее по коду из письма:

Ввод кода ошибки в поиск

Видим, что ошибка с таким номером не найдена. Такое бывает, так как информация об ошибках появляется не сразу.

Причем в некоторых случаях процесс может очень затянуться – приведенная в данном примере ошибка была зарегистрирована 19 мая, однако до сих пор (на момент написания статьи – 10 июля) не выложена на сайт.

Но это просто неудачный пример. В любом случае, рано или поздно ошибка будет опубликована и исправлена.

Рассмотрим еще один пример обращения.

Пример 2. Как известно, в мобильной платформе 8.3.5 добавили средства работы с SMS-сообщениями.

Можно отправлять и получать сообщения, смотреть содержимое, прикрепленные файлы (для MMS) и т.п.

Читайте также:
Правила приема на обучение по программам профессионального обучения

При этом нельзя читать сообщения, хранящиеся в памяти телефона – можно только подписаться на появление новых сообщений, пока работает 1С.

Делается это так:

ПолучательСообщений = Новый ОписаниеОповещения ( «ПолучениеСообщения» , ЭтотОбъект );
СредстваТелефонии.ПодключитьОбработчикSMSСообщений ( ПолучательСообщений );

Метод ПодключитьОбработчикSMSСообщений подключает обработчик ожидания, который срабатывает в момент прихода нового сообщения.

Есть и другой метод – ОтключитьОбработчикSMSСообщений, который выполняет обратное действие.

Проблема только в том, что он не работает – после вызова этого метода, обработчик всё равно продолжает вызываться при получении сообщений.

Создаем простейший пример – форму с двумя кнопками подключения и отключения обработчика SMS-сообщения.

Создание формы в Конфигурации

Исходный код модуля:

Тема: Мобильная платформа: не работает отключение обработчика получения сообщений
Текст письма:

Мобильная платформа: 8.3.5.58
Платформа игнорирует отключения обработчика ожидания для получения смс сообщений. После отключения, при приходе смс обработчик продолжает Вызываться.
Во вложении – пример мобильной БД, в которой возникает ошибка. Воспроизводится на Samsung Galaxy S2 и S4.

С уважением, Вадим Невзоров

Вложения: СМС сообщения – отключение обработчика.dt

Ответ поддержки 1С

Идем на сервис публикации ошибок, ищем нашу ошибку:

Публикация ошибок

Теперь ошибка есть на сайте, и мы можем отслеживать ее статус. В дальнейшем, при выходе следующих версий мобильной платформы, мы сможем отследить, в какой из версий он была исправлена.

Возможно, после прочтения статьи у Вас возникнет вопрос – зачем это все? Ведь у фирмы 1С есть свой отдел тестировщиков, и рано или поздно ошибку выявят и исправят.

Однако, согласитесь, нет ничего сложного в том, чтобы потратить 15 минут на составление письма, которое поможет 1С быстрее исправить недочеты в продукте. И вместе с тем хочется, чтобы данный продукт становился все лучше и лучше.

За день до написания этой статьи вышла новая версия мобильной платформы – и вот результат:

Ошибки Мобильной платформы версии 8.3.5.63

  • Гарантированно ответят специалисты фирмы «1С»
  • Совместно с вами подготовят всю нужную информацию для прояснения и диагностирования ситуации
  • В случае признания ошибки направят ваше обращение разработчикам для исправления ошибки.

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

То есть если вам хочется обсудить какой-то вопрос, с которым вы столкнулись на практике, или поделиться своим опытом или мнением, или найти путь решения проблемы, через обсуждение с коллегами, то форум – это правильное место, где все это можно сделать, т.к. вопросы адресуются ко всем его активным участникам. Именно поэтому такой формат и не предполагает никаких регламентных ответов и регламентной процедуры регистрации ошибок.

Поэтому призываем относиться с пониманием к просьбе сотрудников фирмы «1С» регистрировать сообщения об ошибках не через форум, а через названные выше каналы регистрации. Ну и, конечно, поменьше вам ошибок!

Но никакие ошибки не смогут помешать нам продолжать знакомство с возможностями платформы «1С:Предприятие 8», и в следующей статье мы вернемся к изучению управляемых форм. 🙂

Вадим Невзоров,
г. Одесса

PDF-версия статьи для участников группы ВКонтакте

Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.

Статья в PDF-формате

Вы можете скачать эту статью в формате PDF по следующей ссылке: Ссылка доступна для зарегистрированных пользователей)

Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)

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

Войти на сайт:

Источник: xn—-1-bedvffifm4g.xn--p1ai

Ошибки в 1 с программе

Начало

«

1

»

  • 1С 8 База содержит разделители созданные 1с предприятие 8
    Ошибка в конфигураторе серверной базы 1С: Комплексная автоматизация 8 ред. 2.0 при обновлении:
    Информационная база содержит разделители, созданные 1С:Предприятием 8.2.14.
    Для продолжения работы с информационной базой 1С:Предприятием 8.3.22.1709
    запустите Конфигуратор 8.3.22.1709
    без указания значений разделителей
    от имени пользователя с незаданными значениями разделителей
    в режиме монопольного доступа к информационной базе.
    06-07-2023
  • Ошибка СУБД. Экземпляру ядра СУБД SQL Server не удается получить ресурс LOCK в 1С 8
    Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Экземпляру ядра СУБД SQL Server не удается получить ресурс LOCK в данный момент времени. Запустите инструкцию повторно, когда число активных пользователей уменьшится. Попросите администратора баз данных проверить конфигурацию блокировки и памяти для данного экземпляра либо выполнить проверку давно выполняющихся транзакций. HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=4, Severity=13, native=1204, line=1
    29-06-2023
  • 1с 8 Рарус Ошибка при инициализации компоненты лицензирования Не найден файл внешней компоненты
    Полный пример текста ошибки: Ошибка при инициализации компоненты лицензирования : Ошибка при вызове метода контекста (ПодключитьКомпоненту): Не найден файл внешней компоненты
    28-04-2023
  • 1с 8 Дополнительные процедуры обработки данных не выполняются, т.к. отключено регламентное задание Отложенное обновление.
    Может так получиться, что после обновления конфигурации базы данных процедуры и функции после него, которые выполняются в базе в режиме 1С:Предприятие не будут запущены. При просмотре результатов обновление можно увидеть сообщение: Дополнительные процедуры обработки данных не выполняются, т.к. отключено регламентное задание Отложенное обновление. Рассмотри такой пример, который может произойти в любой типовой базе 1С 8
    05-04-2023
  • Inpas Dual Connector: Эквайринговая система: Не удалось загрузить драйвер торгового оборудования. Необходимо проверить корректность установки драйвера.
    Эквайринговый терминал внезапно перестал работать в связке с 1С 8 УТ 10.3. Хотя до этого работал стабильно и накануне не было каких-либо изменений в базе. Стала возникать ошибка при попытке работы с терминалом: Inpas Dual Connector: Эквайринговая система: Не удалось загрузить драйвер торгового оборудования. Необходимо проверить корректность установки драйвера. Произошла ошибка при подключении торгового оборудования.
    01-03-2023
  • Консоль управления (ММС) не может создать оснастку 1С 8
    Ошибка при открытии консоли «Администрирования серверов 1С Предприятие 8»: Консоль управления (ММС) не может создать оснастку
    22-02-2023
  • Ошибка при закрытии смены 73h, Команда не поддерживается в данном режиме (Закрытая смена)
    Ошибка при попытке закрыть кассовую смену в 1С 8: 73h, Команда не поддерживается в данном режиме (Закрытая смена).
    02-02-2023
  • 1C 8 При обращении к торговому оборудованию возникла ошибка FFFFFFFFh, Нет связи при закрытии смены, печати чека
    Ошибка в базе 1c 8 FFFFFFFFh, Нет связи стала возникать после аварийного завершения работы из-за отключения электричества. Стала возникать при попытке печати чека или закрытия смены (смена была уже ранее открыта). При этом тестирования подключения выдавало успешный результат проверки. ККТ подключено к УТ 10.3 в удаленном рабочем столе.
    19-01-2023
  • 1С 8 Ошибка ККТ 14h, Ограничение ресурса ФН
    Ошибка возникла при работе с ККТ Штрих-М в базе конфигурации 1С УТ 10.3 при попытке печати чека и закрытии смены.
    19-01-2023
  • 1C 8 Нарушена структура платежного документа, строка: НДС не облагается
    При попытке прочитать содержимое файла выгрузки из банка «kl_to_1c.txt» в обработке клиент-банк в 1С 8 возникает ошибка «Нарушена структура платежного документа, строка 442 : НДС не облагается.»
    10-01-2023
  • 1С 8 Ошибка при обновлении «Записи регистра сведений стали неуникальными: СостоянияПоОбъектамУчетаЭДО»
    Ошибка на этапе реорганизации инфомрации при обновлении базы конфигурации 1С 8 Комплексная автоматизация 2.0 с релиза 2.5.8.303 на релиз 2.5.9.125: «Записи регистра сведений стали неуникальными: СостоянияПоОбъектамУчетаЭДО»
    04-01-2023
  • 1С 8 Inpas Daul Connector: Эквайринговая система: Не удалось загрузить драйвер торгового оборудования. Необходимо проверить корректность установки драйвера.
    После обновления платформы 1С Предприятие 8.3 в удаленном рабочем столе перестал работать из базы терминал приема оплат по картам PAX: Произошла ошибка при подключении торгового оборудования Inpas Daul Connector: Эквайринговая система: Не удалось загрузить драйвер торгового оборудования. Необходимо проверить корректность установки драйвера.
    12-12-2022
  • Ошибка при обновлении 1С 8 КА 2 с подредакции 2.5.8 на 2.5.9: Недопустимое значение параметра (параметр номер ‘1’) (Колонка не принадлежит коллекции). :ЗаполнитьСловарьСопоставленияН
    «Проблема с обработчиками» была встречена при выполнении обработчиков обновления базы Комплексная автоматизация с релиза подредакции 2.5.8.287 на релиз подредакции 2.5.9.119. «Не все процедуры удалось выполнить» из дополнительных процедур обработки данных. Стандартный способ решения, предлагаемый разработчиками, не помог.
    05-12-2022
  • 1C 8 Не печатается чек ККМ. 33h, Ошибка отправки тега 1256: Некорректные параметры в команде
    Ошибка при попытке распечать чек на ККМ из 1С 8. В частности возникла в конфигурации 1С: Управление торговлей, ред. 10.3 (релиз 10.3.71) на платформе 8.3.18.1289.
    01-12-2022
  • 1С 8 «К сожалению, возникла непредвиденная ошибка или сеанс был завершен администратором»
    Ошибка в 1С 8 «К сожалению, возникла непредвиденная ошибка или сеанс был завершен администратором. Для продолжения работы необходимо перезапустить приложение» стала возникать после обновления релиза платформы в сеансах работы пользователей 1С как в режиме «Предприятие», так и в режиме «Конфигуратор».
    16-11-2022
  • 1C 8 «Неправомерное использование программного продукта. Вы стали жертвой подделки. «
    Внезапно в период 15-16 ноября 2022 после обновления платформ пользователи и специалисты 1С 8 стали получать ошибки при запуске программы «»Неправомерное использование программного продукта. Вы стали жертвой подделки программного обеспечения» с отсутствием дальнейшей возможности работы.
    16-11-2022
  • Ошибка при вызове метода контекста (Подключиться): Аутентификация не прошла (SMTP error code 535 5.7.0 NEOBHODIM parol prilozheniya https://help.mail.ru/mail/security/protection/external / Application password is REQUIRED )
    Ошибка в 1С 8 при поптыке подключиться к почтовому серверу mail.ru: Аутентификация не прошла (SMTP error code 535 5.7.0 NEOBHODIM parol prilozheniya https://help.mail.ru/mail/security/protection/external / Application password is REQUIRED )
    01-11-2022
  • Ошибка при авторизации в 1С.Маркировка МДПЛ по сертификату: при выполнении POST-запроса по адресу /api/v1/auth, error_code, api.authentication.error, error_description. Проверьте аутентификационные данные
    При попытке выполнить авторизацию на api-сервер Маркировки из модуля МДЛП в 1С 8:
    Ошибка при выполнении POST-запроса по адресу /api/v1/auth
    [400] Запрос не может быть исполнен.
    выполнении операции: Проверьте аутентификационные данные»>
    20-09-2022
  • 1C 8 Ошибка доступа к файлу v8srvr://Server1C/ /ConfigSave
    Ошибка возникла в процессе при попытке обновления релиза базы 1С 8:
    Ошибка доступа к файлу ‘v8srvr://Server1C/BP_2.0/ConfigSave’
    по причине:
    Ошибка доступа к файлу
    11-08-2022
  • Ошибка в 1С 8. Ошибка при получении значения атрибута контекста (ОсновнаяРоль), Недопустимо использование свойства ОсновнаяРоль
    Проблема стала возникать после того, как в серверную базу УТ 10.3 был добавлен функционал Библиотеки МДЛП. Ошибка не проявляла себя явно при работе в режиме 1С: Предприятие, но негативно влияла на выполнение некоторых регламентных заданий, так что они аварийно прерывались.
    21-07-2022
Читайте также:
Как сделать программу на php devel studio

Начало

Источник: xn—-7sbs4bgj.xn--p1ai

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru