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

В режиме «1С:Предприятие». Открытие формы списка с заданным отбором. В режиме «Конфигуратор». Закроем отчет. Если в форме документа мы изменим склад на Розничный




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

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

Оказание услуги № ЦБ000000001.

Нажмем кнопку Остатки по складу и вызовем отчет Материалы. Форма отчета генерируется системой автоматически. Отчет будет выполнен сразу при открытии формы с отбором по складу Основной, указан- ному в форме документа (рис. 27. 39).

Закроем отчет. Если в форме документа мы изменим склад на Розничный, а затем выполним отчет нажатием кнопки Остатки по складу, то он будет сформирован с отбором по складу Розничный (в данном случае отчет будет пустой, так как у нас нет движений мате- риалов по этому складу).

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


Занятие 27



 

Рис. 27. 39. Отчет «Материалы» с отбором по складу, указанному в документе

 

Открытие формы списка с заданным отбором

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

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

Похожую задачу мы уже решали с помощью критерия отбора и механизма ввода на основании (см. раздел «Получение объектов, введенных на основании» на стр. 811). Теперь выполним ее с помощью встроенного языка.

 

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

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

Для этого создадим форму списка справочника Сотрудники, затем создадим в ней команду ОказаниеУслуг и перетащим ее в командную


панель формы. В палитре свойств команды ОказаниеУслуг, в строке Действие создадим клиентский обработчик этой команды (рис. 27. 40).

 

 

В модуле формы заполним обработчик команды следующим образом (листинг 27. 7).

листинг 27. 7. Обработчик команды «Оказание услуг»

 

Этот код очень похож на предыдущий листинг 27. 6, в котором открывалась форма отчета с отбором по значению параметризо- ванной команды. Только здесь в значение отбора для поля Мастер передается ссылка на текущий элемент списка сотрудников, которая содержится в свойстве ТекущаяСтрока таблицы формы Список, отображающей данные динамического списка. Затем этот отбор пере- дается в параметры формы при открытии формы списка документов Оказание услуги.


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

Запустим «1С: Предприятие» и откроем список сотрудников. В форме списка появилась кнопка Оказание услуг. При ее нажатии открыва- ется список документов об оказании услуг, где мастером является текущий сотрудник (рис. 27. 41).

 

 

Однако не все так просто, как может показаться. Здесь есть одна тонкость, которую нужно знать и учитывать при создании настроек (в частности, отборов) динамических списков.

Как уже говорилось, динамический список построен на основе системы компоновки данных. Настройки списка при открытии формы помещаются в свойство динамического списка Компонов- щикНастроек.

Следует различать три вида настроек динамического списка:

Фиксированные настройки, сделанные программным путем,

помещаются в свойство динамического списка КомпоновщикНа- строек. ФиксированныеНастройки;

Настройки, сделанные в конфигураторе, помещаются в свойство динамического списка КомпоновщикНастроек. Настройки;

Пользовательские настройки, сделанные в режиме 1С: Пред-

приятие, помещаются в свойство динамического списка Компо- новщикНастроек. ПользовательскиеНастройки.


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

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

Таким образом, если пользователь должен иметь возможность создавать отбор по полю, участвующему в фиксированных настройках списка, нужно удалить отбор из коллекции фиксированных настроек (КомпоновщикНастроек. ФиксированныеНастройки. Отбор) и добавить этот отбор в коллекцию основных настроек списка (КомпоновщикНа- строек. Настройки. Отбор).

 

Поделиться:





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



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