Лабораторная работа №4

СОЗДАНИЕ РЕГИСТРА НАКОПЛЕНИЯ, ОТЧЕТА

Создание оборотного регистра накопления «Продажи»

1. Создать регистр накопления «Продажи» с видом регистра «Обороты». На закладке «Данные» создать измерения:

Ø «Номенклатура», тип СправочникСсылка.Номенклатура,

Ø «Покупатель», тип СправочникСсылка.Покупатели,

Ø «Мастер», тип СправочникСсылка.Сотрудники.

Также создать ресурсы:

Ø «Количество», тип Число, длина 15, точность 3,

Ø «Выручка», тип Число, длина 15, точность 2,

Ø «Стоимость», тип Число, длина 15, точность 2.

2. Открыть окно редактирования документа «Оказание услуги». На закладке «Движения» в окне «Регистры накопления» установить флаг «Продажи».

3. Отладить изменения. Открыть одновременно регистры накопления «Продажи» и «ОстаткиМатериалов». Обратите внимание на аналогичность форм.

4. Перейти в окне редактирования документа «Оказание услуги» на закладку «Прочее» → «Модуль объекта». Внести в процедуре «обработка проведения» изменения, выделенные жирным шрифтом:

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора

//внесенные вручную изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьНоменклатуры

Из ПереченьНоменклатуры Цикл

Если ТекСтрокаПереченьНоменклатуры.

Номенклатура.ВидНоменклатуры <>

Перечисления.ВидыНоменклатуры.Материал Тогда Продолжить;

КонецЕсли;

// регистр ОстаткиМатериалов Расход

Движение = Движения.ОстаткиМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;

Движение.Склад = Склад;

Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;

//КонецЦикла;

//Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл

// регистр СтоимостьМатериалов Расход

Движение = Движения.СтоимостьМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;

Движение.Стоимость = ТекСтрокаПереченьНоменклатуры. Стоимость*

ТекСтрокаПереченьНоменклатуры.Количество;

КонецЦикла;

Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры

Цикл

// регистр Продажи

Движение = Движения.Продажи.Добавить();

Движение.Период = Дата;

Движение.Номенклатура = ТекСтрокаПереченьНоменклатуры.Номенклатура;

Движение.Покупатель = Покупатель;

Движение.Мастер = Мастер;

Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;

Движение.Выручка = ТекСтрокаПереченьНоменклатуры.Сумма;

Движение.Стоимость = ТекСтрокаПереченьНоменклатуры.Стоимость *

ТекСтрокаПереченьНоменклатуры.Количество;

КонецЦикла;

// записываем движения регистров

Движения.ОстаткиМатериалов.Записать();

Движения.СтоимостьМатериалов.Записать();

Движения.Продажи.Записать();

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

5. Отладить изменения. В режиме отладки открыть одновременно регистр накопления «Продажи» и документы «Оказание услуги». Перепровести все документы«Оказание услуги». Обратить внимание, как меняется при этом регистр накопления «Продажи». Просмотреть список «Продажи», развернув окно.




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