В предыдущей статье, мной был рассмотрен принцип получения последовательности дней, однако теперь мы можем использовать эту последовательность, для получения остатков на каждый день чистым запросом.
Ниже можно посмотреть на готовый запрос на примере конфигурации 1С: УНФ 3.0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
ВЫБРАТЬ 0 КАК Цифра ПОМЕСТИТЬ ВТ_Цифры ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Цифры.Цифра * 100 + ВТ_Цифры1.Цифра * 10 + ВТ_Цифры2.Цифра КАК Число ПОМЕСТИТЬ ВТ_Числа ИЗ ВТ_Цифры КАК ВТ_Цифры, ВТ_Цифры КАК ВТ_Цифры1, ВТ_Цифры КАК ВТ_Цифры2 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&ДатаНачала, ДЕНЬ, ВТ_Числа.Число) КАК Дата ПОМЕСТИТЬ ВТ_ПоследовательностьДат ИЗ ВТ_Числа КАК ВТ_Числа ГДЕ ДОБАВИТЬКДАТЕ(&ДатаНачала, ДЕНЬ, ВТ_Числа.Число) <= &ДатаОкончания ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_ПоследовательностьДат.Дата КАК Дата, ЗапасыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, СУММА(ВЫБОР КОГДА ЗапасыНаСкладахОстаткиИОбороты.Период = &ДатаНачала ТОГДА ЗапасыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток ИНАЧЕ ВЫБОР КОГДА ЗапасыНаСкладахОстаткиИОбороты.Период <= ВТ_ПоследовательностьДат.Дата ТОГДА ЗапасыНаСкладахОстаткиИОбороты.КоличествоОборот ИНАЧЕ 0 КОНЕЦ КОНЕЦ) КАК Остаток ИЗ РегистрНакопления.ЗапасыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, День, , Номенклатура = &Номенклатура) КАК ЗапасыНаСкладахОстаткиИОбороты, ВТ_ПоследовательностьДат КАК ВТ_ПоследовательностьДат СГРУППИРОВАТЬ ПО ВТ_ПоследовательностьДат.Дата, ЗапасыНаСкладахОстаткиИОбороты.Номенклатура УПОРЯДОЧИТЬ ПО Дата |