- •2.4 Лабораторная работа № 4. Регистры сведений
- •2.4.1 Теоретические сведения
- •2.4.1.1 Регистр сведений «КурсыВалют»
- •2.4.1.2 Отбор в диалоге
- •2.4.1.3 Чтение значения курса валют
- •2.4.1.4 Регистр сведений «Цены поставщиков»
- •2.4.1.5 Регистр сведений «Цены номенклатуры»
- •2.4.1.6 Создание функции РозничнаяЦена()
- •2.4.1.7 Автоматическое заполнение цены документа «ОказаниеУслуги»
- •2.4.2 Задание на лабораторную работу
- •2.4.3 Контрольные вопросы
2.4.1.1 Регистр сведений «КурсыВалют»
Создайте справочник «Валюты», определите реквизит «ПолноеНаименование», настройте форму списка. Справочник без иерархии, не подчиненный, принадлежит подсистеме «Торговля».
После этого создайте регистр сведений «КурсыВалют». У него определите одно измерение «Валюта» («ведущее») – ссылка на справочник «Валюты», ресурс «Кратность» - число (10,3), определите режим редактирования «в диалоге», настройте форму списка, форму записи регистра.
Рис. 1 Создание ресурса сведений
Рис. 2 Задание измерений ресурса
Рис. 3 Задание ресурсов регистра
Рис. 4 Создание форм для регистра сведений
Перейдем в пользовательский режим и там зададим несколько типов валют и значений их курсов на разные даты («Операции» - «Регистр сведений»).
Рис. 5 Задание значений курсов валют на разные даты
2.4.1.2 Отбор в диалоге
Добавим в форму списка возможность непосредственно из самой формы управлять отборами, для этого модифицируем форму списка, добавим на форму два флажка и три поля ввода («Форма»-«Вставить Элемент Управления»):
Флажок1 – Отбор.Валюта.Использование;
Флажок2 – Отбор.Период.Использование;
ПолеВвода1 – Отбор.Валюта.Значение;
ПолеВвода2 – Отбор.Период.ВидСравнения;
ПолеВвода3 – Отбор.Период.Значение.
Рис. 6 Размещение в диалоге флажка 1
Рис. 7 Размещение в диалоге флажка 2
Рис. 8 Размещение в диалоге поля ввода 1
Рис. 9 Размещение в диалоге поля ввода 2
Рис. 10 Размещение в диалоге поля ввода 3
Далее в свойствах необходимо указать:
для флажка «по валюте» в свойстве «Данные» необходимо выбрать «РегистрСведенийСписок.Отбор.Валюта.Использование»;
Рис. 11 Настройка флажка 1
для флажка «по валюте» в свойстве «Данные» необходимо выбрать «РегистрСведенийСписок.Отбор.Период.Использование»;
Рис. 12 Настройка флажка 2
Для поля ввода «Условие» в свойстве «Данные» необходимо выбрать «РегистрСведенийСписок.Отбор.Валюта.Значение»;
Рис. 13 Настройка поля ввода 1
Для поля ввода 2 в свойстве «Данные» необходимо выбрать «РегистрСведенийСписок.Отбор.Период.ВидСравнения»;
Рис. 14 Настройка поля ввода 2
Для поля ввода 3 в свойстве «Данные» необходимо выбрать «Отбор. Период. Значение».
Рис. 15 Настройка поля ввода 3
В результате получается следующая форма списка:
Рис. 16 Форма списка с отбором
Запустите «1С: Предприятие» в пользовательском режиме и посмотрите на работу регистра сведений «Валюты».
Рис. 17 Форма списка с отбором в пользовательском режиме
2.4.1.3 Чтение значения курса валют
Модифицируем документ «ПриходнаяНакладная» для добавления возможностей учета документов, составленных в разных валютах. Для этого в документ добавим реквизиты «Валюта» типа «СправочникСсылка.Валюты» и «Курс» типа число(10,3). В форму документа поместим реквизит данных «Валюта» и добавим реквизит формы «Курс» в виде надписи. Определим обработчик события «ПриИзменении» для поля ввода, связанного с валютой.
Рис. 18 Обработчик события «ПриИзменении»
Следует отметить, что курс будет показываться только после выбора валюты, а при открытии уже заполненного документа этого происходить не будет. Подобный результат определяется событием, которое выбрали для заполнения реквизита формы «Курс», но этот недостаток можно устранить следующим образом, превратив надпись «Валюта» в гиперссылку.
Рассмотрим пример на программное открытие формы списка регистра сведений. В форме документа «ПриходнаяНакладная» в надписи «Валюта» отметим флажок «Гиперссылка». После этого у этой надписи определим обработчик «Нажатие».
Рис. 19 Настройка надписи как гиперссылки
Рис. 20 Процедура обработчика гиперссылки
Проверьте этот механизм на практике, открывая форму списка регистра сведений с установленным отбором из разных документов, меняя значение реквизита «Валюта».