Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Множественный подбор. с использованием множественного выбора. В режиме «Конфигуратор». В режиме «1С:Предприятие». Использование метода «Оповестить о выборе()»




Множественный подбор

с использованием множественного выбора

В режиме «Конфигуратор»

Последний способ подбора, который мы рассмотрим, будет сочетать в себе оба рассмотренных ранее способа. Мы будем отмечать сразу несколько элементов справочника и подбирать их в документ без закрытия формы выбора. Затем снова отмечать несколько элементов справочника и подбирать их в документ.

Для этого нам будет необходимо при открытии формы выбора устано- вить оба параметра: ЗакрыватьПриВыборе и МножественныйВыбор.

Процедура нажатия кнопки Подбор будет выглядеть следующим образом (листинг 26. 6).

листинг 26. 6. Обработчик нажатия кнопки «Подбор»

 

 

В режиме «1С: Предприятие»

Запустим «1С: Предприятие» в режиме отладки.

Перейдем в раздел Учет материалов, откроем список приходных накладных и создадим новую приходную накладную.

В командной панели списка материалов нажмем кнопку Подбор.

Откроем группу Услуги } Телевизоры, выделим в ней все услуги и нажмем кнопку Выбрать.


Откроем группу Материалы } Прочее, выделим в ней все материалы и нажмем кнопку Выбрать.

Закроем окно с формой выбора справочника Номенклатура.

 

Использование метода «Оповестить о выборе()»

Метод формы ОповеститьОВыборе() используется в тех случаях, когда алгоритм формирования данных подбора сложен и кроме собственно выбора элемента справочника от пользователя требуется указание некоторой дополнительной информации. В этом случае метод ОповеститьОВыборе() вызывается тогда, когда вся необходимая информация подбора сформирована.

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

Также метод ОповеститьОВыборе() может использоваться в тех случаях, когда требуется передать в форму документа не только выбранный элемент справочника (или массив элементов), а некоторую произвольную структуру данных.

 

Особенности разработки

в режиме без использования модальности

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

Этот режим является стандартным для новых, создаваемых с нуля конфигураций и определяется свойством конфигурации РежимИспользованияМодальности.


Теория

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

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

Однако с тех пор, как «1С: Предприятие» перестало быть «обычным десктопным приложением», с появлением веб-клиента и с переходом

«1С: Предприятия» на мобильные платформы использование модальных окон стало вызывать много проблем.

Основные неудобства заключались в том, что для нормальной работы веб-клиента на обычных компьютерах требовалась предварительная настройка браузера. А на мобильных устройствах браузеры вообще не поддерживают работу с модальными окнами.

Поэтому в «1С: Предприятии» был стандартно реализован специ- альный режим работы интерфейса без использования модальных окон. В чем заключается его основная особенность?

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

«модальность» для пользователя. Он не сможет выполнить никакие другие действия, пока не закроет такое окно.

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

Чтобы система знала, с какого места продолжать исполнение программного кода, блокирующему окну передается имя процедуры,


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

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...