Обработка отображения ошибки 1с

10.01.2020

10.01.2020

Развитие механизма отображения ошибок

Данная статья является анонсом новой функциональности.

Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.


Полное описание новой функциональности будет приведено в документации к соответствующей версии.


Полный список изменений в новой версии приводится в файле v8Update.htm.

Реализовано в версии 8.3.17.1091

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

img-01.png

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

  • Конечные пользователи: если произошла ошибка — мы хотим показать пользователю подсказку для исправления ошибки (если пользователь может ее исправить сам) или предоставить пользователю удобный способ сообщить об ошибке специалистам (в техподдержку и т.п.).

  • Прикладные разработчики: мы хотим дать прикладным разработчикам возможность обрабатывать все ошибки, возникающие в приложении, и показывать пользователям полезную для них информацию.

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

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

Для всех

Мы разделили ошибки по категориям:

  • НарушениеПравДоступа

  • ОшибкаДоступаКЛокальномуФайлу

  • ОшибкаСети

  • ОшибкаРаботыСПринтером

  • ОшибкаКомпиляцииВстроенногоЯзыка

  • ОшибкаВоВремяВыполненияВстроенногоЯзыка

  • ОшибкаИспользованияВстроенногоЯзыка

  • ИсключениеВызванноеИзВстроенногоЯзыка

  • ОшибкаСистемыВзаимодействия

  • ОшибкаНастроекКомпоновкиДанных

  • ОшибкаСеанса

  • ОшибкаХранимыхДанных

  • ПрочаяОшибка

Как категоризация ошибок будет полезна различным целевым группам – смотрите ниже.

Для конечных пользователей

Изменен внешний вид формы сообщения об ошибке; в частности, в зависимости от категории ошибки показывается соответствующая иконка и текст:
img-02.png

Для прикладных разработчиков

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

У объекта ИнформацияОбОшибке есть метод ЯвляетсяОшибкойКатегории(). Одна ошибка может одновременно принадлежать к нескольким категориям.

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

У глобального контекста добавлено свойство ОбработкаОшибок нового типа МенеджерОбработкиОшибок. МенеджерОбработкиОшибок предоставляет доступ к функциям для обработки ошибок. В частности, у него есть методы:

  • ПредставлениеОшибкиДляПользователя(<ИнформацияОбОшибке>) — возвращает текст ошибки, понятный пользователю (в виде форматированной строки).

  • СообщениеОбОшибкеДляПользователя(<ИнформацияОбОшибке>) — возвращает текст сообщения, которое рекомендуется показать пользователю (в виде форматированной строки). Текст содержит информацию о произошедшей ошибке и инструкцию по ее возможному исправлению.

Доступна как программная возможность формирования отчета об ошибке, так и интерактивная, из формы ошибки. Программно можно добавлять в отчет свои вложения и объекты. Отчет об ошибке можно сохранить на диск. Если в форме «Управление настройками ошибок» задан адрес сервиса регистрации ошибок – отчет можно отправить в этот сервис.

img-04.png

Сервис регистрации ошибок – внешний по отношению к платформе компонент, представляющий собой набор НТТР-сервисов с определенными интерфейсами и может быть реализован с помощью любой подходящей технологии. В состав платформы «1С:Предприятие» версии 8.3.17 войдет пример реализации сервиса регистрации ошибок на платформе «1С:Предприятие».

Для администраторов

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

Администратор же системы может декларативно настраивать тексты и другие моменты отображения ошибок в режиме предприятия (устанавливая настройки в информационной базе). Есть готовая форма для декларативной настройки шаблонов сообщений об ошибках; она вызывается в приложении через системное меню, пункт «Функции для технического специалиста» (бывший «Все функции», подробнее о его переименовании здесь), раздел «Стандартные».

Форма «Управление настройками ошибок»:

img-05.png

Настройки, в частности, позволяют делать сообщения об ошибках более понятными и полезными для пользователя:

img-06.png

Также есть возможность отправлять отчеты об аварийном завершении работы приложения в сервис регистрации ошибок платформы фирмы 1С.

Теги:
8.3.17 

Развитие Механизма отображения ошибок

Новости > Инсайд новости платформы 1С8

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

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

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

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

Для всех

Фирма 1С разделила ошибки по категориям:

  1. НарушениеПравДоступа
  2. ОшибкаДоступаКЛокальномуФайлу
  3. ОшибкаСети
  4. ОшибкаРаботыСПринтером
  5. ОшибкаКомпиляцииВстроенногоЯзыка
  6. ОшибкаВоВремяВыполненияВстроенногоЯзыка
  7. ОшибкаИспользованияВстроенногоЯзыка
  8. ИсключениеВызванноеИзВстроенногоЯзыка
  9. ОшибкаСистемыВзаимодействия
  10. ОшибкаНастроекКомпоновкиДанных
  11. ОшибкаСеанса
  12. ОшибкаХранимыхДанных
  13. ПрочаяОшибка

Как категоризация ошибок будет полезна различным целевым группам – смотрите ниже.

Для конечных пользователей

Изменен внешний вид формы сообщения об ошибке; в частности, в зависимости от категории ошибки показывается соответствующая иконка и текст:

Для прикладных разработчиков

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

У объекта ИнформацияОбОшибке есть метод ЯвляетсяОшибкойКатегории(). Одна ошибка может одновременно принадлежать к нескольким категориям.

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

У глобального контекста добавлено свойство ОбработкаОшибок нового типа МенеджерОбработкиОшибок. МенеджерОбработкиОшибок предоставляет доступ к функциям для обработки ошибок. В частности, у него есть методы:

1. ПредставлениеОшибкиДляПользователя(<ИнформацияОбОшибке>) — возвращает текст ошибки, понятный пользователю (в виде форматированной строки).

2. СообщениеОбОшибкеДляПользователя(<ИнформацияОбОшибке>) — возвращает текст сообщения, которое рекомендуется показать пользователю (в виде форматированной строки). Текст содержит информацию о произошедшей ошибке и инструкцию по ее возможному исправлению.

Доступна как программная возможность формирования отчета об ошибке, так и интерактивная, из формы ошибки. Программно можно добавлять в отчет свои вложения и объекты. Отчет об ошибке можно сохранить на диск. Если в форме «Управление настройками ошибок» задан адрес сервиса регистрации ошибок – отчет можно отправить в этот сервис.

Сервис регистрации ошибок – внешний по отношению к платформе компонент, представляющий собой набор НТТР-сервисов с определенными интерфейсами и может быть реализован с помощью любой подходящей технологии. В состав платформы «1С:Предприятие» версии 8.3.17 войдет пример реализации сервиса регистрации ошибок на платформе «1С:Предприятие».

Для администраторов

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

Администратор же системы может декларативно настраивать тексты и другие моменты отображения ошибок в режиме предприятия (устанавливая настройки в информационной базе). Есть готовая форма для декларативной настройки шаблонов сообщений об ошибках; она вызывается в приложении через системное меню, пункт «Функции для технического специалиста» (бывший «Все функции», подробнее о его переименовании здесь), раздел «Стандартные».

Форма «Управление настройками ошибок»:

Настройки, в частности, позволяют делать сообщения об ошибках более понятными и полезными для пользователя:

Также есть возможность отправлять отчеты об аварийном завершении работы приложения в сервис регистрации ошибок платформы фирмы 1С.

Если Вы хотите заказать абонентское обслуживание или прочие услуги Вашей 1С. Пожалуйста, ознакомьтесь с прайс-листом и оформите заявку через контактную форму.

Copyright©, «Программист 1С в г.Минске», 10.01.2020

Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник

ОписаниеОповещения — объект встроенного языка 1С:Предприятия, указывающий на процедуру, в которой будет продолжено исполнение кода при наступлении определенного события.

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

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

