Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Сравнение двух регистров наколпения

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


это бред. будет всегда Ложь, когда нет первой таблицы.
   mikecool
 
12 - 03.03.21 - 10:57
1) объединить все
2) разные ресурсы
3) свернуть
4) наложить условие
   Данияр
 
13 - 03.03.21 - 10:57
(10) получить 2071 запись, вместо 20
   vicof
 
14 - 03.03.21 - 11:15
(13) Сделай ВЫБРАТЬ ПЕРВЫЕ 20 :)))
   Почему 1С
 
15 - 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) Ну хз. Если измерений в регистрах больше, чем только номенклатура и серия, то могут быть сюрпризы.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.