Имя: Пароль:
1C
1С v8
Сгруппировать по типу регистратора в ТОРГ-29
0 R0m1n
 
14.05.13
08:45
УТ 10.3, товарный отчет. имеется следующий код:
   
Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("Дата1", НачалоДня(ДатаНач));
   Запрос.УстановитьПараметр("Дата2", КонецДня(ДатаКон));
   Запрос.УстановитьПараметр("Склад", Склад);

   Если Склад.ВидСклада = Перечисления.ВидыСкладов.Розничный Тогда
       ТекстЗапроса = "
       |ВЫБРАТЬ РАЗРЕШЕННЫЕ
       |    NULL КАК Док,
       |    NULL КАК ДатаДок,
       |    NULL КАК НомерДок,
       |    СУММА(ОстаткиТоваров.СуммаПродажнаяНачальныйОстаток) КАК НачОст,
       |    СУММА(ОстаткиТоваров.СуммаПродажнаяКонечныйОстаток) КАК КонОст,
       |    СУММА(
       |        ВЫБОР КОГДА ОстаткиТоваров.СуммаПродажнаяПриход - ОстаткиТоваров.СуммаПродажнаяРасход > 0 ТОГДА
       |            ОстаткиТоваров.СуммаПродажнаяПриход - ОстаткиТоваров.СуммаПродажнаяРасход
       |        ИНАЧЕ
       |            0
       |        КОНЕЦ
       |    ) КАК Приход,
       |    СУММА(
       |        ВЫБОР КОГДА ОстаткиТоваров.СуммаПродажнаяРасход - ОстаткиТоваров.СуммаПродажнаяПриход > 0 ТОГДА
       |            ОстаткиТоваров.СуммаПродажнаяРасход - ОстаткиТоваров.СуммаПродажнаяПриход
       |        ИНАЧЕ
       |            0
       |        КОНЕЦ
       |    ) КАК Расход
       |ИЗ
       |    РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&Дата1, &Дата2, , , Склад = &Склад) КАК ОстаткиТоваров
       |ИМЕЮЩИЕ
       |    СУММА(ОстаткиТоваров.СуммаПродажнаяНачальныйОстаток) <> 0.00
       |    ИЛИ СУММА(ОстаткиТоваров.СуммаПродажнаяКонечныйОстаток) <> 0.00
       |    ИЛИ СУММА(ВЫБОР    КОГДА ОстаткиТоваров.СуммаПродажнаяПриход - ОстаткиТоваров.СуммаПродажнаяРасход > 0 ТОГДА
       |                    ОстаткиТоваров.СуммаПродажнаяПриход - ОстаткиТоваров.СуммаПродажнаяРасход ИНАЧЕ 0.00 КОНЕЦ) <> 0.00
       |    ИЛИ СУММА(ВЫБОР    КОГДА ОстаткиТоваров.СуммаПродажнаяРасход - ОстаткиТоваров.СуммаПродажнаяПриход > 0 ТОГДА
       |                    ОстаткиТоваров.СуммаПродажнаяРасход - ОстаткиТоваров.СуммаПродажнаяПриход ИНАЧЕ 0.00 КОНЕЦ) <> 0.00
       |;
       |ВЫБРАТЬ РАЗРЕШЕННЫЕ
       |    ОстаткиТоваров.Регистратор КАК Док,
       |    ОстаткиТоваров.Период КАК ДатаДок,
       |    ОстаткиТоваров.Регистратор.Номер КАК НомерДок,
       |    СУММА(ОстаткиТоваров.СуммаПродажнаяНачальныйОстаток) КАК НачОст,
       |    СУММА(ОстаткиТоваров.СуммаПродажнаяКонечныйОстаток) КАК КонОст,
       |    СУММА(
       |        ВЫБОР КОГДА ОстаткиТоваров.СуммаПродажнаяПриход - ОстаткиТоваров.СуммаПродажнаяРасход > 0 ТОГДА
       |            ОстаткиТоваров.СуммаПродажнаяПриход - ОстаткиТоваров.СуммаПродажнаяРасход
       |        ИНАЧЕ
       |            0
       |        КОНЕЦ
       |    ) КАК Приход,
       |    СУММА(
       |        ВЫБОР КОГДА ОстаткиТоваров.СуммаПродажнаяРасход - ОстаткиТоваров.СуммаПродажнаяПриход > 0 ТОГДА
       |            ОстаткиТоваров.СуммаПродажнаяРасход - ОстаткиТоваров.СуммаПродажнаяПриход
       |        ИНАЧЕ
       |            0
       |        КОНЕЦ
       |    ) КАК Расход
       |ИЗ
       |    РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&Дата1, &Дата2, Регистратор, , Склад = &Склад) КАК ОстаткиТоваров
       |СГРУППИРОВАТЬ ПО
       |    ОстаткиТоваров.Регистратор,
       |    ОстаткиТоваров.Период,
       |    ОстаткиТоваров.Регистратор.Номер
       |УПОРЯДОЧИТЬ ПО
       |    ОстаткиТоваров.Период
       |";

разве вот эта строка:
       |СГРУППИРОВАТЬ ПО
       |    ОстаткиТоваров.Регистратор,

не должна объединять регистраторы в группу по типу регистратора?
1 mikecool
 
14.05.13
08:46
нет
2 cw014
 
14.05.13
08:46
Нет не должна
3 cw014
 
14.05.13
08:46
Делай поле ТипЗначения(ОстаткиТоваров.Регистратор) и группируй по нему
4 ДенисЧ
 
14.05.13
08:51
(0) Регистратор - это сслыка на документ, а не на вид документа
5 R0m1n
 
14.05.13
08:54
(4) ну да, была такая мысль
я сейчас сделал просто через
       |УПОРЯДОЧИТЬ ПО
       |    ОстаткиТоваров.Регистратор,
       |    ОстаткиТоваров.Период

и вроде как все нормально - сначала видимо сортируется по алфавиту, потом по дате соответственно. может так оставить?
6 cw014
 
14.05.13
08:54
(5) Ну тут ты сам реши, как тебе нужно оставить
7 R0m1n
 
14.05.13
08:57
(6) просто интересуюсь - возможно это решение неверное, ведь по сути здесь не идет группировка именно по виду документов, она просто получается исходя из того что сами имена документов  сортируются...
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.