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


