Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Процедура ОбработкаПроведения(Отказ, Режим)
- //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
- // Данный фрагмент построен конструктором.
- // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
- // регистр ОстаткиМатериалов Расход
- Движения.ОстаткиМатериалов.Записывать = Истина;
- Движения.СтоимостьМатериалов.Записывать=Истина;
- Движения.Продажи.Записывать = Истина;
- МенеджерВТ = Новый МенеджерВременныхТаблиц;
- //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
- // Данный фрагмент построен конструктором.
- // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
- Запрос = Новый Запрос;
- Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
- Запрос.Текст =
- "ВЫБРАТЬ
- | ОказаниеУслугПереченьНоменклатуры.Номенклатура,
- | ОказаниеУслугПереченьНоменклатуры.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры,
- | СУММА(ОказаниеУслугПереченьНоменклатуры.Количество) КАК КоличествоВДокументе,
- | СУММА(ОказаниеУслугПереченьНоменклатуры.Сумма) КАК СуммаВДокументе
- |ПОМЕСТИТЬ НоменклатураДокумента
- |ИЗ
- | Документ.ОказаниеУслуг.ПереченьНоменклатуры КАК ОказаниеУслугПереченьНоменклатуры
- |ГДЕ
- | ОказаниеУслугПереченьНоменклатуры.Ссылка = &Ссылка
- |
- |СГРУППИРОВАТЬ ПО
- | ОказаниеУслугПереченьНоменклатуры.Номенклатура,
- | ОказаниеУслугПереченьНоменклатуры.Номенклатура.ВидНоменклатуры";
- Запрос.УстановитьПараметр("Ссылка", Ссылка);
- //Запрос.Текст="Уничтожить НоменклатураДокумента";
- РезультатЗапроса = Запрос.Выполнить();
- Запрос2 = Новый Запрос;
- Запрос2.МенеджерВременныхТаблиц = МенеджерВТ;
- Запрос2.Текст = "ВЫБРАТЬ
- | НоменклатураДокумента.Номенклатура,
- | НоменклатураДокумента.ВидНоменклатуры,
- | НоменклатураДокумента.КоличествоВДокументе,
- | НоменклатураДокумента.СуммаВДокументе,
- | СтоимостьМатериаловОстатки.Материал,
- | ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток, 0) КАК Стоимость,
- | ЕСТЬNULL(ОстаткиМатериаловОстатки.КоличествоОстаток, 0) КАК Количество
- |ИЗ
- | НоменклатураДокумента КАК НоменклатураДокумента
- | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки(
- | ,
- | Материал В
- | (ВЫБРАТЬ
- | НоменклатураДокумента.Номенклатура
- | ИЗ
- | НоменклатураДокумента)) КАК СтоимостьМатериаловОстатки
- | ПО НоменклатураДокумента.Номенклатура = СтоимостьМатериаловОстатки.Материал
- | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки(
- | ,
- | Материалы В
- | (ВЫБРАТЬ
- | НоменклатураДокумента.Номенклатура
- | ИЗ
- | НоменклатураДокумента)) КАК ОстаткиМатериаловОстатки
- | ПО НоменклатураДокумента.Номенклатура = ОстаткиМатериаловОстатки.Материалы"; //КоличествоОстаток
- Движения.СтоимостьМатериалов.Записать();
- Движения.ОстаткиМатериалов.Записать();
- РезультатЗапроса = Запрос2.Выполнить();
- ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
- Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
- Если ВыборкаДетальныеЗаписи.Количество = 0 тогда
- СтоимостьМатериала=0;
- Иначе
- СтоимостьМатериала = ВыборкаДетальныеЗаписи.Стоимость/ВыборкаДетальныеЗаписи.Количество;
- КонецЕсли;
- Если ВыборкаДетальныеЗаписи.ВидНоменклатуры = Перечисления.ВидыНоменклатуры тогда
- Движение = Движения.ОстаткиМатериалов.Добавить();
- Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
- Движение.Период = Дата;
- Движение.Материалы = ВыборкаДетальныеЗаписи.Номенклатура;
- Движение.склад = Склад;
- Движение.количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе;
- Движение=Движения.СтоимостьМатериалов.Добавить();
- Движение.ВидДвижения=ВидДвиженияНакопления.Расход;
- Движение.Период = Дата;
- Движение.Материалы = ВыборкаДетальныеЗаписи.Номенклатура;
- Движение.Стоимость = ВыборкаДетальныеЗаписи.Количество * СтоимостьМатериала;
- конецЕсли;
- Движение = движения.Продажи.Добавить();
- Движение.Период = Дата;
- Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
- Движение.Клиент = Клиент;
- Движение.Мастер = Мастер;
- Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе;
- Движение.Выручка = ВыборкаДетальныеЗаписи.СуммаВДокументе;
- Движение.Стоимость = СтоимостьМатериала * ВыборкаДетальныеЗаписи.КоличествоВДокументе;
- КонецЦикла;
- //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
- //Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материалы тогда
- // Движение = Движения.ОстаткиМатериалов.Добавить();
- // Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
- // Движение.Период = Дата;
- // Движение.Материалы = ТекСтрокаПереченьНоменклатуры.Номенклатура;
- // Движение.Склад = Склад;
- // Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;
- // Движение=Движения.СтоимостьМатериалов.Добавить();
- // Движение.ВидДвижения=ВидДвиженияНакопления.Расход;
- // Движение.Период=Дата;
- // Движение.Материал=ТекСтрокаПереченьНоменклатуры.номенклатура;
- // Движение.Стоимость=ТекСтрокаПереченьНоменклатуры.количество*ТекСтрокаПереченьНоменклатуры.Стоимость;
- //КонецЕсли;
- //Движение = Движения.Продажи.Добавить();
- //Движение.Период = Дата;
- //Движение.Клиент = Клиент;
- //Движение.Мастер = Мастер;
- //Движение.Номенклатура= ТекСтрокаПереченьНоменклатуры.Номенклатура;
- //Движение.Количество= ТекСтрокаПереченьНоменклатуры.Количество;
- //Движение.Выручка=ТекСтрокаПереченьНоменклатуры.Сумма;
- //Движение.Стоимость = ТекСтрокаПереченьНоменклатуры.Цена * ТекСтрокаПереченьНоменклатуры.Количество;
- //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
- КонецПроцедуры
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement