В режиме «Конфигуратор». В режиме «1С:Предприятие»
В режиме «Конфигуратор» Чтобы решить поставленную задачу, откроем форму списка документа ОказаниеУслуги, которую мы создали ранее. В редакторе формы создадим реквизиты формы ПрограммныйОтбор типа Булево и два реквизита произвольного типа – ПолеОтбора и ЗначениеОтбора. Эти реквизиты будут хранить информацию о программном отборе в форме списка. Затем создадим обработчик события формы ПриСозданииНаСервере и заполним его следующим образом (листинг 27. 8). листинг 27. 8. Обработчик события формы «ПриСозданииНаСервере» При создании формы списка с помощью коллекции параметров формы мы проверяем, был ли установлен отбор по полю Мастер. Если такой отбор установлен, то мы устанавливаем признак того, что форма была открыта с программным отбором, реквизит ПолеОт- бора устанавливаем как поле компоновки данных с именем Мастер, а в реквизит ЗначениеОтбора помещаем соответствующее значение отбора из коллекции параметров формы. Далее создадим обработчик события формы ПриОткрытии и заполним его следующим образом (листинг 27. 9). листинг 27. 9. Обработчик события формы «ПриОткрытии» Код обработчика выполняется в случае, если форма была открыта с программным отбором. Сначала обходится коллекция элементов отбора фиксированных настроек компоновщика настроек динамического списка. Если в коллекции присутствует элемент отбора, в котором ЛевоеЗначение равно значению реквизита ПолеОтбора (т. е. установлен программный отбор по полю Мастер), то этот элемент удаляется. Затем этот же отбор добавляется в коллекцию настроек динамиче- ского списка КомпоновщикНастроек. Настройки. Отбор, и измененные настройки загружаются в компоновщик настроек.
Теперь осталось только удалить созданный элемент отбора при закрытии формы списка документа ОказаниеУслуги. Для этого создадим обработчик события формы ПередЗакрытием и заполним его следующим образом (листинг 27. 10). листинг 27. 10. Обработчик события формы «ПередЗакрытием» Код обработчика выполняется в случае, если форма была открыта с программным отбором. Коллекция элементов отбора настроек компоновщика настроек дина- мического списка КомпоновщикНастроек. Настройки. Отбор обходится в цикле. Если в коллекции присутствует элемент отбора, в котором ЛевоеЗначение равно значению реквизита ПолеОтбора, то этот элемент удаляется. Затем измененные настройки загружаются в компоновщик настроек.
В режиме «1С: Предприятие» Запустим «1С: Предприятие», откроем список сотрудников и нажмем кнопку Оказание услуг. Откроется список документов об оказании услуг, где мастером является текущий сотрудник. Вызовем окно настройки списка, выполнив команду Еще } Настроить список… В открывшемся окне мы видим добавленный нами отбор по полю Мастер, который пользователь может изменить или очистить (рис. 27. 42).
При закрытии формы списка этот отбор удаляется. Таким образом, мы рассмотрели, как открыть форму списка с заданным отбором и как предоставить пользователю возможность редактировать этот отбор.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|