Имя: Пароль:
1C
1С v8
Соединение берет не все строки
,
0 itbchern
 
04.08.16
06:48
Здравствуйте
Использую УТ 11.2 с сериями, как следствие- регистры СвободныеОстатки и ТоварыНаСкладах дают разные остатки
Чтобы узнать, какой из регистраторов добавил движение в СвободныеОстатки, но не добавился в ТоварыНаСкладах хотел написать запрос
Запрос пишу для конкретной позиции номенклатуры и конкретного склада
Но столкнулся с проблемой:

ВЫБРАТЬ
    Регистратор,
    ВНаличии
ИЗ
    РегистрНакопления.СвободныеОстатки
ГДЕ
    Номенклатура = &Ном
    И
    Склад = &Склад
Возвращает 18 строк

ВЫБРАТЬ
    Регистратор,
    ВНаличии
ИЗ
    РегистрНакопления.ТоварыНаСкладах
ГДЕ
    Номенклатура = &Ном
    И
    Склад = &Склад
Возвращает 17 строк

Логично соединить их и посмотреть, какой регистратор пропал

ВЫБРАТЬ
    Ост.Регистратор,
    Ост.ВНаличии,
    Тнс.ВНаличии,
    Тнс.Регистратор
ИЗ
    РегистрНакопления.СвободныеОстатки КАК Ост
    ЛЕВОЕ СОЕДИНЕНИЕ
        РегистрНакопления.ТоварыНаСкладах КАК Тнс
        ПО
        Ост.Регистратор = Тнс.Регистратор
ГДЕ
    Ост.Номенклатура = &Ном
    И
    Тнс.Номенклатура = &Ном
    И
    Ост.Склад = &Склад
    И
    Тнс.Склад = &Склад
Но этот запрос возвращает почему-то тоже 17 строк
1 Горогуля
 
04.08.16
06:50
ну смени на полное
2 catena
 
04.08.16
06:50
Нельзя писать "ГДЕ" на левую таблицу и надеяться увидеть NULLевые записи.
3 itbchern
 
04.08.16
06:51
(1) Ничего не меняется- те же 17 записей
(2) Можно как-нибудь по-другому отобрать тогда?
4 catena
 
04.08.16
06:52
Можно, например, так:


ВЫБРАТЬ
    Ост.Регистратор,
    Ост.ВНаличии,
    Тнс.ВНаличии,
    Тнс.Регистратор
ИЗ
    РегистрНакопления.СвободныеОстатки КАК Ост
    ЛЕВОЕ СОЕДИНЕНИЕ
        РегистрНакопления.ТоварыНаСкладах КАК Тнс
        ПО
        Ост.Регистратор = Тнс.Регистратор
        и Ост.Номенклатура = Тнс.Номенклатура
        и Ост.Склад = Тнс.Склад
ГДЕ
    Ост.Номенклатура = &Ном
    И
    Ост.Склад = &Склад
5 Горогуля
 
04.08.16
06:53
(3) тебе ГДЕ срезает нулловые записи
6 itbchern
 
04.08.16
06:53
(4) Спасибо большое :) Заработало :)