Откроем конфигуратор и создадим новый объект конфигурации Регистр накопления.
- На закладке Основные:имя - Продажи; вид регистра – Обороты; расширенное представление списка – Движения документа по регистру Продажи.
- На закладке Подсистемы: отметим, что этот регистр будет отображаться в подсистемах Бухгалтерия, Учет материалов и Оказание услуг.
- На закладке Данные:создадим измерения регистра:
- Номенклатура, тип СправочникСсылка.Номенклатура;
- Клиент, тип СправочникСсылка.Клиенты;
- Мастер, тип СправочникСсылка.Сотрудники.
Создадим три ресурса
- Количество, тип Число, длина 15, точность 3;
- Выручка, тип Число, длина 15, точность 2;
- Стоимость, тип Число, длина 15, точность 2.
Рис. 12.1. Создание регистров
- В дереве объектов конфигурации выделим ветвь Подсистемы, вызовем Все подсистемы: В открывшемся окне выделим подсистему Бухгалтерия; в группе Панель навигации.Обычное включим видимость у команды Продажи и мышью перетащим ее в группу Панель навигации.См.также.
Аналогично, выделив подсистемы ОказаниеУслуг и УчетМатериалов, в панели навигации включим видимость у команды Продажи и перенесем ее в группу См. также.
Проведение документа «Оказание услуги» по трем регистрам
Изменим процедуру проведения документа ОказаниеУслуги, а затем в режиме 1С:Предприятие перепроведем все эти документы.
Откроем окно редактирования объекта конфигурации Документ ОказаниеУслуги.
- На закладке Движения: укажем, что этот документ будет создавать движения еще и по регистру Продажи.
- На закладке Прочее: нажмем кнопку Модуль объекта, затем откроем процедуру обработчика события ОбработкаПроведения и изменим код следующим образом (см. Листинг 12.1):
Листинг 12.1
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ОстаткиМатериалов.Записывать = Истина;
Движения.СтоимостьМатериалов.Записывать = Истина;
Движения.Продажи.Записывать = Истина;
Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл
Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда
//регистр ОстаткиМатериалов Расход
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Склад=Склад;
Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;
//регистр СтоимостьМатериалов Расход
Движение = Движения.СтоимостьМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Стоимость=ТекСтрокаПереченьНоменклатуры.Количество
*ТекСтрокаПереченьНоменклатуры.Стоимость;
КонецЕсли;
//РегистрПродажи
Движение = Движения.Продажи.Добавить();
Движение.Период = Дата;
Движение.Номенклатура = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Клиент = Клиент;
Движение.Мастер – Мастер;
Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;
Движение.Выручка = ТекСтрокаПереченьНоменклатуры.Сумма;
Движение.Стоимость = ТекСтрокаПереченьНоменклатуры.Стоимость
*ТекСтрокаПереченьНоменклатуры.Количество;
КонецЦикла;
КонецПроцедуры
Отредактируем командный интерфейс формы документа, чтобы в панели навигации формы иметь возможность переходить к списку записей регистра Продажи, связанному с документом:
- Откроем форму документа ОказаниеУслуги:перейдем на закладку Командный интерфейс, раскроем группу Перейти и увидим команду для открытия регистра накопления Продажи. Установим свойство Видимость для этой команды.
В режиме 1С: Предприятие перепроведем все документы для этого запустим 1С: Предприятие в режиме отладки и откроем по очереди каждый документ Оказание услуги.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