Основы. Экранные формы справочников - Основы - 1С v.7.7 - Каталог статей - Программирование в 1С
Программирование в 1ССреда, 07.12.2016, 12:33

| RSS
Главная | Каталог статей
Меню сайта

Категории раздела
Основы [36]
Общие вопросы по 1С 7.7 [88]
1С: Бухгалтерия 7.7 [7]
1С: Торговля 7.7 [4]
1С:Зарплата и кадры 7.7 [1]
1С 7.7: Проблемы и решения [33]
УРБД [3]
Управление Распределенными Базами Данных
OLE [2]
Механизм обмена данными между базами 1С через OLE
SQL [1]
Сервер терминалов [1]
Интеграция с внешними приложениями [3]
FAQ по 1С v.7.7 [7]
FAQ по 1С v.7.7

Поиск

Поиск по сайту

Главная » Статьи » 1С v.7.7 » Основы

Основы. Экранные формы справочников
Экранные формы справочников

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

    Модуль формы списка содержит процедуры и функции, которые действуют в контексте данной формы (в контексте объекта Справочник).

    Предопределенные процедуры вызываются системой 1С при наступлении определенных событий, поэтому они являются обработчиками событий.

    ПриОткрытии – Вызывается при открытии формы списка справочника. Можно задать начальные значения для переменных, проверить права пользователя на открытие данного справочника и т.д.

    ПриЗакрытии – Вызывается при закрытии формы списка справочника.

    ПриЗаписи – Вызывается при записи элемента справочника, если элементы вводятся прямо в форме списка, а не в форме элемента. Это используется для справочников с простой структурой, например справочник Должности. В этой процедуре можно проверить вводимые данные на наличие ошибок.

    ПриВыбореРодителя(НовРодитель) – Вызывается при выборе родителя (группы). В этой процедуре можно проверить права пользователя на просмотр элементов данной группы.

    ПриВыбореВладельца(НовВладелец) – Вызывается при выборе владельца справочника-хозяина. Имеет смысл, если данный справочник подчинен другому.

    ПриУстановкеОтбора(Реквизит,Значение) – Предопределенная процедура при интерактивной установке отбора любым способом (отбор, быстрый отбор, отбор по значению, история отбора) и при отключении отбора.

    ПриВыбореСтроки() – Режим обработки выбора строки (двойной щелчок мыши или клавиша Enter) включается в форме списка справочника, журнала документов, счетов, журнала операций, журнала проводок при помощи метода Форма.ОбработкаВыбораСтроки(1). Тогда при выборе строки будет вызываться эта предопределенная процедура.

    В форме списка справочника элементы могут быть отсортированы в различном порядке: по коду, по наименованию или по любому реквизиту, у которого в Конфигураторе установлен флажок Сортировка. Задать тип сортировки можно программно методом Сортировка (Способ, ФлагРазрешенияИзменения).

Процедура ПриОткрытии()
...... Сортировка(“Код”,0); //сортировка по коду, пользователь изменить не может
КонецПроцедуры

    В форме списка справочника элементы могут быть отфильтрованы, т.е. пользователю будут показаны только нужные элементы. Программно установить отбор можно методом УстановитьОтбор (Реквизит, Значение). Для этого у реквизита должен быть установлен флажок “Отбор по реквизиту” в Конфигураторе.

Процедура ПриОткрытии()
...... УстановитьОтбор(“Год”,1980);
КонецПроцедуры

    В 1С 7.7 нельзя установить отбор по периодическому реквизиту или по нескольким реквизитам одновременно (сложный фильтр). В этом случае выходом из положения может быть метод ИспользоватьСписокЭлементов. Этому методу нужно передать список элементов, которые должны быть показаны. Предварительно этот список нужно сформировать.

Процедура ПоказатьРаботающихПлотников()
СписокЭлементов = СоздатьОбъект(“СписокЗначений”);
СпрСотр = СоздатьОбъект(“Справочник.Сотрудники”);
СпрСотр.ИспользоватьДату(РабочаяДата());
СпрСотр.ВыбратьЭлементы();
Пока СпрСотр.ПолучитьЭлемент()=1 Цикл
.....Если (СпрСотр.Родитель = группаРаботающие) И (СпрСотр.Должность=длжПлотник) Тогда
...........СписокЭлементов.ДобавитьЗначение(СпрСотр.ТекущийЭлемент());
.....КонецЕсли;
КонецЦикла;
ИспользоватьСписокЭлементов(СписокЭлементов);
КонецПроцедуры

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

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

    ПриЗакрытии() – Вызывается при закрытии формы элемента справочника.

    ПриЗаписи() – Вызывается при записи элемента справочника. В этой процедуре можно проверить вводимые данные на наличие ошибок.

Пример: справочник Сотрудники

Процедура ПриЗаписи()
....Если Категория.Выбран()=0 Тогда
.........Предупреждение(“Не указана категория сотрудника!”);
.........СтатусВозврата(0);
.....КонецЕсли;
КонецПроцедуры

    ВводНового() – Вызывается при интерактивном вводе нового элемента справочника. В этой процедуре можно проверить права пользователя на создание новых элементов справочника, а также задать начальные значения реквизитов.
Категория: Основы | Добавил: Spacer (18.05.2008)
Просмотров: 5246 | Теги: справочник
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Статистика

    Copyright 1C:Programmer © 2016
    Бесплатный конструктор сайтов - uCoz