Имя: Пароль:
1C
1С v8
Проблема с запросом
0 TONLG
 
10.07.12
17:09
Попросили сделать отчет по проводкам по 97.01 счету из документа "Отражение зарплаты в регламентированном учете" чтобы группировать по подразделениям и сотрудникам
Запрос большой, выложу проблемный кусок:
Нужно подтянуть подразделение сотрудника, связь делаю по СубконтоДт2, там ссылка на физ лицо. Но получаю к каждой записе из отражения в регл. учете всех сотрудников.
ВЫБРАТЬ
   ВложенныйЗапрос.Ссылка,
   ВложенныйЗапрос.ПериодРегистрации,
   ВложенныйЗапрос.ОтражениеВУчете.(
       СчетДт,
       СубконтоДт1,
       СубконтоДт2,
       СубконтоКт1,
       СубконтоКт2,
       Сумма
   ),
   ВложенныйЗапрос1.Физлицо,
   ВложенныйЗапрос1.ПодразделениеОрганизации
ИЗ
   (ВЫБРАТЬ
       ОтражениеЗарплатыВРеглУчете.Ссылка КАК Ссылка,
       ОтражениеЗарплатыВРеглУчете.ПериодРегистрации КАК ПериодРегистрации,
       ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете.(
           СчетДт КАК СчетДт,
           СубконтоДт1 КАК СубконтоДт1,
           СубконтоДт2 КАК СубконтоДт2,
           СубконтоКт1 КАК СубконтоКт1,
           СубконтоКт2 КАК СубконтоКт2,
           Сумма КАК Сумма
       ) КАК ОтражениеВУчете
   ИЗ
       Документ.ОтражениеЗарплатыВРеглУчете КАК ОтражениеЗарплатыВРеглУчете
   ГДЕ
       ОтражениеЗарплатыВРеглУчете.ПериодРегистрации МЕЖДУ &нач И &кон
       И ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете.СчетДт = &СчетДт) КАК ВложенныйЗапрос
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           СотрудникиОрганизаций.Физлицо КАК Физлицо,
           СотрудникиОрганизаций.ПодразделениеОрганизации КАК ПодразделениеОрганизации
       ИЗ
           Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
       ГДЕ
           СотрудникиОрганизаций.ВидЗанятости = &ВидЗанятости) КАК ВложенныйЗапрос1
       ПО ВложенныйЗапрос.ОтражениеВУчете.СубконтоДт2 = ВложенныйЗапрос1.Физлицо

Подскажите кто знает в чем проблема. Заранее спасибо=)
1 DrShad
 
10.07.12
17:41
адский запрос
2 andrewks
 
10.07.12
17:45
во-первых, проводки надо брать из регистров
3 ukolabrother
 
10.07.12
18:05
отлично написано! продолжай наблюдения
4 GANR
 
10.07.12
18:05
Значит вот это условие

ВложенныйЗапрос.ОтражениеВУчете.СубконтоДт2 = ВложенныйЗапрос1.Физлицо

всегда имеет значение ИСТИНА, для всех сочетаний записей из первой и второй таблиц. Теперь остается выяснить почему???

Такое может быть, если в соединяемых полях и в СубконтоДт2 и в Физлицо лежит пустое значение. А вообще мне лично непонятно - почему первый запрос идет к таблице документов Документ.ОтражениеЗарплатыВРеглУчете, а не к таблице табличных частей документов Документ.ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете ???

И почему этот эапрос вообще должен работать? Удивительно, что платформа в такой ситуации ещё и НЕ выдает ошибку...
5 GROOVY
 
10.07.12
18:08
И где собстно _проводки_?!
6 sanja26
 
10.07.12
18:09
смысл справа условие писать в связи..
7 andrewks
 
10.07.12
18:09
кстати, если ЗУП, то сотры в СубкотноДт1
8 andrewks
 
10.07.12
18:10
весь запрос в топку


ВЫБРАТЬ
       ОтражениеЗарплатыВРеглУчете.Ссылка КАК Ссылка,
       ОтражениеЗарплатыВРеглУчете.Ссылка.ПериодРегистрации КАК ПериодРегистрации,
       ОтражениеЗарплатыВРеглУчете.СчетДт КАК СчетДт,
       ОтражениеЗарплатыВРеглУчете.СубконтоДт1 КАК СубконтоДт1,
       ОтражениеЗарплатыВРеглУчете.СубконтоДт2 КАК СубконтоДт2,
       ОтражениеЗарплатыВРеглУчете.СубконтоКт1 КАК СубконтоКт1,
       ОтражениеЗарплатыВРеглУчете.СубконтоКт2 КАК СубконтоКт2,
       ОтражениеЗарплатыВРеглУчете.Сумма КАК Сумма,
       СотрудникиОрганизаций.Физлицо КАК Физлицо,
       СотрудникиОрганизаций.ПодразделениеОрганизации КАК ПодразделениеОрганизации
   ИЗ
       Документ.ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете КАК ОтражениеЗарплатыВРеглУчете
ЛЕВОЕ СОЕДИНЕНИЕ            
       Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
ПО ОтражениеЗарплатыВРеглУчете.СубконтоДт1 = СотрудникиОрганизаций.Физлицо

ГДЕ
       (ОтражениеЗарплатыВРеглУчете.Ссылка.ПериодРегистрации МЕЖДУ &нач И &кон)
       И (ОтражениеЗарплатыВРеглУчете.СчетДт = &СчетДт)
       И (СотрудникиОрганизаций.ВидЗанятости = &ВидЗанятости)


9 andrewks
 
10.07.12
18:13
а ещё лучше не использовать невяное соединение, а сначала соединить таб.доков с ТЧ, но, извините, лень переписывать
10 andrewks
 
10.07.12
18:16
и напоследок ложка дёгтя:
(0) ты про кадровые перемещения слышал?
11 vyaz
 
10.07.12
18:21
(8) а если одно физлицо имеет 10 сотрудников :)
12 andrewks
 
10.07.12
18:26
(11) значит, будет 10 записей
13 vyaz
 
10.07.12
18:26
(0) а чего вы в ЗУПе учитываете на 97.01? Тлько не говори, что РБП)))
14 vyaz
 
10.07.12
18:26
(12) логично)))