Инструменты пользователя

Инструменты сайта


1c:база:оповещение_пользователя

Механизмы оповещения пользователя

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

Операторы не останавливающие выполнение

Сообщить

Функция сообщить выводит текст сообщения в табло, снабжая его значком статуса. Синтаксис выглядит следующим образом:

Сообщить(«Текст сообщения», СтатусСообщения) 

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

НужнаяСсылка = Справочники.Сотрудники.НайтиПоНаименованию(«Петров»);
НавСсылка = ПолучитьНавигационнуюСсылку(НужнаяСсылка);
ПоказатьОповещениеПользователя(«Загловок», НавСсылка, «ТекстСсылка»);

СообщениеПользователю

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

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Контрагент должен быть указан";
Сообщение.Поле = "ПолеНаФорме";
Сообщение.Сообщить();

Операторы ожидающие реакции пользователя

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

Предупреждение

Предупреждение выводит модальное окно(блокирует все остальные окна) с заданным текстом и одной единственной кнопкой ОК. Задача предупреждения получить подтверждение от пользователя, о том что он информацию получил. Синтаксис очень простой:

Предупреждение("какой то текст");

Вопрос

Команада Вопрос предназначена для получения какого то ответа от пользователя. Эта команда так же выводит модальное окно, но список кнопок можно определить самостоятельно. Для того, что бы это сделать нужно передать набор набор кнопок которые вы хотите видеть в диалоге вторым параметром. Это могут быть:

  1. Значения системного перечисления РежимДиалогаВопрос
    1. Да + Нет
    2. Да + Нет + Отмена
    3. ОК
    4. ОК + Отмена
    5. Повторить + Отмена
    6. Прервать + Повторить + Пропустить
  2. Список значений. В этом случае значение списка будет выступать идентификатором нажатой кнопки, а представление текстом кнопки в диалоге.

Синтаксис следующий:

Если Вопрос("Какой то вопрос", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда
	//Какие то действия
КонецЕсли;

Следует заметить, что методы Предупреждение и Вопрос подразумевают вывод диалоговых окон и как следствие недоступны на сервере.


Ссылки

Особенности использования объекта СообщениеПользователю в управляемом приложении 1С 8.2 FIXME(возможно надо показать картинки для всех типов оповещения?)

Только авторизованные участники могут оставлять комментарии.
1c/база/оповещение_пользователя.txt · Последнее изменение: 2014/10/12 07:11 — admin