6.3. Сервисные возможности навигации


6.3.1. Ссылки
В «!С:Предприятии» имеется возможность получить текстовую ссылку на любой раздел командного интерфейса, отчет, обработку и на объекты информационной базы (документы, элементы справочников и т.
д.).
Рис. 101. Коман.ты получении и перехода по ссылке
Полученную ссылку можно сохранить и использовать в дальнейшем для перехода по ней. Так как ссылки являются текстовыми, то их можно отправлять другим пользователям, например, по электронной почте. Описание форматов ссылок см. стр. 2-1071. Нельзя получить ссылку на инструменты, входящие в состав стандартных функций.
Существует возможность запускать веб-клиент с одновременным переходом по ссылке. Для этого необходимо получить внешнюю ссылку из веб-клиента или тонкого клиента, подключенного к информационной базе через веб-сервер.
І Ссипа мв Ociam' товаров
ІМИУНТЬИДИВР

Ксвдоаатъ в б,тер йойвмть ttt3&»wo« Слравяз
Рис. 102. Получение внешней ссылки
Для получения внешней ссылки следует воспользоваться обычной командой получения ссылки, убедившись, что в окне получения ссылки нажата кнопка Внешняя (см. рис. 102). Полученную ссылку можно ввести в адресной строке браузера, при этом будет загружено приложение и выполнен переход по ссылке (в примере на рис. 102 произойдет открытие формы отчета Остатки товаров).
ПРИМЕЧАНИЕ. В Microsoft Internet Explorer не происходит загрузка приложения с переходом по ссылке, если ссылка относится к приложению, загруженному в текущем окне веб-браузера. Рекомендуется вволить ссылку в адресную строку нового пустого окна веб-браузера.
6.3.2. Информационная панель
Данная панель объединяет в своем составе следующие компоненты:
история работы пользователя.
список последних оповещений.
6.3.2.1. Историй работы пользователя
«1С:Предпрнятие» сохраняет историю работы пользователя, которую можно применять для быстрого доступа к недавно созданным или отредактированным объектам информационной базы (документам, элементам справочников и др.).
При интерактивном добавлении или изменении объектов информационной базы информация об этом отображается в виде оповещения и попадает в историю (подробнее о механизме оповещений см. стр. 1-348).
ПРИМЕЧАНИЕ. Проіраммная запись объекта (с помощью метола 3 і писать О ) не приводит к появленню оповещения и созданию записи в списке истории. Однако помещение в историю и вывод оповещения выполняются расширением формы объекта (если запись выполняется из формы объекта). Кроме того, можно использовать метод ПокаэатьОповешениеПользователя () и свойство глобального контекста ИсторияРаботыПольэователя.
История работы пользователя хранится в информационной базе. При этом в истории хранится только одна запись на один объект информационной базы (запись о последующем изменении замещает запись о предыдущем изменении данного объекта). Хранится не более 200 записей для конкретного пользователя. Если число сохраненных элементов равно 200. то при добавлении новых элементов истории наиболее старые события истории удаляются.
Список событий считывается только в момент открытия окна и в дальнейшем не обновляется. Для того чтобы обновит ь окно истории, его нужно закрыть И открыть заново.
Существует возможность программного управления историей. Дія этого используется свойство ИсторияРаботыПольэователя глобального контекста. Например, для включения события в историю используется метод встроенного языка ИсторияРаботыЛользователя .Добавить {).
6.3.2.2. Оповещения пользователя
Механизм оповещений предназначен для информирования пользователей о том. что система выполнила то или иное действие. Оповещения могут создаваться системой или разработчиком прикладного решения. Система создает оповещения при интерактивной записи/изменении объекта, а разработчик - вызовом метода ПоказатьОповещениеПользователя ().


Рис. 11)3. Оповещение пользователи
Оповещение отображается в окне, которое по умолчанию привязано к области уведомлений панели задач операционной системы. Если с оповещением связана какая-либо ссылка, то пояснение будет одновременно являться гиперссылкой, нажатие которой приведет к открытию объекта, на который указывает ссылка. Пояснение также будет представлено гиперссылкой, если оповещение сформировано системой автоматически (при интерактивной записи/изменении объекта).
Если при вызове метода не указан параметр Пояснение, то переход по навигационной ссылке также будет недоступен. Для того чтобы пользователь имел возможность перейти по гиперссылке, необходимо одновременно указывать н параметр Навигационная ссылка, и параметр Пояснение.
Окно оповещения автоматически исчезает с экрана по истечении небольшого времени. Однако если навести на это окно курсор мыши, то окно будет существовать до тех пор, пока его принудительно не закроют или не уберут курсор мыши с площади окна оповещения.
Если вызвать метод отображения оповещения несколько раз подряд, то пользователь увидит только самое последнее оповещение.
При отображении в панели избранного и истории список оповещений выравнивается по правому краю панели. Наиболее позднее оповещение будет отображаться у правого края панели. Если оповещении больше пяти, то отображаются только пять последних оповещений.
ПРИМЕЧАНИЕ. Список оповещений отображается только в течении жизни сеанса.
Окна оповещений, которые открываются в веб-клиенте, привязаны к текущему активному окну.
При закрытии окна, в котором было показано окно оповещения, это окно «передается» родительскому окну и т. д. до достижения основного окна приложения.
ПРИМЕЧАНИЕ. В веб-клиенте окно оповещения нельзя перемещать и изменять его размер.
6.3.3. Отображение состояния длительных процессов
В процессе разработки конфшурацнй возникают ситуации, когда необходимо информировать пользователя системы о состоянии выполнения длительных процессов (например, расчет зарплаты по подразделению). Для этого предназначена панель состояния.
Панель состояния отображается вызовом метода Состояние () и недоступна для вызова на стороне сервера. В том случае если необходимо отобразить на клиенте состояние длительного процесса, протекающего на сервере, нужно реализовать этот процесс таким образом, чтобы он мог выполняться на сервере «порциями», которые будут инициироваться со стороны клиента. Тогда одновременно со стартом очередной «порции» на сервере можно будет отображать изменение состояния выполнения процесса.