Основным инструментом отказа от модальности стало ОписаниеОповещения.

Содержание

  1. Как работает ОписаниеОповещения
  2. Синтаксис
  3. Вызываемая процедура и её параметры
  4. Выполнение обработки оповещения
  5. Работа на сервере
  6. Возможные ошибки
  7. Не найден экспортируемый метод
  8. Количество параметров 1. Ожидаемое количество – 2
  9. Примеры использования ОписаниеОповещения
  10. Оповещение о закрытии формы
  11. Ввод значений и предупреждения
  12. Проверка существования файла и передача описания оповещения через дополнительные параметры

Как работает ОписаниеОповещения

Для начала разберем как работает платформа с модальными окнами на примере метода Вопрос(). Напишем не хитрый код, в котором пользователю показывается диалог с вопросом и вариантами ответа Да и Нет.

Процедура ВыполнитьКоманду(Команда)
	
    Ответ = Вопрос("Табличная часть будет очищена. Продолжить?", РежимДиалогаВопрос.ДаНет);
	
    Если Ответ = КодВозвратаДиалога.Нет Тогда	 
        Возврат;
    КонецЕсли;
	
    // Алгоритм заполнения
	
КонецПроцедуры

В данном случае пользователю будет показан диалог, а работа клиентской части будет полностью приостановлена до момента, пока пользователь не ответит на вопрос.

Диалог с ОписаниеОповещения

Тогда результат поместится в переменную Ответ и только после этого работа клиентской части будет возобновлена для выполнения алгоритма заполнения.

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

&НаКлиенте
Процедура ВыполнитьКоманду(Команда)
	
    Оповещение = Новый ОписаниеОповещения("ОбработатьОтветПользователя", ЭтаФорма);
	
    ПоказатьВопрос(Оповещение, "Табличная часть будет очищена. Продолжить?", РежимДиалогаВопрос.ДаНет);
	
    // Дальнейший алгоритм
	
КонецПроцедуры

&НаКлиенте
Процедура ОбработатьОтветПользователя(Ответ, ДополнительныеПараметры) Экспорт 
	
    Если Ответ = КодВозвратаДиалога.Нет Тогда	 
        Возврат;
    КонецЕсли;
	
    // Алгоритм заполнения
	
КонецПроцедуры	

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

После ответа пользователя будет вызвана процедура ОбработатьОтветПользователя(), которую мы указали в конструкторе ОписаниеПоповещения и только тогда будет выполнен алгоритм заполнения.

Описание функционала от разработчиков на ИТС

Синтаксис

Конструктор ОписаниеОповещения имеет 5 необязательных параметров:

Новый ОписаниеОповещения(<ИмяПроцедуры>, <Модуль>, <ДополнительныеПараметры>, <ИмяПроцедурыОбработкиОшибки>, <МодульОбработкиОшибки>)

ИмяПроцедуры — Имя экспортируемой процедуры, которая будет вызвана;

Модуль — Модуль в котором расположена вызываемая процедура. Могут быть указаны Форма, Общий модуль, Команда командного интерфейса;

ДополнительныеПараметры — Произвольное значение, которое будет передано в вызываемую процедуру последним параметром;

ИмяПроцедурыОбработкиОшибки — Имя экспортируемой процедуры, которая будет вызвана в случае ошибки;

МодульОбработкиОшибки — Модуль в котором расположена вызываемая процедура в случае ошибки. Могут быть указаны Форма, Общий модуль, Команда командного интерфейса.

Вызываемая процедура и её параметры

Вызываемая процедура должна быть экспортируемой, и в самом простом случае содержать два параметра Результат и ДополнительныеПараметры.

&НаКлиенте
Процедура ПроцедураОбработкиОповещения(Результат, ДополнительныеПараметры) Экспорт 
	
    Если Результат = Неопределено Тогда 
        Возврат;
    КонецЕсли;
	
    // Код для обработки результата
	
КонецПроцедуры

В зависимости от объекта в котором используется ОписаниеОпопвещения, количество параметров вызываемой процедуры может меняться.

Например вызываемая процедура для обработки оповещения метода глобального контекста НачатьПомещениеФайла() должна иметь 4 параметра.

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

Выполнение обработки оповещения

В платформе реализован метод  ВыполнитьОбработкуОповещения(), для возможности непосредственного выполнения обработки оповещения.

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

&НаКлиенте
Процедура ВыполнениеОписанияОповещения(Команда)
	
    Оповещение = Новый ОписаниеОповещения("ОбработатьОтветПользователя", ЭтаФорма);
    ВыполнитьОбработкуОповещения(Оповещение, КодВозвратаДиалога.Да); 
	
КонецПроцедуры

&НаКлиенте
Процедура ОбработатьОтветПользователя(Ответ, ДополнительныеПараметры) Экспорт 
	
    Если Ответ = КодВозвратаДиалога.Нет Тогда	 
        Возврат;
    КонецЕсли;
	
    // Алгоритм заполнения
	
КонецПроцедуры

Работа на сервере

ОписаниеОповещения не доступно на сервере, но в качестве исполняемой процедуры можно указать серверный метод. В справке нет явного указания о данной возможности, но и противоречий нет.

&НаКлиенте
Процедура ОбрабокаЗакрытияФормы(Команда)
		
    Оповещение = Новый ОписаниеОповещения("ПослеПодбора", ЭтаФорма);
    ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", , ЭтаФорма, , , , Оповещение);

КонецПроцедуры

&НаСервере
Процедура ПослеПодбора(РезультатЗакрытия, ДополнительныеПараметры) Экспорт 
		
    Если Не РезультатЗакрытия = Неопределено Тогда 
	Возврат;
    КонецЕсли;	
	
// Обработка результата выбора
	
КонецПроцедуры

Возможные ошибки

Не найден экспортируемый метод

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

Не найден экспортируемый метод

Количество параметров 1. Ожидаемое количество – 2

Если вызываемая процедура будет объявлена с одним параметром, то при исполнении будет вызвано исключение. Решается добавлением второго параметра в вызываемую процедуру.

Количество параметров 1. Ожидаемое количество – 2

Примеры использования ОписаниеОповещения

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

Оповещение о закрытии формы

Реализуем функционал открытия формы подбора с дальнейшей обработкой результата

&НаКлиенте
Процедура Подбор(Команда)
	
    // Параметры для работы подбора
    ПараметрыПодбора = Новый Структура;
    ПараметрыПодбора.Вставить("Параметр1", Истина);
    ПараметрыПодбора.Вставить("Параметр2", Ложь);
	
    // Опишем процедуру, которая будет вызвана после подбора
    Оповещение	= Новый ОписаниеОповещения("ПослеПодбора", ЭтаФорма);
	
    // Заблокируем форму владельца
    РежимОткрытия	= РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
	
    ОткрытьФорму("Справочник.Номенклатура.Форма.ФормаПодбора", ПараметрыПодбора, ЭтаФорма, , , , Оповещение, РежимОткрытия);
	
КонецПроцедуры

&НаКлиенте
Процедура ПослеПодбора(РезультатЗакрытия, ДополнительныеПараметры) Экспорт 
	
    Если РезультатЗакрытия = Неопределено Тогда 
	Возврат;
    КонецЕсли;
	
    // Код для обработки результата подбора
	
КонецПроцедуры

Ввод значений и предупреждения

Реализуем функционал ввода числа. После ввода выполним проверку на четность введенного числи, если число не четное выведем предупреждение

&НаКлиенте
Процедура ВвестиЧетноеЧисло(Команда)

    Оповещение	= Новый ОписаниеОповещения("ПослеВводаЧисла", ЭтаФорма);
    Подсказка	= "Введите четное число";
    ПоказатьВводЧисла(Оповещение, , Подсказка);
	
КонецПроцедуры

&НаКлиенте
Процедура ПослеВводаЧисла(ВведенноеЧисло, ДополнительныеПараметры) Экспорт 

    // Если пользователь откажется от ввода вернется Неопределено	
    Если ВведенноеЧисло = Неопределено Тогда	 
        Возврат;
    КонецЕсли;
	
    ЧислоЧетное = ВведенноеЧисло % 2 = 0;
	
    Если Не ЧислоЧетное Тогда
        // Первый параметр не обязателен. Если не надо обрабатывать
        // завершение предупреждения просто не заполняем 
	ПоказатьПредупреждение( , "Введено не четное число");
    КонецЕсли;	
	
КонецПроцедуры

Проверка существования файла и передача описания оповещения через дополнительные параметры

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

Разработаем функционал проверки существования файла. В модуле реализована процедура для централизованной обработки ошибок ОповеститьОбОшибке(), будем передавать ОписаниеОповещения об ошибке через дополнительные параметры.

&НаКлиенте
Процедура ПрочитатьФайл(Команда)
	
	ПутьКФайлу = ПутьКФайлуФлагу();
	
	// Оповещение для обработки ошибки
	ОповещениеОбОшибке = Новый ОписаниеОповещения("ОповеститьОбОшибке", ЭтаФорма);
	
	// Оповещение проверки существоания файла
	// с передачей оповещения об ошибке через дополнительные параметры
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("ОповещениеОбОшибке", ОповещениеОбОшибке);
	
	ОповещениеПроверки = Новый ОписаниеОповещения("ПослеПроверкиСуществованияФайла", ЭтаФорма, ДополнительныеПараметры);
	
	// ПРоверка существования файла
	Файл = Новый Файл(ПутьКФайлу);
	Файл.НачатьПроверкуСуществования(ОповещениеПроверки);
		
КонецПроцедуры

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

&НаКлиенте
Процедура ПослеПроверкиСуществованияФайла(Существует, ДополнительныеПараметры) Экспорт 
	
    Если Не Существует Тогда 
		
	Если ДополнительныеПараметры.Свойство("ОповещениеОбОшибке") Тогда 
			
		ТекстОшибки = "Файл не существует!";
		ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОповещениеОбОшибке, ТекстОшибки);
			
	КонецЕсли;	
		
	Возврат;
		
    КонецЕсли;
	
    // Код для дальнейшей обработки файла
	
КонецПроцедуры

Процедура для централизованной обработки ошибок

&НаКлиенте
Процедура ОповеститьОбОшибке(ТекстОшибки, ДополнительныеПараметры) Экспорт 
	
    // Сообщим об ошибке
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = ТекстОшибки;
    Сообщение.Сообщить();

    // Код для дальнейшей обработки ошибки
	
КонецПроцедуры

О чем эта статья

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

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

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

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

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

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

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

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

  • v8@1c.ru
  • testplatform@1c.ru
  • betaplatform@1c.ru

Первый адрес – v8@1c.ru. Это первая линия поддержки и консультаций по продуктам. Также используется для вопросов по типовым решениям, лицензированию и т.п. Важно отметить, что все продукты, по которым принимаются обращения на этот адрес, должны иметь статус финальных. Кроме того, перед обращением следует проверить, не была ли зарегистрирована данная ошибка ранее.

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

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

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

Второй адрес – testplatform@1c.ru. Представляет куда больший интерес. Он предназначен только для регистрации обращений, связанный с тестовыми версиями платформы (ошибки в финальных версиях, не воспроизводящиеся в крайних тестовых версиях также не регистрируются).

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

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

Следует отметить, что в отличие от v8@1c.ru, по данному адресу не предоставляются никакие консультации, а также не принимаются ошибки типовых конфигурации, если они не являются ошибками платформы.

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

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

Третий адрес, betaplatform@1c.ru, следует использовать при обнаружении ошибки в предварительной бета-версии продукта, до выпуска тестового релиза. Как правило, этот адрес используется для конструктивной обратной связи по новому функционалу бета-продукта.

Правила обращения на указанный адрес аналогичны обращениям на testplatform@1c.ru с возможным указанием каких-то неудобств в продукте, отсутствующей на ваш взгляд функциональности, сценариев работы и т.д.

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

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

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

Правильнее, с нашей точки зрения, для тестирования перехода использовать именно ознакомительный старший тестовый релиз 8.3.17 и вот почему. Ваше тестирование на реальных данных, на реальных рабочих кейсах, возможно, выявит какие-то проблемные кейсы, о которых вы хотели бы сообщить отделу разработки. В этом случае, как описано выше, вы отправляете обращение на testplatform@1c.ru. Если проблема подтвердится, то с большой долей вероятности можно утверждать, что в финальной версии 8.3.17, она уже будет исправлена.

Если же вы будете тестировать переход на финальной 8.3.16, то эти же самые действия вы будете делать позже, при переходе на финальную 8.3.17, но время реакции на ваше обращение, скорее всего, будет выше, т.к. зарегистрировать обращение через testplatform@1c.ru уже не получится и вы будете ждать вашей очереди на v8@1c.ru, оставаясь при этом на версии 8.3.16.

Примеры обращений в тех. поддержку 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С

Страница «Поиск ошибок» предназначения для удобного поиска нужной ошибки. Ошибки можно искать по коду, номеру обращения (если обращение было через адрес v8@1c.ru) и по словесному описанию.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

&НаКлиенте
Процедура ПодключитьОбработчик(Команда)
ОП = Новый ОписаниеОповещения(“ПолученоСообщение”, ЭтаФорма);
СредстваТелефонии.ПодключитьОбработчикSMSСообщений(ОП);
КонецПроцедуры

&НаКлиенте
Процедура ОтключитьОбработчик(Команда)
ОП = Новый ОписаниеОповещения(“ПолученоСообщение”, ЭтаФорма);
СредстваТелефонии.ОтключитьОбработчикSMSСообщений(ОП);
КонецПроцедуры

&НаКлиенте
Процедура ПолученоСообщение(Сообщение, Параметры) Экспорт
Предупреждение(Сообщение.Текст);
КонецПроцедуры

Пишем письмо:

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

Добрый день!

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

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

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

Получаем ответ:

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

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

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

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

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

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

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

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

В заключение отметим, что существует официальная партнерская конференция, в которую имеют доступ сотрудники фирм франчайзи и другие специалисты. Часто начинающие разработчики и их старшие коллеги пытаются зарегистрировать ошибку, создавая пост в данной конференции. Но по правилам данный форум не является ресурсом для разбора и регистрации ошибок. Поэтому для детального расследования ошибки, как мы и писали ранее, свое сообщение следует отправлять в службу технической поддержки пользователей на электронную почту v8@1c.ru. Только в этом случае вам:

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

Иногда специалисты фирмы 1С могут зарегистрировать ошибку на основе обсуждений темы в форуме. Но данная регистрация, во-первых, не гарантирована и нигде не регламентирована, во-вторых, если такая ошибка и будет зарегистрирована, то она считается внутренней и не будет опубликована на соответствующем баг-трекере и вы не сможете отслеживать по ней информацию. Поэтому для расследования ошибки свое сообщение лучше и правильнее отправлять на v8@1c.ru.

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

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

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

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

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

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

Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.

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

Статья по программированию - в PDF-формате

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

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

Понравилась статья? Поделить с друзьями:
  • Обработка запроса провалилась ошибка на этапе обработки документа системой
  • Обоснование исправления реестровой ошибки границ земельного участка
  • Оборудование для сброса ошибок на автомобиле
  • Оборудование для проверки ошибок на автомобиле
  • Оболочка вне зоны ошибка сварка оптики