Имя: Пароль:
1C
1С v8
Сравнение двух регистров наколпения
,
0 Данияр
 
03.03.21
10:34
УТ 10.3

у меня есть РН:Товары в резерве и РН:Товары в резервы ячейки
мне нужно получать результат когда остаток одного не равен второму.

пример: РН:Товары в резерве = 1шт    РН:Товары в резервы ячейки   = 2ш

НО когда в первом 0 остаток, а во втором 1, то запрос ничего не показывает, можно как то получать 0 значения?
1 Почему 1С
 
03.03.21
10:36
Полное соединение  + isNULL()
2 Данияр
 
03.03.21
10:36
вот так: не работает

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

УПОРЯДОЧИТЬ ПО
Разница УБЫВ
3 Михаил Козлов
 
03.03.21
10:37
Можно объединением и группировкой.
4 Kesim
 
03.03.21
10:38
или объединение с количествами из разных рн в разные поля, а потом группировка по номенклатуре
5 Почему 1С
 
03.03.21
10:41
ГДЕ
isnull(ТоварыВРезервеВЯчейкахОстатки.КоличествоОстаток,0) <> isnull(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток,0)
6 Данияр
 
03.03.21
10:45
(5) делал и так, не то
7 brainguard
 
03.03.21
10:45
(0) 100500 раз. Конструкция ГДЕ превращает любое соединение во ВНУТРЕННЕЕ
8 brainguard
 
03.03.21
10:49
Номенклатура.Код - это еще одно соединение
9 Данияр
 
03.03.21
10:51
(8) это все понятно что через точку это каждое соединение, вопрос в другом он в шапке задачи
10 brainguard
 
03.03.21
10:52
(9) Вот и убери его (и ГДЕ перенеси в ПО), и посмотри - что получится
11 hhhh
 
03.03.21
10:54
(9) да, ГДЕ
ТоварыВРезервеВЯчейкахОстатки.КоличествоОстаток <> ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток


это бред. будет всегда Ложь, когда нет первой таблицы.
12 mikecool
 
03.03.21
10:57
1) объединить все
2) разные ресурсы
3) свернуть
4) наложить условие
13 Данияр
 
03.03.21
10:57
(10) получить 2071 запись, вместо 20
14 vicof
 
03.03.21
11:15
(13) Сделай ВЫБРАТЬ ПЕРВЫЕ 20 :)))
15 Почему 1С
 
03.03.21
11:22
(13) ты заменил условие на (5)
16 Данияр
 
03.03.21
11:40
(15) да вот так верно
17 Данияр
 
03.03.21
11:40
вопрос решен
18 Данияр
 
03.03.21
11:40
спасибо всем
19 Малыш Джон
 
03.03.21
11:45
(17) Ну хз. Если измерений в регистрах больше, чем только номенклатура и серия, то могут быть сюрпризы.