|
Чем отличаются принципиально два запроса? У меня Итоги разные.. | ☑ | ||
---|---|---|---|---|
0
Обработка
30.12.20
✎
10:57
|
1-й
ВЫБРАТЬ ТоварыНаСкладахОстатки.Номенклатура, ТоварыНаСкладахОстатки.Склад.Подразделение, СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток ПОМЕСТИТЬ ТовНаСкладах ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, ) КАК ТоварыНаСкладахОстатки СГРУППИРОВАТЬ ПО ТоварыНаСкладахОстатки.Номенклатура, ТоварыНаСкладахОстатки.Склад.Подразделение ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыОрганизацийБУОстатки.Подразделение, ТоварыОрганизацийБУОстатки.Товар, СУММА(ТоварыОрганизацийБУОстатки.КоличествоОстаток) КАК КоличествоОстаток ПОМЕСТИТЬ ИП ИЗ РегистрНакопления.ТоварыОрганизацийБУ.Остатки(&Период, ) КАК ТоварыОрганизацийБУОстатки СГРУППИРОВАТЬ ПО ТоварыОрганизацийБУОстатки.Подразделение, ТоварыОрганизацийБУОстатки.Товар ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ИП.Товар КАК Товар, ИП.Подразделение КАК Подразделение, ИП.КоличествоОстаток КАК ОстатокПоИП, ТовНаСкладах.КоличествоОстаток КАК ОстатокПоТовНАСкладах, ТовНаСкладах.КоличествоОстаток - ИП.КоличествоОстаток КАК Разность ИЗ ТовНаСкладах КАК ТовНаСкладах ПОЛНОЕ СОЕДИНЕНИЕ ИП КАК ИП ПО ТовНаСкладах.Номенклатура = ИП.Товар И ТовНаСкладах.СкладПодразделение = ИП.Подразделение ГДЕ ТовНаСкладах.КоличествоОстаток - ИП.КоличествоОстаток <> 0 УПОРЯДОЧИТЬ ПО Товар, Подразделение 2-й ВЫБРАТЬ ТоварыНаСкладахОстатки.Номенклатура, ТоварыНаСкладахОстатки.Склад.Подразделение, ТоварыОрганизацийБУОстатки.Подразделение, ТоварыНаСкладахОстатки.КоличествоОстаток как ОстатокПоТовНАСкладах, ТоварыОрганизацийБУОстатки.КоличествоОстаток КАК ОстатокПоИП, ТоварыНаСкладахОстатки.КоличествоОстаток - ТоварыОрганизацийБУОстатки.КоличествоОстаток КАК Разность ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, ) КАК ТоварыНаСкладахОстатки ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыОрганизацийБУ.Остатки КАК ТоварыОрганизацийБУОстатки ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыОрганизацийБУОстатки.Товар И ТоварыНаСкладахОстатки.Склад.Подразделение = ТоварыОрганизацийБУОстатки.Подразделение ГДЕ ТоварыНаСкладахОстатки.КоличествоОстаток - ТоварыОрганизацийБУОстатки.КоличествоОстаток <> 0 |
|||
1
Галахад
гуру
30.12.20
✎
11:08
|
В первом к группированным данным условие.
Во втором нет. |
|||
2
Ненавижу 1С
гуру
30.12.20
✎
11:11
|
при полном соединении надо писать
ГДЕ ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток,0) - ЕСТЬNULL(ТоварыОрганизацийБУОстатки.КоличествоОстаток,0) <> 0 |
|||
3
Обработка
30.12.20
✎
12:04
|
(2) Спасибо.
Вставил в два отчета все равно результат сильно отличается. |
|||
4
Ёпрст
30.12.20
✎
12:48
|
(0) выкинуть оба запроса, открыть для себя объеденить все + имеюшие, наслаждаться, кушать печенки
|
|||
5
patria0muerte
30.12.20
✎
12:49
|
(2) Во втором варианте таблица "Товары на складах" не сгруппирована по подразделениям.
Т.е. условно при наличии разных складов с одним подразделением - у тебя будет несколько строк с разными суммами, но с одним подразделением. Ну и при полном соединении лучше все завернуть в ЕСТЬNULL()/ А вообще судя по запросу, ИМХО, тебе надо сделать через ОБЪЕДИНИТЬ ВСЕ, сгруппировать и вычислить разность в уже сгруппированной таблице. И соединение полное не использовать |
|||
6
patria0muerte
30.12.20
✎
12:49
|
(5) к (0)
|
|||
7
Обработка
30.12.20
✎
14:27
|
ТАк пробовал не взлетело
ВЫБРАТЬ ТоварыНаСкладах.Склад.Подразделение КАК Подразделение, ТоварыНаСкладах.Номенклатура как Номенклатура, ТоварыНаСкладах.КоличествоОстаток КАК ОстТовНаСкл ПОМЕСТИТЬ ВТ ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, ) КАК ТоварыНаСкладах ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТоварыОрганизацийБУОстатки.Подразделение, ТоварыОрганизацийБУОстатки.Товар как Номенклатура, -ТоварыОрганизацийБУОстатки.КоличествоОстаток как ОстТовНаСкл ИЗ РегистрНакопления.ТоварыОрганизацийБУ.Остатки(&Период, ) КАК ТоварыОрганизацийБУОстатки ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ.Подразделение, ВТ.Номенклатура, СУММА(ВТ.ОстТовНаСкл) КАК ОстТовНаСкл ИЗ ВТ КАК ВТ где ОстТовНаСкл <> 0 СГРУППИРОВАТЬ ПО ВТ.Подразделение, ВТ.Номенклатура |
|||
8
Ненавижу 1С
гуру
30.12.20
✎
14:48
|
(7) последнее тогда так:
ВЫБРАТЬ ВТ.Подразделение, ВТ.Номенклатура, СУММА(ВТ.ОстТовНаСкл) КАК ОстТовНаСкл ИЗ ВТ КАК ВТ СГРУППИРОВАТЬ ПО ВТ.Подразделение, ВТ.Номенклатура ИМЕЮЩИЕ СУММА(ВТ.ОстТовНаСкл)<>0 |
|||
9
Обработка
30.12.20
✎
14:58
|
(8) Попробовал получилось. вроде как.
Но в идеале мне нужно сравнить два регистра и по первому регистру второй регистр выровнять. А как я понимаю этот запрос всего лишь дает отличие И еще... при корректировке второго регистра использую еще одно доп измерение или по остатку или по движению. |
|||
10
Хозрасчетный
30.12.20
✎
15:47
|
(0) У тебя в одном запросе так:
РегистрНакопления.ТоварыОрганизацийБУ.Остатки(&Период, ) КАК ТоварыОрганизацийБУОстатки а в другом так РегистрНакопления.ТоварыОрганизацийБУ.Остатки КАК ТоварыОрганизацийБУОстатки Логично, что они дают разные результаты. |
|||
11
Ёпрст
31.12.20
✎
01:38
|
(9) ё..добавь еще 2 поля в текст запроса - суммы первого и второго регистра..вот те и различия..
|
|||
12
Обработка
31.12.20
✎
07:50
|
(10) Это уже устранено.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |