Как отправить ошибку в 1с
Эта статья продолжает цикл «Первые шаги в разработке на 1С». Прочитав ее, вы узнаете:
- Куда обращаться в случае подозрения на ошибку платформы, 1C.EDT и PostgreSQL 1C?
- Что и как писать в вашем обращении?
- Где и как посмотреть существующие ошибки?
Применимость
В статье рассматривается порядок регистрации ошибок платформы «1С:Предприятие» 8, 1C.EDT и PostgreSQL 1C. Информация актуальна для текущих релизов указанных продуктов.
Как в 1С регистрировать ошибки
Сегодня речь пойдет об ошибках. Но не о тех, которые допускают программисты в коде, а об ошибках самой платформы, среды разработки 1C.EDT и отдельной сборки PostgreSQL 1C.
К сожалению, сталкиваясь с ошибками в указанных продуктах, большинство программистов не обращают на них внимания. Они вспоминают 1С недобрым словом, и с мыслями «да они уже в курсе, в следующей версии поправят» продолжают работать. Надеемся, после прочтения статьи таких программистов станет меньше.
В этой статье мы рассмотрим несколько реальных ошибок, примеры обращений в фирму 1С, а также то, как можно отслеживать исправление ошибки.
Примеры будут рассмотрены для мобильной платформы. Впрочем, порядок регистрации для настольной платформы практически не отличается.
Для регистрации ошибок существует три адреса:
Для отправки писем на этот адрес нужно иметь действующую подписку ИТС.
Скорость ответа через данный канал на порядок выше – на письмо, отправленное в будний день, в течение часа приходит ответ и регистрируется ошибка.
Для обращения по этому адресу нужно выполнить следующие действия:
Также отметим, что при регистрации ошибок через любой из этих трех каналов важно соблюдать принцип: «одна ошибка – одно обращение». Не следует в одном письме описывать сразу несколько ошибок, на такое обращение Вы получите отказ.
Кроме того, выше речь шла о платформе, но ровно то же самое справедливо и для 1С:EDT и PostgreSQL 1C. Обращения по указанным каналам регистрируются по тем же самым правилам.
Нам кажется, что будет уместно дать еще один небольшой совет по этой теме в ключе планирования перехода с одной версии платформы на другую.
Допустим, ваш продуктовый контур работает на платформе 8.3.14, а вы планируете в недалеком будущем поднять версию платформы до актуальной. На момент написания этой статьи финальная версия платформы 8.3.16, а версия для ознакомления (тестовая) 8.3.17. На какой версии тестировать переход? На финальной 8.3.16 или на ознакомительной 8.3.17?
Примеры обращений в тех. поддержку 1C
Рассмотрим несколько примеров обращений в тех. поддержку.
Пример 1. В управляемых формах есть возможность группировать элементы на разных страницах. На мобильной платформе это работает в точности, как и на настольной:
На скриншоте заголовки страниц размещены сверху. Однако если разместить их, например, слева, то начинаются проблемы.
Вот, как это выглядит на настольной платформе:
А так – на мобильной:
Думаю, ошибка очевидна.
Начнем с подготовки базы. Делается это для того, чтобы не вынуждать сотрудников 1С самих создавать базу и воспроизводить указанную ошибку. Ведь нужно учитывать, что Вы далеко не единственный разработчик, который к ним обращается.
Создаем пустую базу, создаем форму в Общих формах. На форме рисуем простейший пример – 2 страницы с одной кнопкой на каждой из них.
Запускаем базу на мобильном устройстве, делаем скриншоты. Выгружаем базу в dt.
Теперь перейдем к написанию письма. Вот пример моего обращения:
Тема: Мобильная платформа: неверное отображение вкладок
Текст письма:
Не забудьте в письме указать версию мобильной платформы. Также не лишним будет указать устройство, на котором воспроизводится ошибка.
Спустя полчаса получаем ответ:
Например, в предыдущих версиях мобильной платформы на моем телефоне Samsung Galaxy S4 была неприятная ошибка – при попытке сделать фото с помощью метода СредстВамультимедиа.СделатьФотоснимок(), устройство полностью уходило в перезагрузку.
Попробуем найти ошибку по строке «Galaxy S4».
Обратите внимание на ссылки внизу. Первые две предназначены для определения приоритетов – чем больше человек сообщит о важности ее исправления, тем быстрее (теоретически) она будет исправлена.
Ссылка «Включить подписку» нужна для удобного отслеживания ошибки.
Чтобы каждый раз не искать по словам, можно «подписаться» на ошибку, после чего она будет отображаться в разделе «Подписки».
Так этот раздел выглядит в нашем случае:
Видим, что ошибка с таким номером не найдена. Такое бывает, так как информация об ошибках появляется не сразу.
Но это просто неудачный пример. В любом случае, рано или поздно ошибка будет опубликована и исправлена.
Рассмотрим еще один пример обращения.
Делается это так:
Исходный код модуля:
Идем на сервис публикации ошибок, ищем нашу ошибку:
Теперь ошибка есть на сайте, и мы можем отслеживать ее статус. В дальнейшем, при выходе следующих версий мобильной платформы, мы сможем отследить, в какой из версий он была исправлена.
Возможно, после прочтения статьи у Вас возникнет вопрос – зачем это все? Ведь у фирмы 1С есть свой отдел тестировщиков, и рано или поздно ошибку выявят и исправят.
За день до написания этой статьи вышла новая версия мобильной платформы – и вот результат:
- Гарантированно ответят специалисты фирмы «1С»
- Совместно с вами подготовят всю нужную информацию для прояснения и диагностирования ситуации
- В случае признания ошибки направят ваше обращение разработчикам для исправления ошибки.
Но никакие ошибки не смогут помешать нам продолжать знакомство с возможностями платформы «1С:Предприятие 8», и в следующей статье мы вернемся к изучению управляемых форм. :)
PDF-версия статьи для участников группы ВКонтакте
Статья в PDF-формате
В этой статье речь пойдет об ошибках. Но не о тех, которые допускают программисты в коде, а о самой платформе. Да-да, разработчики платформы тоже ошибаются! Особенно это заметно при разработке под мобильные устройства - продукт еще сырой, поэтому ошибки встречаются сплошь и рядом.
К сожалению, сталкиваясь с ошибками платформы, большинство людей попросту не обращают на них внимания. Они вспоминают об 1С недобрым словом, и с мыслями “та они уже в курсе, в следующей версии поправят” продолжат работать. Надеюсь, после прочтения статьи таких программистов станет меньше. :)
Мы рассмотрим несколько реальных ошибок, примеры обращений в фирму 1С, а также то, как можно отслеживать исправление ошибки. Сразу скажу, что будут рассмотрены примеры для мобильной платформы. Впрочем, порядок регистрации для настольной платформы практически не отличается.
Для обращения по второму адресу нужно выполнить 3 простых пункта:
1. Указать версию платформы.
2. Кратко описать сценарий воспроизведения ошибки, и на каких устройствах она воспроизводится.
3. Приложить к письму сопутствующие файлы - базу данных или скриншот ошибки.
Рассмотрим несколько примеров обращений в тех. поддержку.
Пример 1. В управляемых формах есть возможность группировать элементы на разных страницах. На мобильной платформе это работает в точности, как и на настольной:
На скриншоте заголовки страниц размещены сверху. Однако если разместить их, например, слева, то начинаются проблемы. Вот, как это выглядит на настольной платформе:
А так - на мобильной:
Думаю, ошибка очевидна.
Начнем с подготовки базы. Может возникнуть вопрос - зачем, неужели недостаточно скриншотов? Давайте не забывать о том, что в 1С тоже работают люди. И учитывая то, что вы далеко не единственный разработчик, который к ним обращается, будет не очень культурно заставлять сотрудников самим создавать базу и воспроизводить вашу ошибку.
Создаем пустую базу, создаем форму в Общих формах. На форме рисуем простейший пример - 2 страницы с одной кнопкой на каждой из них.
Запускаем базу на мобильном устройстве, делаем скриншоты. Выгружаем базу в dt.
Теперь перейдем к написанию письма. Вот пример моего обращения:
Обратите внимание - не забудьте в письме указать версию мобильной платформы. Также не лишним будет указать устройство, на котором воспроизводится ошибка.
Спустя полчаса получаем ответ:
Обратите внимание на ссылки внизу. Первые две предназначены для определения приоритетов - чем больше человек сообщит о важности ее исправления, тем быстрее (теоретически) она будет исправлена. По крайней мере разработчики на партнерском форуме говорили, что обращают внимание на эти показатели.
Ссылка “Включить подписку” нужна для удобного отслеживания ошибки. Чтобы каждый раз не искать по словам, можно “подписаться” на ошибку, после чего она будет отображаться в разделе “Подписки”. Так этот раздел выглядит у меня:
Но это просто неудачный пример. В любом случае, рано или поздно ошибка будет опубликована и исправлена.
Рассмотрим еще один пример обращения.
Исходный код модуля:
Идем на сервис публикации ошибок, ищем нашу ошибку:
Ура! Теперь наша ошибка есть на сайте и мы можем отслеживать ее статус. В дальнейшем, при выходе следующих версий мобильной платформы, мы сможем отследить, в какой из версий он была исправлена.
Поменьше вам ошибок!
Вадим Невзоров, Одесса
Специальные предложения
Вторая моя попытка была отписаться по ошибкам в тестовой платформы. (Не работали критерии отбора в обычных формах журнала на 8.3.5.924). На что через 8 дней я получил ответ
P,S, А ошибку с отборами они к финальному релизу 8.3.5 исправили
(1) Aleksey_3, вот видите - даже демо базы могут отличаться. Поэтому старайтесь сразу отправлять им копию базы, чтобы у них не было другого выхода, кроме как признать ошибку. :)Спасибо за замечание, статью уточнил. Прочитал. На первый взгляд очень интересно. Вот для платформы было бы лучше какая-то автоматическая регистрация ошибок. Разработчик на платформе не будет ждать и надеяться что исправят.
Другое дело нужен какой-то простейший механизм чтоб регистрировалась информация при ошибке в конфигурации при работе пользователя. Как было бы хорошо (90% проблем можно сразу диагностировать): свернулось окно у пользователя, не туда нажал, не там запустил. Кто-то тут уже публиковал подобный механизм отсылки скриншотов экрана по почте с доп. информацией об ошибке.
Как бы на новой платформе 8.3.5 (с проверкой в коде версии, конечно) реализовать даже если выпустил простую обработку или отчет подобный функционал? Или это уже сильно осложнит первостепенную задачу? Как то очень давно еще на версии 8.0 имел дело с их системой поддержки. Все, мне хватило. Их же баги исправляешь, как бесплатный бета-тестер, так все нервы выматают, пока признают, что ошибка есть. Rustig; www2000; alest; WildFire; Prog1CZUP31; Дмитрий74Чел; Yashazz; j_rubin; nihfalck; Йожкин Кот; + 10 – Ответить (3) bulpi, для этого и написана эта статья - чтобы выматывание нервов свести к минимуму. Самый полезный совет - это отправлять копию базы с ошибкой. Увеличивает скорость ответа и вероятность регистрации ошибки в разы.
Надо сразу приготовиться к отпискам и нервотрепке при написании письма на v8. Там у первой линии тех.поддержки задача отсеять максимум писем, чтобы даже не беспокоить разработчиков. Им не важна значимость проблемы, они не разработчики и даже не пользователи, они вообще про 1С слышали только то, что они в нем работают. Им до лампочки, партнер Вы или конечный пользователь. Их задача - Вас не услышать.
Например указания кода партнера им не достаточно, чтобы прочитать Ваше письмо, хотя партнеры, на мой взгляд, должны быть в приоритете. Узнать номер подписки партнера они и сами могут и её активность, им это - два щелчка мышкой. Они же все равно потом проверяют активность подписки, для них это повод отшить вопрошающего.
Реальный пример:
В типовом отчете ЗУП 3.0 есть список для отбора по сотрудникам. Начиная с определенного релиза появилась след. фигня (до обновления работало):
Если туда добавлять сотрудника добавляя строчки командой из контекстного меню - падает с ошибкой и вообще закрывается 1С. По кнопке подбор - все ОК, но по кнопке "подбор" открывается форма списка, которая лагает, хочется использовать ввод по строке.
Ответ из 1С:
"Это не ошибка, не надо пользоваться контекстным меню, пользуйтесь кнопкой "подбор"" - ****** ***** (много мата) как так? Это же первое правило - любые действия пользователя не должны приводить к критическим ошибкам. Ну отключите вы там контекстное меню, раз Вы так считаете.
Политика 1С по минимуму признавать свои ошибки.
Выход новых версий и редакций = сильный поток ошибок и большая нагрузка на разработчиков, а сейчас 1С не перестает нас удивлять сырыми новинками. У них и так полно работы. Такое отношение вызвано нехваткой ресурсов у 1С, но ***** ***** (очень много мата) как так, они заставили всех подписаться на ИТС и гребут помимо продаж коробок еще и абон плату со всей страны. 1С само виновато, что выпускает новинку за новинкой, надо было предвидеть такой поток вопросов и не оставлять партнеров у разбитого корыта.
(9) monkbest, не соглашусь. Вы сам, как разработчик, наверняка сталкивались с подобными ситуациями (когда Вас атакуют, как поддержку).
У меня очень большой опыт переписки со всеми инстанциям 1С, очень важную роль играет детальность описания проблемы и ее воспроизведение (вплоть до видео на приложеной базе).
Причем, это справедливо как для платформы, так и для конфигураций. Во всяком случае, порядка 95% обращений были приняты, 5% - это либо я проморгал (не ошибка), либо признано проектным поведением (с записью об неудобстве).
Но, конечно, времени на сие может уйти достаточно много. Что делать, таковы риски.
очень важную роль играет детальность описания проблемы и ее воспроизведениеСудя по тому, что и как monkbest пишет, он этого не понимает и, возможно, не поймёт. (13) sergei2k, не поймешь ты, а я детально излагаю свои проблемы и с картинками. (11) BabySG, не соглашайтесь, дело Ваше. Я рассказал про свой опыт, Вы про свой. но Ваши слова как-то не конкретны.
Через сколько времени Вам отвечал в первый раз специалист, не бот, который говорил, что Ваше письмо принято, а специалист? Хотя бы в среднем? Сколько раз из скольки он задавал уточняющие вопросы? Через сколько времени приходила наконец помощь?
(14) monkbest, скорость ответа зависит от адреса (их минимум три, напоминаю, а еще есть другие адреса, которые совсем оперативные :)) ).
На КОРП поддержке ответ очень быстрый, затем тестподдержка, потом общая. Собственно, как и обещали :)
Пользуюсь КОРП поддержкой, т.к. "оплачена" :)
Либо находился способ обхода (кстати, весьма критическая проблема в кластере 1С), либо в приемлимые сроки выпускали обновление. Пока (тьфу-тьфу-тьфу) с критичекими проблемами, которые невозможно обойти, не сталкивались.
Техподдержка 1С разбирается в типовых конфигурациях лучше чем большинство пользователей, да и чем многие разработчики. Они же ежедневно рассматривают сотни обращений, воспроизводят, разбираются.
Узнать номер подписки партнера они и сами могут и её активность, им это - два щелчка мышкой. "Это не ошибка, не надо пользоваться контекстным меню, пользуйтесь кнопкой "подбор"А есть точное описание письма в техподдержку и их ответ? Не похоже Ваше описание ситуации на реальную.
(12) sergei2k, вот кусок письма. Раз для Вас тех.поддержка 1С - святые, никогда больше не пользуйтесь контекстным меню)))
Необходимо использовать кнопку "Подбор" а не контекстное меню для добавление строк в список элементов.
Для отправки писем необходимо добавить регламентное задание:
Далее необходимо настроить расписание регламентного задания (в моем случае задание выполняется раз в сутки, в 23.50).
Доработка проверялась на конфигурации "Управление производственным предприятием, редакция 1.3 (1.3.49.1)".
К статье приложены 2 обработки по работе с журналом регистрации:
Отчет по журналу регистрации (управляемое приложение)Специальные предложения
Автор запретил комментарии
Просмотры 9693
Загрузки 4
Рейтинг 53
Создание 06.02.19 16:42
Обновление 28.04.21 14:30
№ Публикации 997513
Операционная система Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Да
Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0")См. также
Отчет по журналу регистрации Промо
Отчет по журналу регистрации с использованием СКД.
2 стартмани
25.07.2011 36787 659 wowik 33
Мультибазовая очистка Журнала регистрации с автоматическим перемещением архивных данных в указанный каталог
На сервере 1С со временем увеличивается в размерах папка , содержащая журналы регистрации 1С и как следствие может возникнуть проблема свободного пространства на системном жестком диске. Чтобы избежать роста папки, необходимо периодически очищать журнал регистрации 1С.
1 стартмани
26.12.2019 3602 bryantsev.yury 3
Добавлена отдельная база: возможность указания списка баз, из которых нужно собирать ошибки, возможность указания почтового профиля для каждой базы.
1 стартмани
27.05.2019 7568 4 wowik 0
Мониторинг журнала регистрации при помощи Powershell
Работа с журналом регистрации в формате SQLite внешними средствами на примере мониторинга изменений в конфигурации базы данных.
1 стартмани
12.07.2018 13624 user768334 7
Отчет по журналу регистрации для управляемого приложения Промо
Отчет по журналу регистрации с использованием СКД
2 стартмани
04.02.2013 29418 342 wowik 12
Журнал регистрации 1С (sql lite) в web app
Данная публикация рассматривает построение компонентного решения работы журнала регистрации в стороннем приложении(web app). Встала задача миграции sql lite жр во внешнюю базу. Данное решение было создано: 1. для хранения жр за весь период 2. для ускорения работы с жр 3. для ускорения сервера предприятия, так как именно он (а точнее рагент) пытается записать данные в жр sql lite(фактически файл на диске), после увеличения размера файла более 10 гб, поступали жалобы по вопросу быстродействия 1с (и не только ради этого) Данная публикация может быть полезной администраторам, программистам, оптимизаторам.
Название reperr образовалось от report и error, произносится как рэпер.
Проект живет на GitHub.
Какие задачи решает reperr?
Как пользоваться?
Рассмотрим один из вариантов: допустим, что в роли баг-трекера выступает Jira. Также имеется некая информационная база, ошибки в которой решено перехватывать и отправлять баг-трекер.
Для начала необходимо создать и настроить служебную учетную запись Jira, от имени который reperr будет регистрировать ошибки. Для этой учетной записи потребуется создать токен. Он требуется для доступа к Jira API.
Токен генерируется тут:
В следующем окне нужно перейти в раздел "Безопасность":
Полученный токен нужно сохранить, он потребуется на одном из следующих шагов.
Затем нужно скопировать исходники проекта на ту машину, на которой он будет работать. Можно клонировать репозиторий или скачать архив из релизов.
Следующий шаг: указать в файле `src/appsettings.json` реквизиты подключения к вашему экземпляру Jira и обязательные параметры, например, задачи какого типа и с каким приоритетом создавать.
Вставить в браузер URL, ведущий к Jira API и дописать к нему issuetype, priority или status соответственно.
Из примера выше:
Ответы Jira API будут содержать исчерпывающую информацию.
После установки параметров нужно запустить проект. Сделать это можно по-разному: в докере и неправильным способом напрямую на OneScript.Web.
Я настоятельно рекомендую запускать правильным способом. Для этого в каталоге проекта нужно выполнить команду:
Само собой, движок docker и docker-compose должны быть установлены.
После запуска имеет смысл проверить, что веб-интерфейс открывается в обычном браузере.
Да нет никаких дашбордов) Но они когда-нибудь появятся!
Далее нужно указать в информационной базе ссылку на reperr, а также изменить другие параметры регистрации ошибок, если это требуется. Для применения настроек 1С попросит перезапустить текущий сеанс.
Окно с настройками открывается из меню "Функции для технического специалиста" -> "Стандартные" -> "Управления настройками обработки ошибок":
Можно считать, что первоначальная настройка выполнена. Чтобы проверить работоспособность того, что мы настроили, воспроизведем какую-нибудь ошибку. Самое простое - написать внешнюю обработку с обращением к чему-нибудь несуществующему.
Что произойдет, если ошибка возникнет много раз и у нескольких пользователей? Неужели в трекере появится много одинаковых задач?
Это поведение будет зависеть от выбранной точки интеграции. Если точка интеграции - Jira или Redmine, то не появится. В RabbitMQ и Sentry отправляется каждый отчет.
Проверим, как выглядит результат в Jira. На скриншоте ниже видно, что создана задача REP-53, со стеком и скриншотом. Если при отправке ошибки из 1С прикрепить произвольный файл, то и он отобразится во вложениях.
Опыт эксплуатации и особенности
Решение стабильно работает как в Windows, так и в Linux, дает минимальную нагрузку, работает без сбоев месяцами.
На какие особенности следует обратить внимание:
Решение будет полезным как службе поддержки, так и конечным пользователям. В контуре тестирования \ разработки оно тоже пригодится.
Всем, кто уже перешел на 8.3.17 или 8.3.18, можно смело пользоваться. Я буду очень благодарен за обратную связь, новые идеи, и, конечно, пул-реквесты.
Технические подробности
Этот раздел привожу для тех, кому интересны внутренности приложения.
reperr разработан на документации к платформе. Другие публикации (первая, вторая) на IS хорошо дополняют документацию, поэтому повторяться не буду.
Ядро reperr выполняет три функции:
- получает информацию об ошибках, которые возникают в подключенных базах
- запрашивает прикладную часть о необходимости регистрации ошибки
- получает, распаковывает и сохраняет в локальном каталоге отчеты об ошибках (архивы с report.json, скриншотами и другими файлами, которые прикрепил пользователь)
"Прикладная" часть отвечает за:
- отображение информации в веб-интерфейсе
- сохранение информации о возникших ошибках и отчетов по этим ошибкам во внутреннем формате
- вычисление "отпечатков" ошибок
- принятие решения об отправке ошибки
- отправку ошибок в точку интеграции
Архитектура проекта далека от идеальной, но уже сейчас позволяет относительно быстро реализовать свою точку интеграции. Для этого нужно:
- создать свой класс и реализовать в нем методы программного интерфейса
- добавить свой ключ в файл настроек appsettings.json
- немного дополнить класс, который обрабатывает файл настроек.
Если тема окажется актуальной и интересной, я могу создать отдельную публикацию на тему подключения новых точек интеграции, на примере СППР. Какой issue наберет большее количество лайков, на том и сделаю.
PS: в недрах проекта спрятана пасхалка. Ее не так уж сложно найти, нужно совсем немного постараться. Поверьте, это стоит того)
Читайте также: