Имя: Пароль:
1C
1С v8
почему в полном соединении не выводятся данные второй таблицы?
0 PQT
 
08.12.19
11:21
Сори за тупой вопрос, почему в полном соединении не выводятся данные второй таблицы
Развейте плиз мою тупость \0.0/

    Запрос.Текст = "ВЫБРАТЬ
                   |    ЗарплатаНачисление.Сотрудник КАК Сотрудник,
                   |    СУММА(ЗарплатаНачисление.Часы) КАК Часы,
                   |    СУММА(ЗарплатаНачисление.ПоЧасам + ЗарплатаНачисление.ДопНачисление) КАК НачисленоСБонусом,
                   |    СУММА(ЗарплатаНачисление.Отпускные) КАК Отпускные,
                   |    СУММА(ЗарплатаНачислениеЗарплаты.Начислено) КАК Начислено,
                   |    СУММА(ЗарплатаНачислениеЗарплаты.Больничный) КАК Больничный,
                   |    СУММА(ЗарплатаНачислениеЗарплаты.НДФЛ) КАК НДФЛ,
                   |    СУММА(ЗарплатаНачислениеЗарплаты.СтраховаяПенсия) КАК СтраховаяПенсия,
                   |    СУММА(ЗарплатаНачислениеЗарплаты.ФСС) КАК ФСС,
                   |    СУММА(ЗарплатаНачислениеЗарплаты.ФФОМС) КАК ФФОМС,
                   |    СУММА(ЗарплатаНачислениеЗарплаты.ФСС_НС_ПЗ) КАК ФСС_НС_ПЗ
                   |ИЗ
                   |    Документ.Зарплата.Начисление КАК ЗарплатаНачисление
                   |        ПОЛНОЕ СОЕДИНЕНИЕ Документ.Зарплата.НачислениеЗарплаты КАК ЗарплатаНачислениеЗарплаты
                   |        ПО ЗарплатаНачисление.Сотрудник = ЗарплатаНачислениеЗарплаты.Сотрудник
                   |ГДЕ
                   |    ЗарплатаНачисление.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
                   |    И ЗарплатаНачислениеЗарплаты.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ЗарплатаНачисление.Сотрудник";
1 mmmarat
 
08.12.19
11:25
(0) Вместо полного соединения выводи обе таблицы через Объединить Все
2 PQT
 
08.12.19
11:29
ок
3 RomanYS
 
08.12.19
11:36
(0) почему  в полном соединении не выводятся данные второй таблицы?
Потому что в "где" ты наложил условия на обе таблицы и оба условия должны выполниться, т.е. по факту ты получил внутреннее соединение.

Ну и то что группировка работает после соединения, ты, наверное, в курсе. Соединив 10 строк из одной таблицы и 5 строк из другой получишь 50 строк, которые потом  свернутся (суммы исходных таблиц будут кратно увеличены).
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший