Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Объекты конфигурации-18.11.2012.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3 Мб
Скачать
☆

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

Задача, которая стоит, заключается в следу­ющем.

При создании документа ОказаниеУслуги необходимо обеспечить автоматическое заполнение поля Цена после того, как пользователь выберет услугу.

Цена услуги должна опреде­ляться исходя из даты создаваемого документа.

Находим в конфигураторе документ ОказаниеУслуги и открываем его форму ФормаДокумента.

Откроем свойства поля ввода, распо­ложенного в колонке Номенклатура, и внизу списка найдем событие ПриИзменении.

Нажмем на кнопку с лупой и в открывшейся заго­товке обработчика события вводим следующий текст (листинг 1.2).

Листинг 1.2. Процедура ПереченъНоменклатурыНоменклатураПриИзменении()

В первой строке обработчика получаем те­кущую строку табличной части документа, так как она понадо­бится в дальнейшем.

Во второй строке устанавливаем полученную цену в документе, вызывая нашу процедуру РозничнаяЦена.

Первым параметром передаем дату документа, на которую необходимо получить цену.

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

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

Проверим работу документа. Запустим 1С:Предприятие в режиме отладки и откроем регистр сведений Цены.

Для тран­зистора Philips добавим следующим числом новую цену (рис. 1.4).

Р ис. 1.4. Регистр сведений Цены

Откроем документ Оказание услуги № 1. Этим документом «израсходовали» один транзистор

Рис. 1.5. Заполнение документа Оказание услуги

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

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

Будет установ­лено новое значение цены (рис. 1.6).

Р ис. 1.6. Заполнение документа Оказание услуги

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

Перечисления

Часто требуется некоторый признак, позволяющий од­нозначно определять принадлежность элемента справочника к ма­териалам или услугам, независимо от изменения иерархической структуры справочника.

Создадим у справочника Номенклатура специ­альный реквизит, тип значения которого образуется новым объектом конфигурации Перечисление.

Это поможет определять, чем является элемент справочника Номенклатура: услугой или материалом.

Скоррек­тируем процедуру проведения документа Оказание услуги и рассмотрим процесс работы с перечислением средствами встроенного языка.

Объект конфигурации Перечисление

Объект конфигурации Перечисление является прикладным и предназначен для описания структуры хранения постоянных набо­ров значений, не изменяемых в процессе работы конфигурации.

На основе объекта конфигурации Перечисление платформа создает в базе данных информационную структуру, в которой может хранить­ся набор некоторых постоянных значений.

Этому объекту может соответствовать, на­пример, перечисление вариантов указания цены («включая НДС», «без НДС»).

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