|                                И СрокГодности < &ДатаДок) КАК ОборудованиеОстатки

               |;

               |

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

               |ВЫБРАТЬ

               |        ОстаткиНоменклатурыОстатки. Номенклатура,

               |        ОстаткиНоменклатурыОстатки. КоличествоОстаток,

               |        ОстаткиНоменклатурыОстатки. СуммаОстаток

               |ПОМЕСТИТЬ ВТ_ОстаткиНоменклатуры

               |ИЗ

               |        РегистрНакопления. ОстаткиНоменклатуры. Остатки(

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

               |                        Номенклатура В

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

               |                                (ВЫБРАТЬ

               |                                        ВТ_Оборудование. Номенклатура

               |                                ИЗ

               |                                        ВТ_Оборудование КАК ВТ_Оборудование)) КАК ОстаткиНоменклатурыОстатки

               |;

               |

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

               |ВЫБРАТЬ

               |        ВТ_Оборудование. Номенклатура КАК Номенклатура,

               |        ВТ_Оборудование. СрокГодности,

               |        ВТ_Оборудование. СрокЭкс,

               |        ВТ_Оборудование. КоличествоОстаток КАК КолОборудования,

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

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

               |        ПРЕДСТАВЛЕНИЕ(ВТ_Оборудование. Номенклатура)

               |ИЗ

               |        ВТ_Оборудование КАК ВТ_Оборудование

               |                ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОстаткиНоменклатуры КАК ВТ_ОстаткиНоменклатуры

               |                ПО ВТ_Оборудование. Номенклатура = ВТ_ОстаткиНоменклатуры. Номенклатура

               |ИТОГИ

               |        СУММА(КолОборудования),

               |        МАКСИМУМ(КолОстаток),

               |        МАКСИМУМ(СуммаОстаток)

               |ПО

               |        Номенклатура";

       

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

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

       

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

       

       ВыборкаНоменклатура = РезультатЗапроса. Выбрать(ОбходРезультатаЗапроса. ПоГруппировкам);

       

       Пока ВыборкаНоменклатура. Следующий() Цикл

               

               КоличествоСписать = ВыборкаНоменклатура. КолОборудования;

               Если КоличествоСписать = ВыборкаНоменклатура. КолОстаток Тогда

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

               Иначе

                       СуммаСписать = ВыборкаНоменклатура. СуммаОстаток * КоличествоСписать / ВыборкаНоменклатура. КолОстаток;

               КонецЕсли;

               

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

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

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

               Движение. Номенклатура = ВыборкаНоменклатура. Номенклатура;

               Движение. Количество = КоличествоСписать;

               Движение. Сумма  = СуммаСписать;

               

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

       

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

                       

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

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

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

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

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

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

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

               КонецЦикла;

       КонецЦикла;

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

Отчет «СостояниеОборудования»

ВЫБРАТЬ

       ОборудованиеОстатки. Номенклатура,

       ОборудованиеОстатки. КоличествоОстаток КАК Количество,

       РАЗНОСТЬДАТ(&Период, ОборудованиеОстатки. СрокГодности, ДЕНЬ) КАК ОставшийсяСрокГодности,

       РАЗНОСТЬДАТ(&Период, ОборудованиеОстатки. СрокЭкс, ДЕНЬ) КАК ОставшийсяСрокЭксплуатации,

       ОборудованиеОстатки. КоличествоОстаток * ВЫБОР

               КОГДА ЕСТЬNULL(ОстаткиНоменклатурыОстатки. КоличествоОстаток, 0) = 0

                       ТОГДА 0

               ИНАЧЕ ОстаткиНоменклатурыОстатки. СуммаОстаток / ОстаткиНоменклатурыОстатки. КоличествоОстаток

       КОНЕЦ КАК Сумма

ИЗ

       РегистрНакопления. Оборудование. Остатки(, СрокЭкс <> ДАТАВРЕМЯ(1, 1, 1)) КАК ОборудованиеОстатки

               ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления. ОстаткиНоменклатуры. Остатки КАК ОстаткиНоменклатурыОстатки

               ПО ОборудованиеОстатки. Номенклатура = ОстаткиНоменклатурыОстатки. Номенклатура

РН ОстаткиНоменклатуры

       РН «Оборудование»

СрокГодности, СрокЭкс ТИП Дата

Бухгалтерский учет

Необходимо создать документ «Операция», с помощью которого пользователь должен иметь возможность ввести проводки с произвольной корреспонденцией счетов. При решении задач следует учитывать возможность наличия проводок, сформированных с помощью данного документа.

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