Множественный подбор. с использованием множественного выбора. В режиме «Конфигуратор». В режиме «1С:Предприятие». Использование метода «Оповестить о выборе()»
Множественный подбор с использованием множественного выбора В режиме «Конфигуратор» Последний способ подбора, который мы рассмотрим, будет сочетать в себе оба рассмотренных ранее способа. Мы будем отмечать сразу несколько элементов справочника и подбирать их в документ без закрытия формы выбора. Затем снова отмечать несколько элементов справочника и подбирать их в документ. Для этого нам будет необходимо при открытии формы выбора устано- вить оба параметра: ЗакрыватьПриВыборе и МножественныйВыбор. Процедура нажатия кнопки Подбор будет выглядеть следующим образом (листинг 26. 6). листинг 26. 6. Обработчик нажатия кнопки «Подбор»
В режиме «1С: Предприятие» Запустим «1С: Предприятие» в режиме отладки. Перейдем в раздел Учет материалов, откроем список приходных накладных и создадим новую приходную накладную. В командной панели списка материалов нажмем кнопку Подбор. Откроем группу Услуги } Телевизоры, выделим в ней все услуги и нажмем кнопку Выбрать. Откроем группу Материалы } Прочее, выделим в ней все материалы и нажмем кнопку Выбрать. Закроем окно с формой выбора справочника Номенклатура.
Использование метода «Оповестить о выборе()» Метод формы ОповеститьОВыборе() используется в тех случаях, когда алгоритм формирования данных подбора сложен и кроме собственно выбора элемента справочника от пользователя требуется указание некоторой дополнительной информации. В этом случае метод ОповеститьОВыборе() вызывается тогда, когда вся необходимая информация подбора сформирована. Метод ОповеститьОВыборе() посылает оповещение владельцу формы о выполнении выбора или подбора, передает ему выбранное значение и закрывает форму, если она открыта не в режиме множественного выбора.
Также метод ОповеститьОВыборе() может использоваться в тех случаях, когда требуется передать в форму документа не только выбранный элемент справочника (или массив элементов), а некоторую произвольную структуру данных.
Особенности разработки в режиме без использования модальности На этом же примере с подбором номенклатуры в табличную часть приходной накладной рассмотрим те особенности, которые нужно знать разработчику о режиме работы интерфейса без использования модальных окон. Этот режим является стандартным для новых, создаваемых с нуля конфигураций и определяется свойством конфигурации РежимИспользованияМодальности. Теория Прежде чем приступить к практической части, нужно сказать несколько слов о том, почему стандартно используется именно такой режим работы интерфейса. Исторически сложилось так, что обычные «десктопные» прило- жения часто используют в своей работе модальные окна. И «1С: Предприятие» не является исключением. Модальные окна очень удобны в тех ситуациях, когда от пользователя требуется ввод информации, без которой невозможно дальнейшее выпол- нение алгоритма. При этом полностью блокируется весь остальной интерфейс программы, а исполнение программного кода останавли- вается до тех пор, пока пользователь не закроет модальное окно. Однако с тех пор, как «1С: Предприятие» перестало быть «обычным десктопным приложением», с появлением веб-клиента и с переходом «1С: Предприятия» на мобильные платформы использование модальных окон стало вызывать много проблем. Основные неудобства заключались в том, что для нормальной работы веб-клиента на обычных компьютерах требовалась предварительная настройка браузера. А на мобильных устройствах браузеры вообще не поддерживают работу с модальными окнами.
Поэтому в «1С: Предприятии» был стандартно реализован специ- альный режим работы интерфейса без использования модальных окон. В чем заключается его основная особенность? В этом режиме работы интерфейса окно, которое раньше было бы модальным, рисуется в пределах родительского окна и точно так же блокирует весь остальной интерфейс. Таким образом обеспечивается «модальность» для пользователя. Он не сможет выполнить никакие другие действия, пока не закроет такое окно. Однако для разработчика в момент отображения блокирующего окна исполнение программного кода не останавливается. Программный код продолжает выполняться дальше. Это означает, что алгоритм, который обычно являлся одним целым, теперь придется разделить на две части: одну, которая заканчивается открытием блокирующего окна, и вторую, которая будет выполнена тогда, когда пользователь закроет это окно. Чтобы система знала, с какого места продолжать исполнение программного кода, блокирующему окну передается имя процедуры, которая должна быть выполнена тогда, когда пользователь закроет это окно. Именно с этой процедуры и продолжится выполнение программного кода. Суть этих изменений проще всего увидеть на следующем примере. Этот пример немного надуман и вряд ли представляет большую практическую ценность. Но он нужен для того, чтобы легче понять второй, уже достаточно практический пример.
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|