Как сделать кнопку сообщить об ошибке

Обновлено: 06.07.2024

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

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

Пришлось разрабатывать свой скрипт. Как оказалось, все не так-то просто. Помогли уроки JavaScript, ну и, конечно же, Google с Яндексом. В итоге, при сложении нескольких найденных блоков скрипта и почерпнутых из учебника знаний получился вполне рабочий модуль для проверки ошибок на сайте. Для его работы необходима поддержка PHP на хостинге.

Последняя версия скрипта 4.1 основана на плагине typo к CMS Drupal. Автор плагина Роман Архаров. В этой версии появилась функция отображения окружающего ошибку текста, сама же ошибка выделяется красным.

При этом после src нужно прописать путь к файлу mistakes.js и mistakes.css соответственно.

Файл mistakes.js. В этом файле нужно изменить значение переменной misphploc (то, что между кавычками "") на путь к файлу mistakes.php.

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

На сайте работает система проверки ошибок. Обнаружив неточность в тексте, выделите ее и нажмите Ctrl + Enter.

Исходная кодировка скрипта windows-1251. Если ваш сайт работает на utf-8, то создайте в папке со скриптом файл .htaccess и добавьте в нем строку:

Также вам скорее всего нужно будет переформатировать в utf-8 файл mistakes.js

Если вас по каким-либо причинам не устраивает последняя версия, попробуйте предыдущую - 3.3. mistakes3.3.zip (zip архив 6Kb).

Успешной вам борьбы с опечатками)) Вопросы и пожелания оставляйте в комментариях.

А для информирования о выполняемом действии рекомендуется использовать метод встроенного языка ПоказатьОповещениеПользователя().


При обработке на сервере:

Необходимо зарегистрировать в системе соответствие объекта и имени реквизита формы. Для этого в глобальном контексте реализована функция УстановитьСоответствиеОбъектаИРеквизитаФормы(). Сделать это можно следующим образом:

В данном фрагменте выполняется преобразование объекта из данных формы в реальный объект и устанавливается его соответствие с реквизитом формы по имени "Объект".

ТипШаблонПример
РеквизитИмяРеквизитаКонтрагент
Табличная частьИмяТабличнойЧастиСкидки
Реквизит табличной частиИмяТабличнойЧасти[ИндексСтроки].ИмяРеквизитаНоменклатура[10].Количество
Реквизит набора записей[ИндексСтроки].ИмяРеквизита[10].Курс

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


Код 1C v 8.3 Код 1C v 8.3

Распечатать

Похожие FAQ

Еще в этой же категории

Как обновить динамический список или реквизит на форме клиента? 20
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Как установить параметр динамического списка? 15
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Список НЕ модальных методов в 1С 4
Найдено в интернете но говорят что с диска ИТС. Табличная часть ~ Как настроить отбор строк? 3
Часто возникает задача показать только нужные строки в табличной части документа или справочника (или другого объекта). Для этого можно использовать замечательное свойство: в обычном приложении параметр для ОтборСтрок - Отбор. в управляемом Динамический список ~ отбор в динамическом списке программно 2
Для установки отбора в динамическом списке используется свойство Отбор. Добавление нового элемента отбора осуществляется следующим образом: ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Для того чтобы новый Посмотреть все в категории Работа с Формой (Диалог) и её элементами

*Подключить плагин можно в разделе консоли вашего сайта Плагины.

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


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

Для работы плагина нужно настроить 2 важные вещи:

1. Добавление e-mail адреса, на который будет отправляться уведомление об опечатке


Введите в поле е-мэйл, на который будут отправляться уведомления об опечатках:


Также вы можете указать несколько адресов, е-мэйлы пишите через запятую:


2. Информирование посетителей о том, каким образом они могут сообщить об опечатке

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

Заметили опечатку?
Выделите текст и нажмите CTRL+ENTER.

Или вы можете воспользоваться виджетом, с помощью которого можно добавить ссылку, простую кнопку или любое изображение, при нажатии на которое будет срабатывать сочетание клавиш Ctrl+Enter (удобно в частности для мобильных устройств).


Заголовок — введите заголовок виджета (поле можно оставить пустым).

Описание сверху — добавьте описание, которое будет выводиться перед ссылкой или кнопкой. В описании можно использовать следующие html-теги форматирования текста: b,i,u,li,ul,h1,h2,h3,h4,h5,br,center,small.

Тип — выберите тип ссылки, при нажатии на которую будет срабатывать Ctrl+Enter.

  • Ссылка — простая текстовая ссылка.
  • Изображение — можно будет вывести любую картинку.
  • Кнопка — будет отображаться кнопка с заданным цветом и текстом.

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

Цвет — в данном поле можно задать цвет ссылки или цвет кнопки (в зависимости от выбранного типа).

Размер — в данном поле можно задать размер текста ссылки на кнопке, а также ширину изображения, если выбрана картинка.

Описание снизу — добавьте описание, которое будет выводиться после ссылки или кнопки. В описании можно использовать следующие теги форматирования текста: b,i,u,li,ul,h1,h2,h3,h4,h5,br,center,small.


Рассмотрим подробно, что при этом происходит и как можно добиться такого же поведения в своем коде. В качестве примера возьмем ситуацию проведения документа.

Теперь посмотрим, как можно добиться такого поведения полностью программно.

Первое, что необходимо сделать - зарегистрировать в системе соответствие объекта и имени реквизита формы. Для этого в глобальном контексте реализована функция УстановитьСоответствиеОбъектаИРеквизитаФормы(). Сделать это можно следующим образом:

В данном фрагменте выполняется преобразование объекта из данных формы в реальный объект и устанавливается его соответствие с реквизитом формы по имени "Объект".

ВАЖНО
Привязка объекта к имени реквизита формы действует только для конкретного экземпляр объекта, а не для его ссылки, и живет до тех пор, пока этот экземпляр существует.

Не удалось загрузить список должностей: Нет доступа к сети Интернет

Не удалось загрузить список должностей: Client error 404 not found

Не удалось загрузить список должностей: Server error 500

Не удалось загрузить список должностей: Ошибка записи в БД

Спасибо за Ваши ответы!

3 ответа 3



Поставьте себя на место пользователя, который не знаком с программированием, Вам интересно читать "Client error 404 not found", "Server error 500"?

Для такого пользователя эти 504 Gateway Timeout, как абракадабра. Его по сути должно волновать, когда эта проблема будет устранена и как продолжить работать с вашей программой.

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

Если у пользователя пропал интернет, тогда это немного другая ошибка и она должна показывать не только наличие того, что пропал интернет, но и краткую информацию, как эту проблему можно решить. Может быть его firewall заблокировал?

"Мы заметили, что у Вас пропало соединение с интернетом. Работа в режиме Offline с нашей программой невозможна, проверьте соединение с интернетом. Если вы не наблюдаете проблем с открытием страниц в браузере, возможно, доступ к сети мог был заблокирован вашим антивирусным ПО для нашей программы и Вам требуется проверить правила"

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

"Если данная проблема сохраняется в течении длительного времени, обратитесь в техническую поддержку с информацией из вкладки 'системная информация'"

Читайте также: