| &МоментВремени,
| Счет = ЗНАЧЕНИЕ(ПланСчетов. Управленческий. Товары),
| &Субконто,
| Субконто1 В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВТ_Детали. Деталь
| ИЗ
| ВТ_Детали КАК ВТ_Детали)
| И Субконто2 = &Склад) КАК ХозрасчетныйОстатки
| ПО ВТ_Детали. Деталь = ХозрасчетныйОстатки. Субконто1
|ИТОГИ
| СУММА(Количество),
| МАКСИМУМ(Сумма)
|ПО
| Комплект";
Субконто = Новый Массив;
Субконто. Вставить(0, ПланыВидовХарактеристик. ВидыСубконто. Номенклатура);
Субконто. Вставить(1, ПланыВидовХарактеристик. ВидыСубконто. Склады);
Запрос. УстановитьПараметр("МоментВремени", МоментВремени());
Запрос. УстановитьПараметр("Ссылка", Ссылка);
Запрос. УстановитьПараметр("Субконто", Субконто);
Запрос. УстановитьПараметр("Склад", Склад);
ВыборкаКомплект = Запрос. Выполнить().Выбрать(ОбходРезультатаЗапроса. ПоГруппировкам);
Пока ВыборкаКомплект. Следующий() Цикл
ВыборкаДетальныеЗаписи = ВыборкаКомплект. Выбрать();
Пока ВыборкаДетальныеЗаписи. Следующий() Цикл
Если ВыборкаДетальныеЗаписи. КоличествоОстаток < ВыборкаДетальныеЗаписи. КоличествоДеталей Тогда
Отказ = Истина;
Сообщение = Новый СообщениеПользователю;
Текст = "Нехватка детали: "+ ВыборкаДетальныеЗаписи. ДетальПредставление + " в кол-ве " + (ВыборкаДетальныеЗаписи. КоличествоДеталей - ВыборкаДетальныеЗаписи. КоличествоОстаток);
Сообщение. Поле = "";
Сообщение. Текст = Текст;
Сообщение. Сообщить();
КонецЕсли;
Если Отказ Тогда
Продолжить;
КонецЕсли;
Если ВыборкаДетальныеЗаписи. КоличествоДеталей = ВыборкаДетальныеЗаписи. КоличествоОстаток Тогда
СуммаСписать = ВыборкаДетальныеЗаписи. СуммаОстаток;
Иначе
СуммаСписать = ?(ВыборкаДетальныеЗаписи. КоличествоОстаток = 0, 0, ВыборкаДетальныеЗаписи. СуммаОстаток * ВыборкаДетальныеЗаписи. КоличествоДеталей / ВыборкаДетальныеЗаписи. КоличествоОстаток);
КонецЕсли;
Движение = Движения. Хозрасчетный. Добавить();
Движение. СчетДт = ПланыСчетов. Управленческий. ПрибылиУбытки;
Движение. СчетКт = ПланыСчетов. Управленческий. Товары;
Движение. Период = Дата;
Движение. КоличествоКт = ВыборкаДетальныеЗаписи. КоличествоДеталей;
Движение. Сумма = СуммаСписать;
Движение. СубконтоДт[ПланыВидовХарактеристик. ВидыСубконто. Номенклатура] = ВыборкаДетальныеЗаписи. Комплект;
Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Номенклатура] = ВыборкаДетальныеЗаписи. Деталь;
Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Склады] = Склад;
КонецЦикла;
Если НЕ ОТКАЗ Тогда
Движение = Движения. Хозрасчетный. Добавить();
Движение. СчетДт = ПланыСчетов. Управленческий. Покупатели;
Движение. СчетКт = ПланыСчетов. Управленческий. ПрибылиУбытки;
Движение. Период = Дата;
Движение. Сумма = ВыборкаКомплект. Сумма;
Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Номенклатура] = ВыборкаКомплект. Комплект;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Документ «Операция»
Вынесено отдельно
Отчет «ПродажиКомплектов»
ВЫБРАТЬ
ХозрасчетныйОборотыДтКт. СубконтоДт1 КАК Комплект,
СУММА(ХозрасчетныйОборотыДтКт. СуммаОборот) КАК Себестоимость
ПОМЕСТИТЬ ВТ_Себестоимость
ИЗ
РегистрБухгалтерии. Хозрасчетный. ОборотыДтКт(, , СчетДт = ЗНАЧЕНИЕ(ПланСчетов. Управленческий. ПрибылиУбытки), , СчетКТ = ЗНАЧЕНИЕ(ПланСчетов. Управленческий. Товары), , ) КАК ХозрасчетныйОборотыДтКт
СГРУППИРОВАТЬ ПО
ХозрасчетныйОборотыДтКт. СубконтоДт1
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ХозрасчетныйОборотыДтКт. СубконтоКт1 КАК Комплект,
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 |


