helpf.pro
Регистрация

v8: Не могу получить отчет в нужном виде

MaratSpb
21.06.2011 16:16Прочитано: 2592
Задача вроде и простая, а что-то не получается. Суть вот в чем: Делаю отчет - "Материальная ведомость" в комплексной автоматизации(хотя наверно не важно). Мне нужно получить Остаток на начало, Остаток на конец, а приход и расход должен разбиваться по периоду.
Например отчет за месяц январь с разбиением по неделям: Начальный Остаток на 01.01.2011, Приход и Расход за первую неделя, за вторую, за третью, за четвертую, и Конечный Остаток на 31.01.2011 23:59:59.
Никак не могу этого добиться у меня почему-то всегда и НачальныйОстаток и Приход и Расход и КонечныйОстатокделяться разбивается по неделям.
Может кто-то уже такое делал?
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
21.06.2011 16:28Ответ № 1
(0) MaratSpb, запрос покажи
MaratSpb
21.06.2011 16:31Ответ № 2
ТекстЗапроса = "ВЫБРАТЬ
| СУММА(ВложенныйЗапрос.СуммаПриход) КАК СуммаПриход,
| СУММА(ВложенныйЗапрос.СуммаРасход) КАК СуммаРасход,
| СУММА(ВложенныйЗапрос.КоличествоПриход) КАК КоличествоПриход,
| СУММА(ВложенныйЗапрос.КоличествоРасход) КАК КоличествоРасход,
| Источник.Номенклатура,
| Источник.Склад,
| СУММА(Источник.СуммаНачальныйОстаток) КАК СуммаНачальныйОстаток,
| СУММА(Источник.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
| СУММА(Источник.СуммаКонечныйОстаток) КАК СуммаКонечныйОстаток,
| СУММА(Источник.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
| ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ВложенныйЗапрос.День
|{ВЫБРАТЬ
| СуммаПриход,
| СуммаРасход,
| КоличествоПриход,
| КоличествоРасход,
| Номенклатура.*,
| Склад.*,
| СуммаНачальныйОстаток,
| КоличествоНачальныйОстаток,
| СуммаКонечныйОстаток,
| КоличествоКонечныйОстаток,
| ЕдиницаИзмерения.*,
| День}
|ИЗ
| (ВЫБРАТЬ
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВложенныйЗапрос.Склад КАК Склад,
| СУММА(ВложенныйЗапрос.СуммаНачальныйОстаток) КАК СуммаНачальныйОстаток,
| СУММА(ВложенныйЗапрос.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
| СУММА(ВложенныйЗапрос.СуммаКонечныйОстаток) КАК СуммаКонечныйОстаток,
| СУММА(ВложенныйЗапрос.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток
| ИЗ
| (ВЫБРАТЬ
| ХозрасчетныйНачальныеОстатки.Субконто1 КАК Номенклатура,
| ХозрасчетныйНачальныеОстатки.Субконто2 КАК Склад,
| СУММА(ХозрасчетныйНачальныеОстатки.СуммаОстаток) КАК СуммаНачальныйОстаток,
| СУММА(ХозрасчетныйНачальныеОстатки.КоличествоОстаток) КАК КоличествоНачальныйОстаток,
| СУММА(0) КАК СуммаКонечныйОстаток,
| СУММА(0) КАК КоличествоКонечныйОстаток
| ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&НачПериода, Счет В ИЕРАРХИИ (&Счет), , Субконто2 = &Склад) КАК ХозрасчетныйНачальныеОстатки
|
| СГРУППИРОВАТЬ ПО
| ХозрасчетныйНачальныеОстатки.Субконто1,
| ХозрасчетныйНачальныеОстатки.Субконто2
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ХозрасчетныйКонечныеОстатки.Субконто1,
| ХозрасчетныйКонечныеОстатки.Субконто2,
| СУММА(0),
| СУММА(0),
| СУММА(ХозрасчетныйКонечныеОстатки.СуммаОстаток),
| СУММА(ХозрасчетныйКонечныеОстатки.КоличествоОстаток)
| ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&КонПериода, Счет В ИЕРАРХИИ (&Счет), , Субконто2 = &Склад) КАК ХозрасчетныйКонечныеОстатки
|
| СГРУППИРОВАТЬ ПО
| ХозрасчетныйКонечныеОстатки.Субконто1,
| ХозрасчетныйКонечныеОстатки.Субконто2) КАК ВложенныйЗапрос
|
| СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.Склад,
| ВложенныйЗапрос.Номенклатура) КАК Источник
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ХозрасчетныйОбороты.Субконто1 КАК Номенклатура,
| ХозрасчетныйОбороты.Субконто2 КАК Склад,
| СУММА(ХозрасчетныйОбороты.СуммаОборотДт) КАК СуммаПриход,
| СУММА(ХозрасчетныйОбороты.СуммаОборотКт) КАК СуммаРасход,
| СУММА(ХозрасчетныйОбороты.КоличествоОборотДт) КАК КоличествоПриход,
| СУММА(ХозрасчетныйОбороты.КоличествоОборотКт) КАК КоличествоРасход,
| НАЧАЛОПЕРИОДА(ХозрасчетныйОбороты.Период, ДЕНЬ) КАК День
| ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, Регистратор, Счет В ИЕРАРХИИ (&Счет), , Субконто2 = &Склад, , ) КАК ХозрасчетныйОбороты
|
| СГРУППИРОВАТЬ ПО
| ХозрасчетныйОбороты.Субконто1,
| ХозрасчетныйОбороты.Субконто2,
| НАЧАЛОПЕРИОДА(ХозрасчетныйОбороты.Период, ДЕНЬ)) КАК ВложенныйЗапрос
| ПО Источник.Номенклатура = ВложенныйЗапрос.Номенклатура
| И Источник.Склад = ВложенныйЗапрос.Склад
|{ГДЕ
| ВложенныйЗапрос.СуммаПриход,
| ВложенныйЗапрос.СуммаРасход,
| ВложенныйЗапрос.КоличествоПриход,
| ВложенныйЗапрос.КоличествоРасход,
| Источник.Номенклатура.*,
| Источник.Склад.*,
| Источник.СуммаНачальныйОстаток,
| Источник.КоличествоНачальныйОстаток,
| Источник.СуммаКонечныйОстаток,
| Источник.КоличествоКонечныйОстаток,
| ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения.*,
| ВложенныйЗапрос.День}
|
|СГРУППИРОВАТЬ ПО
| Источник.Склад,
| Источник.Номенклатура,
| ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения,
| ВложенныйЗапрос.День
|{УПОРЯДОЧИТЬ ПО
| СуммаПриход,
| СуммаРасход,
| КоличествоПриход,
| КоличествоРасход,
| Номенклатура.*,
| Склад.*,
| СуммаНачальныйОстаток,
| КоличествоНачальныйОстаток,
| СуммаКонечныйОстаток,
| КоличествоКонечныйОстаток,
| ЕдиницаИзмерения.*,
| День}
|{ИТОГИ ПО
| Склад.*,
| Номенклатура.*,
| День}";
MaratSpb
21.06.2011 17:41Ответ № 3
Или можно как-то наложить ограничения на столбцы, когда в универсальном отчете делаешь группировку по столбцам, чтоб группировку шла не по всем столбцам?
E_Migachev
21.06.2011 17:47Ответ № 4
впринципе идея запроса правильная, а через временные таблицы не проще бы было сделать, и работать будет быстрее
MaratSpb
21.06.2011 17:59Ответ № 5
Так не пробовал, точнее пока не знаю. А через временные таблицы получиться разбить группировки?
E_Migachev
22.06.2011 09:17Ответ № 6
конечно получится
MaratSpb
22.06.2011 10:23Ответ № 7
А можно какой-нибудь примерчик. Или как можно поместить вложенный запрос во временную таблицу
E_Migachev
22.06.2011 10:39Ответ № 8
(7) MaratSpb, в Живом поиске (вверху) вбей временные таблиц и он выдаст тебе необходимое
MaratSpb
22.06.2011 11:04Ответ № 9
Там немного не то я просто делаю все через построитель отчета, вот как там в конструкторе запросов создать эту временную таблицу не знаю
MaratSpb
22.06.2011 11:07Ответ № 10
точнее все делаю через универсальный отчет
MaratSpb
22.06.2011 11:43Ответ № 11
Попробовал через временные таблица, все равно группировка по колонкам идет не так как мне надо. Текст запроса прилагаю:
MaratSpb
22.06.2011 11:43Ответ № 12
ВЫБРАТЬ
Источник.Номенклатура КАК Номенклатура,
Источник.Склад КАК Склад,
СУММА(Источник.СуммаНачальныйОстаток) КАК СуммаНачальныйОстаток,
СУММА(Источник.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
СУММА(Источник.СуммаКонечныйОстаток) КАК СуммаКонечныйОстаток,
СУММА(Источник.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток
ПОМЕСТИТЬ Остатки
ИЗ
(ВЫБРАТЬ
ВложенныйЗапрос.Номенклатура КАК Номенклатура,
ВложенныйЗапрос.Склад КАК Склад,
СУММА(ВложенныйЗапрос.СуммаНачальныйОстаток) КАК СуммаНачальныйОстаток,
СУММА(ВложенныйЗапрос.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
СУММА(ВложенныйЗапрос.СуммаКонечныйОстаток) КАК СуммаКонечныйОстаток,
СУММА(ВложенныйЗапрос.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток
ИЗ
(ВЫБРАТЬ
ХозрасчетныйНачальныеОстатки.Субконто1 КАК Номенклатура,
ХозрасчетныйНачальныеОстатки.Субконто2 КАК Склад,
СУММА(ХозрасчетныйНачальныеОстатки.СуммаОстаток) КАК СуммаНачальныйОстаток,
СУММА(ХозрасчетныйНачальныеОстатки.КоличествоОстаток) КАК КоличествоНачальныйОстаток,
СУММА(0) КАК СуммаКонечныйОстаток,
СУММА(0) КАК КоличествоКонечныйОстаток
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&НачПериода, Счет В ИЕРАРХИИ (&Счет), , Субконто2 = &Склад) КАК ХозрасчетныйНачальныеОстатки

СГРУППИРОВАТЬ ПО
ХозрасчетныйНачальныеОстатки.Субконто1,
ХозрасчетныйНачальныеОстатки.Субконто2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ХозрасчетныйКонечныеОстатки.Субконто1,
ХозрасчетныйКонечныеОстатки.Субконто2,
СУММА(0),
СУММА(0),
СУММА(ХозрасчетныйКонечныеОстатки.СуммаОстаток),
СУММА(ХозрасчетныйКонечныеОстатки.КоличествоОстаток)
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&КонПериода, Счет В ИЕРАРХИИ (&Счет), , Субконто2 = &Склад) КАК ХозрасчетныйКонечныеОстатки

СГРУППИРОВАТЬ ПО
ХозрасчетныйКонечныеОстатки.Субконто1,
ХозрасчетныйКонечныеОстатки.Субконто2) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.Склад,
ВложенныйЗапрос.Номенклатура) КАК Источник

СГРУППИРОВАТЬ ПО
Источник.Склад,
Источник.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Обороты.Субконто1 КАК Номенклатура,
Обороты.Субконто2 КАК Склад,
СУММА(Обороты.СуммаОборотДт) КАК СуммаПриход,
СУММА(Обороты.КоличествоОборотДт) КАК КоличествоПриход,
СУММА(Обороты.СуммаОборотКт) КАК СуммаРасход,
СУММА(Обороты.КоличествоОборотКт) КАК КоличествоРасход,
НАЧАЛОПЕРИОДА(Обороты.Период, ДЕНЬ) КАК ПериодДень,
НАЧАЛОПЕРИОДА(Обороты.Период, НЕДЕЛЯ) КАК ПериодНеделя,
НАЧАЛОПЕРИОДА(Обороты.Период, ДЕКАДА) КАК ПериодДекада,
НАЧАЛОПЕРИОДА(Обороты.Период, МЕСЯЦ) КАК ПериодМесяц,
НАЧАЛОПЕРИОДА(Обороты.Период, КВАРТАЛ) КАК ПериодКвартал,
НАЧАЛОПЕРИОДА(Обороты.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
НАЧАЛОПЕРИОДА(Обороты.Период, ГОД) КАК ПериодГод
ПОМЕСТИТЬ Обороты
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, Регистратор, Счет В ИЕРАРХИИ (&Счет), , Субконто2 = &Склад, , ) КАК Обороты

СГРУППИРОВАТЬ ПО
Обороты.Субконто1,
Обороты.Субконто2,
НАЧАЛОПЕРИОДА(Обороты.Период, НЕДЕЛЯ),
НАЧАЛОПЕРИОДА(Обороты.Период, ДЕКАДА),
НАЧАЛОПЕРИОДА(Обороты.Период, МЕСЯЦ),
НАЧАЛОПЕРИОДА(Обороты.Период, КВАРТАЛ),
НАЧАЛОПЕРИОДА(Обороты.Период, ПОЛУГОДИЕ),
НАЧАЛОПЕРИОДА(Обороты.Период, ГОД),
НАЧАЛОПЕРИОДА(Обороты.Период, ДЕНЬ)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Остатки.Номенклатура,
Остатки.Склад,
СУММА(Остатки.СуммаНачальныйОстаток) КАК СуммаНачальныйОстаток,
СУММА(Остатки.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
СУММА(Остатки.СуммаКонечныйОстаток) КАК СуммаКонечныйОстаток,
СУММА(Остатки.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
СУММА(Обороты.СуммаПриход) КАК СуммаПриход,
СУММА(Обороты.КоличествоПриход) КАК КоличествоПриход,
СУММА(Обороты.СуммаРасход) КАК СуммаРасход,
СУММА(Обороты.КоличествоРасход) КАК КоличествоРасход,
Обороты.ПериодДень,
Обороты.ПериодНеделя,
Обороты.ПериодДекада,
Обороты.ПериодМесяц,
Обороты.ПериодКвартал,
Обороты.ПериодПолугодие,
Обороты.ПериодГод
{ВЫБРАТЬ
Номенклатура.*,
Склад.*,
СуммаНачальныйОстаток,
КоличествоНачальныйОстаток,
СуммаКонечныйОстаток,
КоличествоКонечныйОстаток,
СуммаПриход,
КоличествоПриход,
СуммаРасход,
КоличествоРасход,
ПериодДень,
ПериодНеделя,
ПериодДекада,
ПериодМесяц,
ПериодКвартал,
ПериодПолугодие,
ПериодГод}
ИЗ
Остатки КАК Остатки
ЛЕВОЕ СОЕДИНЕНИЕ Обороты КАК Обороты
ПО Остатки.Номенклатура = Обороты.Номенклатура
И Остатки.Склад = Обороты.Склад
{ГДЕ
Остатки.Номенклатура.*,
Остатки.Склад.*,
Остатки.СуммаНачальныйОстаток,
Остатки.КоличествоНачальныйОстаток,
Остатки.СуммаКонечныйОстаток,
Остатки.КоличествоКонечныйОстаток,
Обороты.СуммаПриход,
Обороты.КоличествоПриход,
Обороты.СуммаРасход,
Обороты.КоличествоРасход,
Обороты.ПериодДень,
Обороты.ПериодНеделя,
Обороты.ПериодДекада,
Обороты.ПериодМесяц,
Обороты.ПериодКвартал,
Обороты.ПериодПолугодие,
Обороты.ПериодГод}

СГРУППИРОВАТЬ ПО
Обороты.ПериодПолугодие,
Остатки.Номенклатура,
Остатки.Склад,
Обороты.ПериодДень,
Обороты.ПериодНеделя,
Обороты.ПериодДекада,
Обороты.ПериодГод,
Обороты.ПериодКвартал,
Обороты.ПериодМесяц
{УПОРЯДОЧИТЬ ПО
Номенклатура.*,
Склад.*,
СуммаНачальныйОстаток,
КоличествоНачальныйОстаток,
СуммаКонечныйОстаток,
КоличествоКонечныйОстаток,
СуммаПриход,
КоличествоПриход,
СуммаРасход,
КоличествоРасход,
ПериодДень,
ПериодНеделя,
ПериодДекада,
ПериодМесяц,
ПериодКвартал,
ПериодПолугодие,
ПериодГод}
{ИТОГИ ПО
Номенклатура.*,
Склад.*,
ПериодДень,
ПериодНеделя,
ПериодДекада,
ПериодМесяц,
ПериодКвартал,
ПериодПолугодие,
ПериодГод}
АВТОУПОРЯДОЧИВАНИЕ
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ Остатки
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ Обороты
E_Migachev
22.06.2011 14:53Ответ № 13
по каким счетам строишь?
щас попробую)
MaratSpb
22.06.2011 15:22Ответ № 14
по 10
кароче по всем где есть склады и номенклатура
MaratSpb
07.07.2011 12:52Ответ № 15
Вопрос закрыт!
Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или .
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.