Автоматическое заполнение цены документа «ОказаниеУслуги»

Теперь проверим, как работает эта функция. Задача, которая перед нами стоит, заключается в следующем. При создании документа «ОказаниеУслуги» нам необходимо обеспечить автоматическое заполнение поля «Цена» после того, как пользователь выберет услугу. Причем цена услуги должна определяться исходя из даты создаваемого документа.

Найдем в конфигураторе документ «ОказаниеУслуги» и откроем его форму «ФормаДокумента». Откроем свойства поля ввода, расположенного в колонке «Номенклатура» табличной части «ПереченьНоменклатуры» и внизу списка найдем событие «При изменении». Нажмем на кнопку с лупой и в открывшейся заготовке обработчика события напишем текст соответствующей процедуры, аналогичные действия проделаем для табличной части «Услуги»:

Рис. 131 Обработчики выбора номенклатуры

Прокомментируем содержимое обработчика.

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

Во второй мы устанавливаем полученную цену в документе, вызывая нашу процедуру «РозничнаяЦена». Первым параметром мы передаем дату документа, на которую необходимо получить цену, а вторым параметром мы передаем ссылку, которую отображает элемент управления формой, вызвавший это событие (Элемент.Значение), т.е. ссылку на элемент справочника «Номенклатура».

В заключение мы вызываем нашу процедуру «РассчитатьСумму» из общего модуля «РаботаСДокументами» для того, чтобы она пересчитала итоговую сумму в строке нашего документа.

Проверим, как теперь работает наш документ. Запустим 1С:Предприятие в режиме отладки и откроем регистр сведений «Цены». Для транзистора Philips добавим следующим числом новую цену.

Теперь откроем документ ОказаниеУслуги №1. Давайте этим документом мы как раз «израсходуем» один такой транзистор.

Установим дату документа равной той дате, когда было задано первое значение цены транзистора, и повторим выбор транзистора в колонке «Номенклатура» табличной части документа. Автоматически установится первое значение цены.

Теперь изменим дату документа на следующий день и снова повторим выбор транзистора. Будет установлено новое значение цены.

Таким образом, в документ подбирается актуальная, на момент создания документа, цена услуги.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: