Как сделать кнопку сообщить об ошибке
На нашем сайте - сайте, посвященном ошибкам, очень желательно было установить систему устранения этих самых ошибок. В Рунете для этих целей уже традиционно используется система 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 с нашей программой невозможна, проверьте соединение с интернетом. Если вы не наблюдаете проблем с открытием страниц в браузере, возможно, доступ к сети мог был заблокирован вашим антивирусным ПО для нашей программы и Вам требуется проверить правила"
Также, можно внизу сделать вкладку "Системная информация" и туда сохранить информацию об ошибке, данные запроса и т.д. и написать пользователю:
"Если данная проблема сохраняется в течении длительного времени, обратитесь в техническую поддержку с информацией из вкладки 'системная информация'"
Читайте также: