СОЗДАНИЕ РЕГИСТРА НАКОПЛЕНИЯ, ОТЧЕТА
Создание оборотного регистра накопления «Продажи»
1. Создать регистр накопления «Продажи» с видом регистра «Обороты». На закладке «Данные» создать измерения:
Ø «Номенклатура», тип СправочникСсылка.Номенклатура,
Ø «Покупатель», тип СправочникСсылка.Покупатели,
Ø «Мастер», тип СправочникСсылка.Сотрудники.
Также создать ресурсы:
Ø «Количество», тип Число, длина 15, точность 3,
Ø «Выручка», тип Число, длина 15, точность 2,
Ø «Стоимость», тип Число, длина 15, точность 2.
2. Открыть окно редактирования документа «Оказание услуги». На закладке «Движения» в окне «Регистры накопления» установить флаг «Продажи».
3. Отладить изменения. Открыть одновременно регистры накопления «Продажи» и «ОстаткиМатериалов». Обратите внимание на аналогичность форм.
4. Перейти в окне редактирования документа «Оказание услуги» на закладку «Прочее» → «Модуль объекта». Внести в процедуре «обработка проведения» изменения, выделенные жирным шрифтом:
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора
//внесенные вручную изменения будут утеряны!!!
Для Каждого ТекСтрокаПереченьНоменклатуры
Из ПереченьНоменклатуры Цикл
Если ТекСтрокаПереченьНоменклатуры.
Номенклатура.ВидНоменклатуры <>
Перечисления.ВидыНоменклатуры.Материал Тогда Продолжить;
КонецЕсли;
// регистр ОстаткиМатериалов Расход
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Склад = Склад;
Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;
//КонецЦикла;
//Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл
// регистр СтоимостьМатериалов Расход
Движение = Движения.СтоимостьМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Стоимость = ТекСтрокаПереченьНоменклатуры. Стоимость*
ТекСтрокаПереченьНоменклатуры.Количество;
КонецЦикла;
Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры
Цикл
// регистр Продажи
Движение = Движения.Продажи.Добавить();
Движение.Период = Дата;
Движение.Номенклатура = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Покупатель = Покупатель;
Движение.Мастер = Мастер;
Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;
Движение.Выручка = ТекСтрокаПереченьНоменклатуры.Сумма;
Движение.Стоимость = ТекСтрокаПереченьНоменклатуры.Стоимость *
ТекСтрокаПереченьНоменклатуры.Количество;
КонецЦикла;
// записываем движения регистров
Движения.ОстаткиМатериалов.Записать();
Движения.СтоимостьМатериалов.Записать();
Движения.Продажи.Записать();
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
5. Отладить изменения. В режиме отладки открыть одновременно регистр накопления «Продажи» и документы «Оказание услуги». Перепровести все документы«Оказание услуги». Обратить внимание, как меняется при этом регистр накопления «Продажи». Просмотреть список «Продажи», развернув окно.






