Имя: Пароль:
1C
1С v8
Помогите с запросом плиз, выводит лишние данные
,
0 4y4yHDRA
 
14.05.13
10:17
Всем привет!
Делаю запрос к базе ЗиК, выводит много лишних строк, мне кажется что-то не так с Соединением, если без него то все норм... в этом деле новичок, поэтому прошу сильно не ругать.
Спасибо!

ВЫБРАТЬ
   НачислениеЗарплатыРаботникамОрганизаций.Начисления.(
       Сотрудник,
       СУММА(Результат)
   )
ИЗ
   Документ.НачислениеЗарплатыРаботникамОрганизаций КАК НачислениеЗарплатыРаботникамОрганизаций
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
       ПО НачислениеЗарплатыРаботникамОрганизаций.Начисления.Сотрудник.Ссылка = СотрудникиОрганизаций.Ссылка
ГДЕ
   НачислениеЗарплатыРаботникамОрганизаций.ПериодРегистрации = ДАТАВРЕМЯ(2013, 4, 1)
   И СотрудникиОрганизаций.ВидЗанятости <> "Совместительство"

СГРУППИРОВАТЬ ПО
   НачислениеЗарплатыРаботникамОрганизаций.Начисления.(Сотрудник)
1 viktor_vv
 
14.05.13
10:21
Как-то мне имхается, что видЗанятости в справочнике сотрудники совсем не строка.
2 salvator
 
14.05.13
10:34
(0) А нафейхуа тут соединение?
3 4y4yHDRA
 
14.05.13
10:37
(2) Чтобы написать условие... мне не нужны внешние совместители
По другому еще не научился ))
4 Trainee
 
14.05.13
10:38
(3) Ну так и возьми их из свойств, также 2 таблицы и будет, вроде...
5 Trainee
 
14.05.13
10:41
Почему документ, а не регистр вообще?
6 4y4yHDRA
 
14.05.13
10:42
(1) изменил строку условия на:
СотрудникиОрганизаций.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.Совместительство)
...но лишние строки не исчезли
7 4y4yHDRA
 
14.05.13
10:44
(6) правильней будет сказать не Лишние строки, а Повторяющиеся
8 4y4yHDRA
 
14.05.13
10:45
(5) А какой регистр? Не в курсе...
9 salvator
 
14.05.13
10:49
ВЫБРАТЬ    НачислениеЗарплатыРаботникамОрганизацийНачисления.Сотрудник,
   СУММА(НачислениеЗарплатыРаботникамОрганизацийНачисления.Результат)
ИЗ
   Документ.НачислениеЗарплатыРаботникамОрганизаций.Начисления КАК НачислениеЗарплатыРаботникамОрганизацийНачисления
ГДЕ    НачислениеЗарплатыРаботникамОрганизацийНачисления.ПериодРегистрации = ДАТАВРЕМЯ(2013, 4, 1)
   И НачислениеЗарплатыРаботникамОрганизацийНачисления.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.Совместительство)

СГРУППИРОВАТЬ ПО
   НачислениеЗарплатыРаботникамОрганизацийНачисления.Сотрудник
10 4y4yHDRA
 
14.05.13
10:49
(4) Спасибо за совет... сразу не додумался что так можно, в итоге запрос получился такой:

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

СГРУППИРОВАТЬ ПО
   НачислениеЗарплатыРаботникамОрганизаций.Начисления.(Сотрудник)

Выводит все правильно без повторяющихся строк... значит проблема была все-таки в Соединении, но что была за проблема так и не выяснилось
11 4y4yHDRA
 
14.05.13
10:50
(9) Спасибо...)
12 PCcomCat
 
14.05.13
10:52
"ВЫБРАТЬ
   НачислениеЗарплатыРаботникамОрганизаций.Сотрудник,
   СУММА(НачислениеЗарплатыРаботникамОрганизаций.Результат)
   
ИЗ
   Документ.НачислениеЗарплатыРаботникамОрганизаций.Начисления КАК НачислениеЗарплатыРаботникамОрганизаций
 
ГДЕ
   НачислениеЗарплатыРаботникамОрганизаций.Ссылка.ПериодРегистрации = ДАТАВРЕМЯ(2013, 4, 1)
   И НачислениеЗарплатыРаботникамОрганизаций.Сотрудник.ВидЗанятости <> &Совместительство

СГРУППИРОВАТЬ ПО
   НачислениеЗарплатыРаботникамОрганизаций.Сотрудник"

Запрос.УстановитьПараметр("Совместительство", Перечисления.  ...);
13 4y4yHDRA
 
14.05.13
10:58
(12) Спасибо, за Ваш вариант решения.
В принципе, вопрос решен... всем спасибо за участие