Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика_4.docx
Скачиваний:
11
Добавлен:
15.02.2016
Размер:
1.87 Mб
Скачать

Разработка документа ОказаниеУслуги

Создадим новый документ ОказаниеУслуги.

Сделаем его доступным в 2-х подсистемах: бухгалтерия и оказание услуг.

В основные реквизиты добавим:

  • Склад – ссылка на справочник склады

  • Клиент – ссылка на справочник Клиенты

  • Мастер – ссылка на справочник сотрудники.

Добавим в документ табличную часть ПереченьНоменклатуры, со следующими реквизитами:

  • Материал ссылка на справочник Номенклатура

  • Количество число целое, неотрицательное

  • Цена – число, 2 знака после запятой, неотрицательное

  • Стоимость - число, 2 знака после запятой, неотрицательное

На закладке Формы для документа создадим основную форму

Так же как и в документе «Приходная накладная» добавим обработчики событий, чтобы у нас при изменении значений в столбце количество или цена пересчитывался столбец Сумма.

Для этого, выделим элемент МатериалыКоличество и в контексном меню выберем событие «При изменении», щелкнем по нему и попадем в редактор модуля формы документа. Аналогично надо сделать для элемента МатериалыЦена.

Внесем тексты модулей

Добавим возможность создания нового документа ОказаниеУслуг в подсистеме Оказание услуг.

Проверим заполнение документа в режиме исполнения.

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

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

2. Разработка универсальной функции обращения к регистру сведений.

Для того чтобы учитывать изменение ценовой политики, и чтобы у нас при формировании документа Оказание услуг автоматические подставлялась последняя цена, надо написать специальную функцию. Создадим периодический регистр Сведений ЦеныТоваровУслуг, который хранит цены на товары и услуги, предоставляемые нашей фирмой. Регистр периодический, период месяц. Цены хранятся в единственной валюте – в рублях. Поэтому в регистре присутствует одно измерение ТоварУслуга, которой ссылается на справочник Номенклатура.

Структура этого регистра следующая

Разработаем функцию получения актуальной цены на материалы. Эту функцию можно будет применить при формировании документов.

Создадим функцию РозничнаЦена(). Поместим ее в общий модуль, чтобы она была доступна для всех объектов.

Откроем конфигуратор

Добавим новый модуль РаботаСоСправочниками

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

Поместим в него следующий текст:

Здесь “ТоварУслуга” – это имя измерения в РегистреСведений, в котором мы храним цены на наши товары и услуги. ЗначениеРесурсов.Цена – это последняя цена на заданное значение измерения.

Откроем форму документа ОказаниеУслуги.

Выбирам поле МатериалыМатериал и событие ПриИзменении и создаем новую процедуру

Теперь заполним регистр сведений ЦеныТоваровУслуг и проверим, как работают все наши разработанные функции.

Проверьте можно ли добавить новую запись в регистр Сведений и в этом же сеансе работы применить автоматически эту цену?