|        ОсновнойОстатки. КоличествоОстатокДт,

       |        ОсновнойОстатки. СуммаОстатокДт

       |ИЗ

       |        РегистрБухгалтерии. Основной. Остатки(

       |                        &МоментВремени,

       |                        Счет = ЗНАЧЕНИЕ(ПланСчетов. Управленческий. Товары),

       |                        ,

       |                        Субконто1 В

       |                                        (ВЫБРАТЬ

       |                                                ВТ_МВТ. Номенклатура

       |                                        ИЗ

       |                                                ВТ_МВТ КАК ВТ_МВТ

НЕ нашли? Не то? Что вы ищете?

       |                                        ГДЕ

       |                                                НЕ ВТ_МВТ. ЭтоКомплектующая)

       |                                И Субконто2 = &Склад) КАК ОсновнойОстатки

       |;

       |

       |////////////////////////////////////////////////////////////////////////////////

       |ВЫБРАТЬ

       |        ВТ_МВТ. Номенклатура,

       |        ВТ_МВТ. ЭтоКомплектующая,

       |        ВТ_МВТ. Количество,

       |        ВТ_МВТ. Сумма,

       |        ЕСТЬNULL(ВТ_Остатки. КоличествоОстаток, 0) КАК КоличествоОстаток,

       |        ЕСТЬNULL(ВТ_Остатки. СуммаОстаток, 0) КАК СуммаОстаток

       |ИЗ

       |        ВТ_МВТ КАК ВТ_МВТ

       |                ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Остатки КАК ВТ_Остатки

       |                ПО ВТ_МВТ. Номенклатура = ВТ_Остатки. Номенклатура";

       

       Запрос. УстановитьПараметр("МоментВремени", МоментВремени());

       Запрос. УстановитьПараметр("Склад", Склад);

       

       РезультатЗапроса = Запрос. Выполнить();

       

       ВыборкаДетальныеЗаписи = РезультатЗапроса. Выбрать();

       

       Пока ВыборкаДетальныеЗаписи. Следующий() Цикл

               Если ВыборкаДетальныеЗаписи. Количество > ВыборкаДетальныеЗаписи. КоличествоОстаток Тогда

                       Сообщение = Новый СообщениеПользователю;

                       Сообщение. Текст = "Не хватает номенклатуры: " + ВыборкаДетальныеЗаписи. Номенклатура + " в количестве " + (ВыборкаДетальныеЗаписи. Количество - ВыборкаДетальныеЗаписи. КоличествоОстаток);

                       Сообщение. Сообщить();

                       

                       Отказ = Истина;

               ИначеЕсли ВыборкаДетальныеЗаписи. Количество = ВыборкаДетальныеЗаписи. КоличествоОстаток Тогда

                       Движение = Движения. Основной. Добавить();

                       Движение. СчетДт = ПланыСчетов. Управленческий. ПрибылиУбытки;

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

                       Движение. КоличествоКт = ВыборкаДетальныеЗаписи. КоличествоОстаток;

                       Движение. Сумма = ВыборкаДетальныеЗаписи. СуммаОстаток;

                       Движение. СубконтоДт[ПланыВидовХарактеристик. ВидыСубконто. Номенклатура] = ВыборкаДетальныеЗаписи. Номенклатура;

                       Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Номенклатура] = ВыборкаДетальныеЗаписи. Номенклатура;

                       

                       Если ВыборкаДетальныеЗаписи. ЭтоКомплектующая Тогда

                               Движение. СчетКт = ПланыСчетов. Управленческий. Материалы;

                       Иначе

                               Движение. СчетКт = ПланыСчетов. Управленческий. Товары;

                               Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Склад] = Склад;

                       КонецЕсли;

               Иначе

                       Движение = Движения. Основной. Добавить();

                       Движение. СчетДт = ПланыСчетов. Управленческий. ПрибылиУбытки;

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

                       Движение. КоличествоКт = ВыборкаДетальныеЗаписи. Количество;

                       Движение. Сумма = Окр(?(ВыборкаДетальныеЗаписи. КоличествоОстаток = 0,0, ВыборкаДетальныеЗаписи. СуммаОстаток/ВыборкаДетальныеЗаписи. КоличествоОстаток*ВыборкаДетальныеЗаписи. Количество),2);

                       Движение. СубконтоДт[ПланыВидовХарактеристик. ВидыСубконто. Номенклатура] = ВыборкаДетальныеЗаписи. Номенклатура;

                       Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Номенклатура] = ВыборкаДетальныеЗаписи. Номенклатура;

                       

                       Если ВыборкаДетальныеЗаписи. ЭтоКомплектующая Тогда

                               Движение. СчетКт = ПланыСчетов. Управленческий. Материалы;

                       Иначе

                               Движение. СчетКт = ПланыСчетов. Управленческий. Товары;

                               Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Склад] = Склад;

                       КонецЕсли;

               КонецЕсли;

               Движения. Основной. Записывать = Истина;

               Движение = Движения. Основной. Добавить();

               Движение. СчетДт = ПланыСчетов. Управленческий. Покупатели;

               Движение. СчетКт = ПланыСчетов. Управленческий. ПрибылиУбытки;

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

               Движение. Сумма = ВыборкаДетальныеЗаписи. Сумма;

               Движение. СубконтоКт[ПланыВидовХарактеристик. ВидыСубконто. Номенклатура] = ВыборкаДетальныеЗаписи. Номенклатура;

       КонецЦикла;

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

Документ «Операция»

Описание вынесено отдельно

Отчет «Продажи»

ВЫБРАТЬ

       ОсновнойОборотыДтКт. СубконтоКт1 КАК Номенклатура,

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11