|   |   | 
| 
 | Изменить запрос с остатками "на каждый день" НА "остатки на каждый месяц" | ☑ | ||
|---|---|---|---|---|
| 0
    
        D_Sergeevich 23.10.13✎ 10:51 | 
        Все привет.
 Есть запрос который показывает остатки на каждый день в заданном периоде. Как его изменить чтоб он показывал остатки просто на начало месяца и на конец месяца. С таблицей дат я разобрался там просто ДЕНЬ меняется на МЕСЯЦ, а вот с соединением регистра чет не получается. ВЫБРАТЬ ДенежныеСредстваОстаткиИОбороты.Период, ДенежныеСредстваОстаткиИОбороты.СуммаНачальныйОстаток, ДенежныеСредстваОстаткиИОбороты.СуммаКонечныйОстаток ПОМЕСТИТЬ ВТ_Остатки ИЗ РегистрНакопления.ДенежныеСредства.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, , ) КАК ДенежныеСредстваОстаткиИОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, Цифры4.Цифра * 1000 + Цифры3.Цифра * 100 + Цифры2.Цифра * 10 + Цифры1.Цифра * 1) КАК Период ПОМЕСТИТЬ ВТ_Календарь ИЗ (ВЫБРАТЬ 0 КАК Цифра ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Цифры1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК Цифра ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Цифры2 ПО (Цифры2.Цифра * 10 + Цифры1.Цифра * 1 <= РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ)) ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК Цифра ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Цифры3 ПО (Цифры3.Цифра * 100 + Цифры2.Цифра * 10 + Цифры1.Цифра * 1 <= РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ)) ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК Цифра ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Цифры4 ПО (Цифры4.Цифра * 1000 + Цифры3.Цифра * 100 + Цифры2.Цифра * 10 + Цифры1.Цифра * 1 <= РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ)) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВложенныйЗапрос.Дата КАК Дата, ЕСТЬNULL(ВТ_Остатки.СуммаНачальныйОстаток, 0) КАК СуммаНачальныйОстаток, ЕСТЬNULL(ВТ_Остатки1.СуммаКонечныйОстаток, 0) КАК СуммаКонечныйОстаток ИЗ (ВЫБРАТЬ МИНИМУМ(ВТ_Остатки.Период) КАК ПериодНач, МАКСИМУМ(ВТ_Остатки1.Период) КАК ПериодКон, ВТ_Календарь.Период КАК Дата ИЗ ВТ_Календарь КАК ВТ_Календарь ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Остатки КАК ВТ_Остатки ПО ВТ_Календарь.Период <= ВТ_Остатки.Период ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Остатки КАК ВТ_Остатки1 ПО ВТ_Календарь.Период >= ВТ_Остатки1.Период СГРУППИРОВАТЬ ПО ВТ_Календарь.Период) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Остатки КАК ВТ_Остатки ПО ВложенныйЗапрос.ПериодНач = ВТ_Остатки.Период ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Остатки КАК ВТ_Остатки1 ПО ВложенныйЗапрос.ПериодКон = ВТ_Остатки1.Период УПОРЯДОЧИТЬ ПО Дата | |||
| 1
    
        D_Sergeevich 23.10.13✎ 11:13 | 
        Ну где же Вы гуру 1С...     | |||
| 2
    
        Михаил Козлов 23.10.13✎ 11:47 | 
        Периодичность = МЕСЯЦ в ОстаткиИОбороты не подходит?     | |||
| 3
    
        D_Sergeevich 23.10.13✎ 12:30 | 
        (2) Да благодарю, помогло. Чет я поначалу ступил.     | |||
| 4
    
        Михаил Козлов 23.10.13✎ 12:42 | 
        (3) Мне кажется, достаточно просто ОстаткиИОбороты без дополнительных таблиц. Штатная ведомость по ДС чем не устраивает?     | |||
| 5
    
        D_Sergeevich 23.10.13✎ 12:46 | 
        (4) Самописная конфа     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |