Молния: мгновенная передача ссылок между пользователями
06.03.18 12:15

«Приходником» пользователь может называть разные документы: приходный ордер на товары, поступление товаров и услуг, требование-накладную и даже внутренний заказ. Вы тратите силы и время, чтобы выяснить, в каком же документе произошла ошибка. Наконец, Вам удаётся установить вид документа, а также его номер и дату. Теперь Вы, держа в одной руке телефонную трубку, другой рукой перескакиваете между мышкой и клавиатурой, пытаясь открыть этот документ. И это всё только для того, чтобы воспроизвести проблему. Вот бы «заглянуть» в экран пользователя и увидеть документ своими глазами. Что ж, для этого можно отправиться к пользователю лично, подключиться удалённо к компьютеру пользователя, а можно открыть молнию…

Что такое молния?

Для пользователя это просто кнопка на форме

 

Для специалиста поддержки это справочник

 

Как пользоваться молнией?

Обычно при первом использовании молнии между специалистом поддержки и пользователем происходит такой диалог:

Специалист: Документ открыт перед Вами?

Пользователь: Да.

Специалист: Вы видите красную молнию?

Пользователь: (после секундного замешательства) Да.

Специалист: Нажмите на неё.

После этого специалист поддержки открывает список молний как обычный справочник. При двойном щелчке по молнии сразу открывается форма переданного документа.

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

Молнии могут стать дырой в ограничениях доступа?

Молнии не расширяют права пользователей. Если у пользователя нет прав доступа к определённому виду документов, либо отдельным документам, то открыть такой документ с помощью молнии пользователю не удастся.

Как добавить молнии в свою конфигурацию?

В общем случае в каждой форме, в которой предполагается наличие молний, необходимо разместить два метода:

  • метод, добавляющий кнопку молнии в командную панель

  • обработчик нажатия на кнопку молнии

Например, такие


Процедура ПриОткрытии()    

   …

   млнМолнии.ДополнитьМенюКнопками(ЭтотОбъект, ЭтаФорма);

КонецПроцедуры

Процедура НажатиеНаДополнительнуюКнопкуЗаполненияТЧ(Кнопка)     

   млнМолнии.ОбработатьНажатиеКнопки(Кнопка, ЭтотОбъект, ЭтаФорма);

КонецПроцедуры

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

Получается, нужно доработать форму каждого документа. А можно как-нибудь уменьшить количество доработок при добавлении молний в существующую конфигурацию?

Можно, если в конфигурации есть общие методы, которые вызываются из форм различных документов, причём в эти методы передаются сама форма и объект (ссылка на объект). Покажу внедрение молний на примере конфигурации УПП. Для запуска механизма молний потребуется сделать несколько «инъекций» кода в общие модули.

Для того чтобы молнии появились в форме документов, можно доработать общий модуль РаботаСДиалогами, метод УстановитьЗаголовокФормыДокумента


Процедура УстановитьЗаголовокФормыДокумента(

   …

   млнМолнии.ДополнитьМенюКнопками(ДокументОбъект, ФормаДокумента);

КонецПроцедуры

Для обработки нажатия на кнопку молнии воспользуемся типовым обработчиком нажатия на кнопку заполнения табличной части документа. В модуле УниверсальныеМеханизмы доработаем метод ОбработатьНажатиеНаДополнительнуюКнопкуЗаполненияТЧ


Процедура ОбработатьНажатиеНаДополнительнуюКнопкуЗаполненияТЧ(

   …

   млнМолнии.ОбработатьНажатиеКнопки(СтрокаКнопки, ЭтотОбъект, ЭтотОбъект.ПолучитьФорму());

КонецПроцедуры

Чтобы типовой механизм «узнал» кнопку с молнией, притворимся кнопкой меню заполнения табличной части


Функция ПолучитьДеревоКнопокЗаполненияТабличныхЧастей

   …           

   млнМолнии.ДополнитьДеревоКнопокЗаполненияТабличныхЧастей(ДеревоКнопок);    

   Возврат ДеревоКнопок;           

КонецФункции

Ограничения

  • Обычное приложение
  • Толстый клиент

  • Обычные формы

  • Механизм проверен для конфигураци УПП 1.3.103.1, платформа 8.3.10.2299

И всё-таки, зачем нужны молнии?

Молнии

  • уменьшают путаницу
  • сокращают время обслуживания пользователей
  • запоминают примеры документов

Read Full Article