Рис. 104. Окно отображения состояния
Если требуется отображать ход выполнения процесса с помощью индикатора (например, мы знаем общее количество рассчитываемых сотрудников и хотим показать, сколько сотрудников уже рассчитано), то при вызове метода Состояние () необходимо указывать третий параметр метода, который определяет абсолютное значение индикатора прогресса. Минимальное значение индикатора прогресса всегда равно 0. а максимальное значение - 100.
Состояние("Выполняется обработка данных". Счетчик*10,
"Обрабатывается порция: " + Счетчик, БиблиотекаКартинок.ПодсистемаТоварныеЗапасы);
Если при вызове метода третий параметр не указан, то индикатор прогресса также не будет отображаться на панели состояния. При этом текст пояснения будет располагаться непосредственно подтекстом основного описания:
Состояние("Выполняется проведение за " +
Формат(ДатаПроведения, "JU1®=DD"),
*!Проведено " + КсшичествоПрозеденных, БиблиотекаКартинок.Провести);

Рис.
105. Сосі они не без прогресса
Панель состояния автоматически исчезает с экрана по истечении небольшого времени после окончания работы фрагмента программы, вызвавшего появление панели состояния. Однако если навести на это окно курсор мыши, то окно будет существовать до тех пор, пока его принудительно не закроют или не уберу г курсор мыши с площади панели состояния.
В веб-клиенте панель состояния реализована в виде отдельного окна веб- браузера. Обновление этого окна имеет особенности:
Microsoft Internet Explorer. Состояние обновляется после каждого вызова
метода Состояние ().
Mozilla Firefox. Состояние обновляется при каждом серверном вызове и после окончании выполнения программного кода на встроенном языке. Таким образом, если при выполнении программного кода на встроенном языке не было вызовов серверных методов, то панель состояния изменяться не будет.
6.3.4. Сообщения
В прикладном решении большинство сообщений логически связаны с данными. Например, если при проведении документа на складе не хватает некоторого количества определенной номенклатуры, программист должен уведомить об этом пользователя.
Механизм сообщений позволяет разработчику сформировать сообщение, в котором можно указать, какой из реквизитов объекта стал причиной ошибки. При отображении в клиентском приложении сообщение может быть автоматически привязано к элементу формы, который редактирует этот реквизит, и рядом с ним будет выведено заданное сообщение.
Для функционирования этого механизма в платформе существует объект
СообщениеПользователю. ^Отвы го ядро и и уоуг (шэнн ( ЇС Г^ВДГфМЯТМе)
> "... ,
Опляїа топазов и ус луї (создание)
Г^ювести закрыть СГі _^Поояестм Бзе да'г-о-а .
1 И _
х І
Ми |
; і
Поле Ортатламґ we запогьеио
Мшар Вата
...а
Постааших
о.оо а
Рэоетний счет поетаишпхэ Раотетны» спет Валета Суш а
т - а^
X
Оплата том
Оерейт Pemcip t»-»:
Coo&ueewn
О Попе "Поставщик" не заложено
\Р Пот "Расчеттгмй смет псстааиив те запоптеио
r Vi/ Попе Расм«-Ь!»й стет не заложено
Пог» не залогнемэ
Ц) Попе СЪпмтз&атв we эалогкио Рис. 106. Сообщения
Механизм сообщений ориентирован на то. чтобы сообщить пользователю о том, что запрошенное им действие выполнить не удалось (например, проведение документа невозможно из-за отсутствия остатков товара на складе). Сообщения, выведенные методом Сообщить (), также препятствуют закрытию формы вне зависимости от своего статуса (значения второго параметра метода). Все сообщения считаются равноправными.
ПРИМЕЧАНИЕ. Рекомендуется выводить сообщения только в том случае, если запрошенное пользователем действие не может быть выполнено, а не для информирования его о выполняемых действиях. Для информирования о выполняемом действии можно использовать метод ПоказатьОповещениеПользователя ().
Если в сообщении свойство КлючДанных заполнено п не совпадает с ключевым значением основного реквизита текущей формы (ссылкой объекта или ключом записи регистра сведений), то:
открывается новая форма объекта, соответствующая значению свойства
КлючДанных.
если у сообщения свойство ПутьКДанным не заполнено, то в него проставляется имя основного реквизита открытой формы объекта,
вызывается показ сообщения во вновь открытой форме.
Кроме того, выполняется перенос всех сообщений со свойством КлючДанных, равным значению этого свойства текущего сообщения, из окна текущей формы в открытую форму. При этом перенесенным сообщениям аналогичным образом проставляется свойство ПутьКДанным, если оно не установлено.
ПРИМЕЧАНИЕ. Не поддерживается отображение окна сообщения и автоматический переход к связанному элементу формы при щелчке по такому сообщению в списке сообщений, если сообщение связано с полями наборов записей движений документов, например. в случае если ПутьКДанным = «Объект .Движения .ТоварныеЗапасы». Поле = «[0].Товар».
Метод устанавливает соответствие между реквизитами формы и объектами данных для последующей установки правильного соответствия сообщений и элементов управления формы. Для тою чтобы сообщение использовало данные соответствия объекта и имени реквизита, необходимо связать сообщение с данными через метод УстановитьДанные () объекта СообщениеПользователю.
ОбъектСправочник • СсыякаСправочник.ПслучитьООъектО;
УстановитьСоответствиеОбъектаИРеквизитаФормы(ОбъектСправочник, ¦Объект")І
ОбъектСправочник.ПроверитьЗаполнение();
Нужно понимать, что в методе УстановитьСоответст- виеОСъектаИРеквизитаФормыО указывается имя реквизита для той формы, которая будет открыта по умолчанию для отображения элемента используемого справочника (в примере ОбъектСправочник). Тогда сообщения, которые создаются в обработчике проверки заполнения (ОбъектСправочник. ПроверитьЗаполнение {)), будут корректно привязаны к реквизитам новой формы.
Получить соответствие можно методом ПолучитьСоответст - виеОбъектаИРеквизитаФормыО. Получить соответствие можно до тех пор. пока существует объект, для которого оно установлено.
ИкяРеквизита = ПолучитьСоответствиеОбъектаИРеквизитаФормы(Объект);
Если для переданного объекта существует соответствие с реквизитом, имя реквизита будет возвращено как результат работы функции. Кроме того, соответствие может быть установлено формой при использовании метода РеквизитФормыВЗначение (). В большинстве случаев рекомендуется использовать именно этот способ.
II Код в модуле документа.
ЬНаСервере
Процедура ОбработкаПроведения!)
Сообщение * НОВЬІЙ СообщениеПользователю О ; Сообщение.Текст = "В строке 10 табличной части " +
"Номенклатура не хватает " + НедостаюшееКоличество + " " + ЕликииаИзкеренияНоменхлатуры; Сообщение.Поле = "Номенклатура[10].Количество"; Сообщение.УстановитьДанные(ЭтстОбъект); Сообщение.Сообщить[);
// Сообщение будет показано в форме и привязано к // элементу управления, связанному с полем II Количество в 10-й строке табличной части // Номенклатура.
КонецПроцедуры;
В случае если создание сообщений пользователю (с помощью объекта СообщениеПользователю) выполняется во время контекстного или неконтекстного серверного вызова из формы, вызова н і общего модуля или из модуля общей команды, вывод сообщений блокируется. Созданные сообщения будут показаны пользователю после возврата управления па клиентскую сторону. Дія получения списка кепоказаиных сообщений используется метод Получить СообщенияПол ЬЗОЕ З гелю ().
6.3.5. Работа сочетаний клавиш
В независимом вспомогательном окне срабатывают сочетания клавиш:
команд панели навигации главного окна,
команд панели действии главного окна.
команд самого вспомогательного окна (как команд формы, так и команд панели навигации).
При этом сочетания клавиш команд основного окна срабатывают, даже если команда, вызываемая тем или иным сочетанием клавиш, невидима, например, была скрыта пользователем. Во вспомогательных окнах не срабатывают сочетания клавиш скрытых команд панели навигации формы и скрытых элементов формы.
В блокирующих окнах работают только сочетания клавиш самих окон, а сочетания клавиш команд главного окна не поддерживаются.
<< | >>
Источник: А.Алексеев, А. Безбородое, Д. Бескоровайнов. 1С:Предприятие 8.2. Руководство разработчика. 2009

Еще по теме 6.3. Сервисные возможности навигации:

  1. Подготовка к навигации
  2. Сервисное обслуживание пользователей программных продуктов
  3. 7.1 БЛАГОПРИЯТНАЯ ВОЗМОЖНОСТЬ
  4. ВОЗМОЖНОСТЬ и ДЕЙСТВИТЕЛЬНОСТЬ
  5. ВОЗМОЖНЫЕ МИРЫ
  6. ВОЗМОЖНЫЕ МИРЫ
  7. трансцендентальной возможностью
  8. МОДАЛЬНЫЕ ОПЕРАТОРЫ ВОЗМОЖНОСТИ
  9. Возможности «подъема мышления
  10. УВЕДОМЛЕНИЕ О ВОЗМОЖНЫХ РИСКАХ
  11. § 6. Возможность и действительность. Вероятность
  12. Проверка возможного партнера
  13. Оценка возможностей (SWOT
  14. Анализ рыночных возможностей
  15. 2. ФИНАНСОВЫЕ ВОЗМОЖНОСТИ КЛИЕНТА
  16. Возможные причины отклонений
  17. Исключения возможны и необходимы