Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1С: Лабораторная работа №6.doc
Скачиваний:
44
Добавлен:
23.03.2016
Размер:
482.82 Кб
Скачать

Использование регистра Цены в документе ПоступлениеИзФилиалов

В документе ПоступлениеИзФилиалов необходимо после выбора товара обеспечить автоматическую постановку цены на указанную дату. В окне редактирования формы документа ПоступлениеИзФилиалов необходимо написать процедуру, которая выполняется при вводе товара в табличной части документа. Для этого в окне свойств необходимо перейти к обработке события ПриИзменении (Рис. 9).

Рис. 9. Окно формы документа ПоступлениеИзФилиалов

Процедура заполнения цены на указанную дату приведена в листинге 3.

Листинг 3. Процедура заполнения цены

&НаКлиенте

Процедура НоменклатураНазваниеПриИзменении(Элемент)

ТекущаяСтрока = Элементы.Номенклатура.ТекущиеДанные;

Товар = ТекущаяСтрока.Название;

ТекущаяСтрока.Цена = НоменклатураНазваниеПриИзмененииНаСервере(Товар);

КонецПроцедуры

&НаСервере

Функция НоменклатураНазваниеПриИзмененииНаСервере(Товар)

ОтборЦена = Новый Структура ("Номенклатура", Товар);

ЗначениеРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее (ТекущаяДата(), ОтборЦена);

Возврат ЗначениеРесурсов.Цена;

КонецФункции

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

ЗначениеРесурсов = РегистрыСведений.Цены.Получить(ТекущаяДата(),ОтборЦена)

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

Метод ПолучитьПоследнее () позволяет извлечь из регистра последнюю по времени цену (не позднее указанной даты) для выбора товара.

Далее на форме документа необходимо ввести количество, что должно привести к автоматическому расчету суммы. Для этого необходимо оформить процедуру ПриИзменении для поля Количество (листинг 4).

Листинг 4. Процедура заполнения поля Сумма

&НаКлиенте

Процедура НоменклатураКоличествоПриИзменении(Элемент)

Товар = Элементы.Номенклатура.ТекущиеДанные;

Товар.Сумма = Товар.Цена * Товар.Количество;

КонецПроцедуры

Задание для самостоятельного выполнения

  1. Создайте процедуры для автоматической установки цены в соответствующем поле документа ПоступлениеИзФилиалов, воспользовавшись листингом процедуры в приведенном выше примере.

  2. Создайте процедуры для автоматического расчета суммы в соответствующем поле документа ПоступлениеИзФилиалов, воспользовавшись листингом процедуры в приведенном выше примере.

  3. В режиме «1С: Предприятие» убедитесь в работоспособности созданных процедур.