Имя: Пароль:
1C
1С v8
Помогите с запросом
0 dron78
 
23.04.15
07:12
День добрый о наимудрейшие ))))
помогите сделать красиво запрос
вообщем есть  простейший запрос

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

УПОРЯДОЧИТЬ ПО
    БалансовыйОстаткиИОбороты.Субконто1,
    БалансовыйОстаткиИОбороты.Регистратор.Дата
ИТОГИ ПО
    ОБЩИЕ,
    Контрагент,
    Регистратор
Используется для выборки задолженности контрагентов
вначале идет выборка по контрагентам потом по их док-ам
как переделать запрос чтобы контрагенты при выборке были отсортированы по "БалансовыйОстаткиИОбороты.СуммаКонечныйОстаток"
что то не получается, то ли лыжи не едут то ли.....
1 Beduin
 
23.04.15
07:15
(0) У тебя же сейчас сортировка по контрагенту и дате
2 dron78
 
23.04.15
07:17
да, а надо чтоб по СК и дате (вместо контрагента его конечная задолженность)
3 dron78
 
23.04.15
07:19
я пробовал вот так
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    БалансовыйОстатки.Субконто1 КАК Контрагент,
    БалансовыйОстатки.СуммаОстатокДт КАК СК1
ПОМЕСТИТЬ ТЗ
ИЗ
    РегистрБухгалтерии.Балансовый.Остатки(&Дата2, Счет В ИЕРАРХИИ (&Счета), , ) КАК БалансовыйОстатки
;

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

УПОРЯДОЧИТЬ ПО
    ТЗ.СК1,
    БалансовыйОстаткиИОбороты.Регистратор.Дата
ИТОГИ ПО
    ОБЩИЕ,
    Контрагент,
    Регистратор
всё равно не правильно получается(если без использования итогов то всё хорошо, но мне нужно именно с итогами)
4 zak555
 
23.04.15
07:20
передай контрагентов в параметр виртуальной таблицы
5 dron78
 
23.04.15
07:24
извини....не можешь поподробнее? что это даст?
6 zak555
 
23.04.15
07:29
не нужно будет соединение
7 dron78
 
23.04.15
07:33
соединение всё равно не помогло
8 ИсчадиеADO
 
23.04.15
07:37
тоже заметил, что при использовании итогов упорядочивание слетает :( боролся тем, что включал нужные поля в секцию итогов и делал обходы выборки. грят итоги по - это не скульным запросом выполняется, а на стороне сервера 1с
9 ИсчадиеADO
 
23.04.15
07:38
и делал  лишние обходы выборки*
10 dron78
 
23.04.15
07:47
ну да,но я не могу включить "СК" в итоги(вариант когда у двух контрагентов одинаковая задолженность). Просто я чужой отчет переделываю и у него в дальнейшем много что завязано на использовании этого запроса. жуть как не хочется полностью переделывать отчет целиком :(((, но видимо придётся
11 ИсчадиеADO
 
23.04.15
07:53
(10) ну одинаковая, и что с того? У тебя просто добавятся лишние обходы выборки. Можешь еще в таблицу поместить и отсортировать, а потом обходить таблицу, но это чревато для скорости
12 dron78
 
23.04.15
08:07
если одинакова то он сгруппирует документы(Регистраторы) двух разных контрагентов в одну выборку, а это не очень хорошо.
Ну вообщем благодарю всех откликнувшихся. Видимо элегантного решения не существует ))). я просто думал мож у меня уже ролики за шарики заехали, задача то по своей логике простая.
13 ИсчадиеADO
 
23.04.15
08:15
(12) итоги сначала общие, потом по контрагенту, потом по сумме, потом по дате документа... Не? И СКД это дело норм. обрабатывает, кстати. Если макет отчета не сложный, закинул тот же запрос в скд, только без упорядочивания и итогов, и вуаля