Имя: Пароль:
1C
1С v8
оптимизировать запрос
0 Woolf
 
25.01.12
20:04
Доброго времени суток! Просьба подсказать, как оптимизировать (а по-моему, как правильно написать) запрос по выплате зарплаты через банк.
Вся проблема заключается в том, что после соединения ТЧ имеет место многократный дубляж строк.

ВЫБРАТЬ
ХозрасчетныйОбороты.СуммаОборотДт  КАК СуммаОборот,
ХозрасчетныйОбороты.Субконто1      КАК Субконто1,
ХозрасчетныйОбороты.Регистратор    КАК Регистратор,
ТабЧастьРегистратора.Ведомость     КАК Ведомость
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(&НачДата, &КонДата, Регистратор, Счет = &псХозрРасчетыСПерс,&ВидСубконто, ,КорСчет = &псХозрРасчСч, ) КАК ХозрасчетныйОбороты
ЛЕВОЕ СОЕДИНЕНИЕ
Документ.СписаниеСРасчетногоСчета.ПеречислениеЗаработнойПлаты КАК ТабЧастьРегистратора
ПО ХозрасчетныйОбороты.Регистратор = ТабЧастьРегистратора.Ссылка
ГДЕ
ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.СписаниеСРасчетногоСчета
УПОРЯДОЧИТЬ ПО
Регистратор.Дата, Субконто1.Наименование
1 catena
 
25.01.12
20:10
Ессесно имеет - к каждой строке тч документа присоединяется по строчке с оборотом по регистру... А чего хотелось-то?
2 Woolf
 
25.01.12
20:20
ведомость получить хотелось вдобавок к регистратору "Списание с расчётного счёта"
3 catena
 
25.01.12
20:26
(2)Ведомость в табличной части? ЕЕ много? Ее и получаешь. Что не устраивает?
4 Woolf
 
25.01.12
20:39
(3) - выборка потом не устраивает: десять раз один и тот же сотрудник с тем же оборотом и по тому же регистратору проходит. Десять одинаковых строк. Где я ошибся не пойму - это не устраивает больше всего.
5 catena
 
25.01.12
20:43
(4)Что есть в табличной части документа СписаниеСРасчетногоСчета? Ну, кроме ведомости?
6 Woolf
 
25.01.12
20:45
физлицо
суммаплатежа
СтатьяДвиженияДенежныхСредств
7 catena
 
25.01.12
20:45
(6)Ну так соедини по физлицу еще.
8 catena
 
25.01.12
20:46
Документ.СписаниеСРасчетногоСчета.ПеречислениеЗаработнойПлаты КАК ТабЧастьРегистратора
ПО ХозрасчетныйОбороты.Регистратор = ТабЧастьРегистратора.Ссылка
и ХозрасчетныйОбороты.Субконто1= ТабЧастьРегистратора.Филицо
9 DrShad
 
25.01.12
20:46
чем больше связей, тем меньше получается выборка - это же элементарно
10 Woolf
 
25.01.12
20:49
да уж
пора за парту
спасибо
11 Woolf
 
25.01.12
20:51
хотя, видно, жутко туплю:
почему множатся строки при соединении с ТЧ - это понятно
но почему эти клонированные строки пропадают при допусловии

и ХозрасчетныйОбороты.Субконто1= ТабЧастьРегистратора.Филицо
12 Woolf
 
25.01.12
20:54
+(11)

Филицо = ФиЗлицо
13 catena
 
25.01.12
21:00
(11)
При соединении ТОЛЬКО по регистратору, берется выборка из регистра и
<<к каждой строчке с равным регистратором добавляется по строчке из тч документа-регистратора(ну все же строчки попадают под условие связи).>>
При соединении по регистратору и ФЛ,
<<к каждой строчке с равным регистратором и ФЛ добавляется по строчке из тч регистратора с таким же фл(теперь уже под условие связи попадают не все строчки.)>>
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс