|
подскажите по запросу Объединить Все | ☑ | ||
---|---|---|---|---|
0
Prog_man
23.04.24
✎
13:57
|
Добрый день,
делаю конструктором запрос из двух таблиц, для первой имена реквизитов задаются а для второй нет, если прописываю вручную, запрос работает не правильно. подскажите как сделать чтобы у второй таблицы тоже были имена реквизитов. |
|||
1
Prog_man
23.04.24
✎
13:58
|
ВЫБРАТЬ
ВложенныйЗапрос.Номенклатура КАК Номенклатура, ВложенныйЗапрос.Ссылка КАК Ссылка, ВложенныйЗапрос.КоличествоМест КАК КоличествоМест, ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения, ВложенныйЗапрос.Коэффициент КАК Коэффициент, ВложенныйЗапрос.Цена КАК Цена, ВложенныйЗапрос.СчетУчета КАК СчетУчета, ВложенныйЗапрос.НовыйСчетУчета КАК НовыйСчетУчета, ВложенныйЗапрос.ЦенаВРознице КАК ЦенаВРознице, ВложенныйЗапрос.СуммаВРознице КАК СуммаВРознице, ВложенныйЗапрос.СтавкаНДСВРознице КАК СтавкаНДСВРознице, ВложенныйЗапрос.ДокументОприходования КАК ДокументОприходования, ВложенныйЗапрос.Себестоимость КАК Себестоимость, ВложенныйЗапрос.СпособУчетаНДС КАК СпособУчетаНДС, ВложенныйЗапрос.мСчетНаОплату КАК мСчетНаОплату, ВложенныйЗапрос.КоличествоОсталосьОтгрузить - ВложенныйЗапрос.КоличествоОтгружено КАК Количество ИЗ (ВЫБРАТЬ ПеремещениеТоваровОтгружено.Номенклатура КАК Номенклатура, ПеремещениеТоваровОтгружено.Ссылка КАК Ссылка, ПеремещениеТоваровОтгружено.НомерСтроки КАК НомерСтроки, ПеремещениеТоваровОтгружено.КоличествоМест КАК КоличествоМест, ПеремещениеТоваровОтгружено.ЕдиницаИзмерения КАК ЕдиницаИзмерения, ПеремещениеТоваровОтгружено.Коэффициент КАК Коэффициент, ПеремещениеТоваровОтгружено.Цена КАК Цена, ПеремещениеТоваровОтгружено.СчетУчета КАК СчетУчета, ПеремещениеТоваровОтгружено.НовыйСчетУчета КАК НовыйСчетУчета, ПеремещениеТоваровОтгружено.ЦенаВРознице КАК ЦенаВРознице, ПеремещениеТоваровОтгружено.СуммаВРознице КАК СуммаВРознице, ПеремещениеТоваровОтгружено.СтавкаНДСВРознице КАК СтавкаНДСВРознице, ПеремещениеТоваровОтгружено.ДокументОприходования КАК ДокументОприходования, ПеремещениеТоваровОтгружено.Себестоимость КАК Себестоимость, ПеремещениеТоваровОтгружено.СпособУчетаНДС КАК СпособУчетаНДС, ПеремещениеТоваровОтгружено.мСчетНаОплату КАК мСчетНаОплату, ПеремещениеТоваровОтгружено.Количество КАК КоличествоОтгружено, NULL КАК КоличествоОсталосьОтгрузить ИЗ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровОтгружено ГДЕ ПеремещениеТоваровОтгружено.Ссылка.ДокументОснование = &ДокументОснование И ПеремещениеТоваровОтгружено.Ссылка.ДокументОснование.Проведен = ИСТИНА ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПеремещениеТоваровТранзитное.Номенклатура, ПеремещениеТоваровТранзитное.Ссылка, ПеремещениеТоваровТранзитное.НомерСтроки, ПеремещениеТоваровТранзитное.КоличествоМест, ПеремещениеТоваровТранзитное.ЕдиницаИзмерения, ПеремещениеТоваровТранзитное.Коэффициент, ПеремещениеТоваровТранзитное.Цена, ПеремещениеТоваровТранзитное.СчетУчета, ПеремещениеТоваровТранзитное.НовыйСчетУчета, ПеремещениеТоваровТранзитное.ЦенаВРознице, ПеремещениеТоваровТранзитное.СуммаВРознице, ПеремещениеТоваровТранзитное.СтавкаНДСВРознице, ПеремещениеТоваровТранзитное.ДокументОприходования, ПеремещениеТоваровТранзитное.Себестоимость, ПеремещениеТоваровТранзитное.СпособУчетаНДС, ПеремещениеТоваровТранзитное.мСчетНаОплату, 0, ПеремещениеТоваровТранзитное.Количество ИЗ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТранзитное ГДЕ ПеремещениеТоваровТранзитное.Ссылка.Проведен = ИСТИНА И ПеремещениеТоваровТранзитное.Ссылка.Ссылка = &ЭтотДокумент) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО ВложенныйЗапрос.Номенклатура, ВложенныйЗапрос.мСчетНаОплату, ВложенныйЗапрос.СчетУчета, ВложенныйЗапрос.НовыйСчетУчета, ВложенныйЗапрос.СтавкаНДСВРознице, ВложенныйЗапрос.ДокументОприходования, ВложенныйЗапрос.СпособУчетаНДС, ВложенныйЗапрос.Ссылка, ВложенныйЗапрос.ЕдиницаИзмерения, ВложенныйЗапрос.КоличествоМест, ВложенныйЗапрос.Коэффициент, ВложенныйЗапрос.Цена, ВложенныйЗапрос.ЦенаВРознице, ВложенныйЗапрос.СуммаВРознице, ВложенныйЗапрос.Себестоимость, ВложенныйЗапрос.КоличествоОсталосьОтгрузить - ВложенныйЗапрос.КоличествоОтгружено |
|||
2
Волшебник
23.04.24
✎
13:58
|
они не нужны.
действуют имена первой таблицы |
6 |
||
3
Волшебник
23.04.24
✎
13:59
|
>> И ПеремещениеТоваровТранзитное.Ссылка.Ссылка = &ЭтотДокумент
Лишнее ".Ссылка" |
5 |
||
4
Prog_man
23.04.24
✎
14:00
|
интересует вот эта строчка
ВложенныйЗапрос.КоличествоОсталосьОтгрузить - ВложенныйЗапрос.КоличествоОтгружено она не видит количество из второй таблицы |
8 |
||
5
Prog_man
23.04.24
✎
14:00
|
(3) принято
|
|||
6
Prog_man
23.04.24
✎
14:01
|
(2) да, но через консоль если задаю имя, запрос работает норм.
|
|||
7
p-soft
23.04.24
✎
14:01
|
для объединения состав и позиция реквизитов должны совпадать. во второй и далее таблицах реквизиты можно не указывать, они задаются по первой.
если что не так - будет ошибка синтаксиса, типа отличаются реквизиты объединяемых таблиц. если ошибка не выдается, но запрос возвращает херню, то надо проверить порядок следования реквизитов. |
|||
8
Волшебник
23.04.24
✎
14:01
|
(4) Сделайте второе поле с минусом и добавьте СГРУППИРОВАТЬ ПО
|
10 |
||
9
Волшебник
23.04.24
✎
14:02
|
(ОсталосьОтгрузить - Отгружено) = бессмысленная хрень
|
11 |
||
10
Prog_man
23.04.24
✎
14:05
|
(8) второе поле добавить после ?ВложенныйЗапрос.КоличествоОсталосьОтгрузить - ВложенныйЗапрос.КоличествоОтгружено
|
12 |
||
11
Prog_man
23.04.24
✎
14:06
|
(9) не всегда товар приходит полностью, поэтому с транзитного склада иногда нужно получить товар, который до отгрузили. в этом смысл
|
|||
12
Волшебник
23.04.24
✎
14:06
|
(10) Вам надо сначала определиться с экономическим смыслом, а то считает херню
|
13 |
||
13
Prog_man
23.04.24
✎
14:13
|
(12) это склад считает сколько товара не дополучено.
если в первом перемещении только часть получили, нужно второе с тем что осталось получить |
14 |
||
14
Волшебник
23.04.24
✎
14:14
|
(13) Привет архитектору
|
|||
15
Prog_man
23.04.24
✎
14:48
|
количество отгружено почему то не видит
|
16 |
||
16
Ёпрст
23.04.24
✎
15:01
|
(15) нефик null пихать куда не надо, да и прочий мусор, типа номера строк, единиц измерений и .т.п.
Всё в топку |
17 |
||
17
Prog_man
23.04.24
✎
15:03
|
(16) null заменил на 0
|
|||
18
Prog_man
23.04.24
✎
15:07
|
если отдельный запрос смотрю в консоли все норм
ВЫБРАТЬ ПеремещениеТоваровОтгружено.Номенклатура КАК Номенклатура, ПеремещениеТоваровОтгружено.КоличествоМест КАК КоличествоМест, ПеремещениеТоваровОтгружено.ЕдиницаИзмерения КАК ЕдиницаИзмерения, ПеремещениеТоваровОтгружено.Коэффициент КАК Коэффициент, ПеремещениеТоваровОтгружено.Цена КАК Цена, ПеремещениеТоваровОтгружено.СчетУчета КАК СчетУчета, ПеремещениеТоваровОтгружено.НовыйСчетУчета КАК НовыйСчетУчета, ПеремещениеТоваровОтгружено.ЦенаВРознице КАК ЦенаВРознице, ПеремещениеТоваровОтгружено.СуммаВРознице КАК СуммаВРознице, ПеремещениеТоваровОтгружено.СтавкаНДСВРознице КАК СтавкаНДСВРознице, ПеремещениеТоваровОтгружено.ДокументОприходования КАК ДокументОприходования, ПеремещениеТоваровОтгружено.Себестоимость КАК Себестоимость, ПеремещениеТоваровОтгружено.СпособУчетаНДС КАК СпособУчетаНДС, ПеремещениеТоваровОтгружено.мСчетНаОплату КАК мСчетНаОплату, ПеремещениеТоваровОтгружено.Количество КАК КоличествоОтгружено, 0 КАК КоличествоОсталосьОтгрузить ИЗ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровОтгружено ГДЕ ПеремещениеТоваровОтгружено.Ссылка.ДокументОснование = &ДокументОснование И ПеремещениеТоваровОтгружено.Ссылка.ДокументОснование.Проведен = ИСТИНА И ПеремещениеТоваровОтгружено.Ссылка.Проведен = ИСТИНА |
|||
19
Волшебник
23.04.24
✎
15:18
|
условие
И ПеремещениеТоваровОтгружено.Ссылка.Проведен = ИСТИНА можно заменить на И ПеремещениеТоваровОтгружено.Ссылка.Проведен |
20 |
||
20
Prog_man
23.04.24
✎
15:22
|
(19) не видит количество отгружено, поэтому не правильно работает запрос
|
22 |
||
21
Волшебник
23.04.24
✎
15:23
|
ПеремещениеТоваровОтгружено - плохой синоним, потому что это всего лишь Документ.ПеремещениеТоваров.Товары
Товары могли вообще остаться на своих местах в случае ордерного склада Кстати, если синоним сделать коротким, то это сильно упрощает запрос ВЫБРАТЬ ПеремещаемыеТовары.Номенклатура КАК Номенклатура, ПеремещаемыеТовары.КоличествоМест КАК КоличествоМест, ПеремещаемыеТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения, ПеремещаемыеТовары.Коэффициент КАК Коэффициент, ПеремещаемыеТовары.Цена КАК Цена, ПеремещаемыеТовары.СчетУчета КАК СчетУчета, ПеремещаемыеТовары.НовыйСчетУчета КАК НовыйСчетУчета, ПеремещаемыеТовары.ЦенаВРознице КАК ЦенаВРознице, ПеремещаемыеТовары.СуммаВРознице КАК СуммаВРознице, ПеремещаемыеТовары.СтавкаНДСВРознице КАК СтавкаНДСВРознице, ПеремещаемыеТовары.ДокументОприходования КАК ДокументОприходования, ПеремещаемыеТовары.Себестоимость КАК Себестоимость, ПеремещаемыеТовары.СпособУчетаНДС КАК СпособУчетаНДС, ПеремещаемыеТовары.мСчетНаОплату КАК мСчетНаОплату, ПеремещаемыеТовары.Количество КАК КоличествоКОтгрузке, 0 КАК КоличествоОсталосьОтгрузить // поле для запроса ниже ИЗ Документ.ПеремещениеТоваров.Товары КАК ПеремещаемыеТовары ГДЕ ПеремещаемыеТовары.Ссылка.ДокументОснование = &ДокументОснование И ПеремещаемыеТовары.Ссылка.ДокументОснование.Проведен И ПеремещаемыеТовары.Ссылка.Проведен |
|||
22
Волшебник
23.04.24
✎
15:24
|
(20) Лучше старайтесь. Плохо стараетесь
|
23 |
||
23
Prog_man
23.04.24
✎
15:28
|
(22) в похожих запросах все работает норм. а тут не понятно.
|
|||
24
Волшебник
23.04.24
✎
15:33
|
Во внешнем должно быть
ВЫБРАТЬ СУММА(Количество)
...
ПеремещениеТоваровОтгружено.Количество КАК Количество,
...
-ПеремещениеТоваровТранзитное.Количество КАК Количество,
СГРУППИРОВАТЬ ПО ... |
25 |
||
25
Prog_man
23.04.24
✎
15:42
|
(24) переделал
ВЫБРАТЬ ВложенныйЗапрос.Номенклатура КАК Номенклатура, ВложенныйЗапрос.КоличествоМест КАК КоличествоМест, ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения, ВложенныйЗапрос.Коэффициент КАК Коэффициент, ВложенныйЗапрос.Цена КАК Цена, ВложенныйЗапрос.СчетУчета КАК СчетУчета, ВложенныйЗапрос.НовыйСчетУчета КАК НовыйСчетУчета, ВложенныйЗапрос.ЦенаВРознице КАК ЦенаВРознице, ВложенныйЗапрос.СуммаВРознице КАК СуммаВРознице, ВложенныйЗапрос.СтавкаНДСВРознице КАК СтавкаНДСВРознице, ВложенныйЗапрос.ДокументОприходования КАК ДокументОприходования, ВложенныйЗапрос.Себестоимость КАК Себестоимость, ВложенныйЗапрос.СпособУчетаНДС КАК СпособУчетаНДС, СУММА(ВложенныйЗапрос.Количество) КАК Количество ИЗ (ВЫБРАТЬ ПеремещениеТоваровОтгружено.Номенклатура КАК Номенклатура, ПеремещениеТоваровОтгружено.КоличествоМест КАК КоличествоМест, ПеремещениеТоваровОтгружено.ЕдиницаИзмерения КАК ЕдиницаИзмерения, ПеремещениеТоваровОтгружено.Коэффициент КАК Коэффициент, ПеремещениеТоваровОтгружено.Цена КАК Цена, ПеремещениеТоваровОтгружено.СчетУчета КАК СчетУчета, ПеремещениеТоваровОтгружено.НовыйСчетУчета КАК НовыйСчетУчета, ПеремещениеТоваровОтгружено.ЦенаВРознице КАК ЦенаВРознице, ПеремещениеТоваровОтгружено.СуммаВРознице КАК СуммаВРознице, ПеремещениеТоваровОтгружено.СтавкаНДСВРознице КАК СтавкаНДСВРознице, ПеремещениеТоваровОтгружено.ДокументОприходования КАК ДокументОприходования, ПеремещениеТоваровОтгружено.Себестоимость КАК Себестоимость, ПеремещениеТоваровОтгружено.СпособУчетаНДС КАК СпособУчетаНДС, -ПеремещениеТоваровОтгружено.Количество КАК Количество ИЗ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровОтгружено ГДЕ ПеремещениеТоваровОтгружено.Ссылка.ДокументОснование = &ДокументОснование И ПеремещениеТоваровОтгружено.Ссылка.ДокументОснование.Проведен = ИСТИНА И ПеремещениеТоваровОтгружено.Ссылка.Проведен = ИСТИНА ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПеремещениеТоваровТранзитное.Номенклатура, ПеремещениеТоваровТранзитное.КоличествоМест, ПеремещениеТоваровТранзитное.ЕдиницаИзмерения, ПеремещениеТоваровТранзитное.Коэффициент, ПеремещениеТоваровТранзитное.Цена, ПеремещениеТоваровТранзитное.СчетУчета, ПеремещениеТоваровТранзитное.НовыйСчетУчета, ПеремещениеТоваровТранзитное.ЦенаВРознице, ПеремещениеТоваровТранзитное.СуммаВРознице, ПеремещениеТоваровТранзитное.СтавкаНДСВРознице, ПеремещениеТоваровТранзитное.ДокументОприходования, ПеремещениеТоваровТранзитное.Себестоимость, ПеремещениеТоваровТранзитное.СпособУчетаНДС, ПеремещениеТоваровТранзитное.Количество ИЗ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТранзитное ГДЕ ПеремещениеТоваровТранзитное.Ссылка.Проведен = ИСТИНА И ПеремещениеТоваровТранзитное.Ссылка = &ЭтотДокумент) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО ВложенныйЗапрос.Номенклатура, ВложенныйЗапрос.СчетУчета, ВложенныйЗапрос.НовыйСчетУчета, ВложенныйЗапрос.СтавкаНДСВРознице, ВложенныйЗапрос.ДокументОприходования, ВложенныйЗапрос.СпособУчетаНДС, ВложенныйЗапрос.ЕдиницаИзмерения, ВложенныйЗапрос.КоличествоМест, ВложенныйЗапрос.Коэффициент, ВложенныйЗапрос.Цена, ВложенныйЗапрос.ЦенаВРознице, ВложенныйЗапрос.СуммаВРознице, ВложенныйЗапрос.Себестоимость |
31 |
||
26
Prog_man
23.04.24
✎
15:54
|
не работает
|
28 |
||
27
Волшебник
23.04.24
✎
15:54
|
Если этот запрос-уродец работает, то и ладно.
|
|||
28
Волшебник
23.04.24
✎
15:54
|
(26) Сделайте его красивым
|
29 |
||
29
Prog_man
23.04.24
✎
16:01
|
(28) так не работает этот запрос
|
30 |
||
30
Optan
23.04.24
✎
16:12
|
(29) Сократите запрос для целей отладки до двух полей: Номенклатура и Количество и начинайте масштабные эксперименты. Попробуйте, например, поместить ваши две части во временные таблицы и убедится, что они одновременно заполняются по вашим параметрам.
|
32 |
||
31
pasha_d
23.04.24
✎
16:13
|
(25) в секции "ГДЕ" в объединяемых запросах очень интересные условия)))
|
|||
32
Prog_man
23.04.24
✎
16:27
|
(30) немного упростил запрос, но так и не работает, по отдельности запросы формирует норм., при объединении не видит количество отгруженного товара
|
33 |
||
33
Волшебник
23.04.24
✎
16:29
|
(32) Вам надо менять архитектуру системы
|
34 |
||
34
Prog_man
23.04.24
✎
16:31
|
(33) завтра продолжу, благодарю за подсказки
|
35 37 |
||
35
yopQua
23.04.24
✎
16:50
|
(34) никогда не делай сегодня, то что можешь сделать завтра
|
🔥36 |
||
36
Prog_man
23.04.24
✎
16:57
|
(35) 🔥
|
|||
37
Ёпрст
23.04.24
✎
21:20
|
(34)
Начни, с этого, для начала (хз, чего ты еще там в ЭтотДокумент и в ДокументОснование пихаешь в параметры) ВЫБРАТЬ ВложенныйЗапрос.Номенклатура КАК Номенклатура, СУММА(ВложенныйЗапрос.СуммаВРознице) КАК СуммаВРознице, СУММА(ВложенныйЗапрос.Себестоимость) КАК Себестоимость, СУММА(ВложенныйЗапрос.Количество) КАК Количество ИЗ (ВЫБРАТЬ ПеремещениеТоваровОтгружено.Номенклатура КАК Номенклатура, ПеремещениеТоваровОтгружено.СуммаВРознице КАК СуммаВРознице, ПеремещениеТоваровОтгружено.Себестоимость КАК Себестоимость, -ПеремещениеТоваровОтгружено.Количество*ПеремещениеТоваровОтгружено.Коэффициент КАК Количество ИЗ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровОтгружено ГДЕ ПеремещениеТоваровОтгружено.Ссылка.ДокументОснование = &ДокументОснование И ПеремещениеТоваровОтгружено.Ссылка <> &ЭтотДокумент ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПеремещениеТоваровТранзитное.Номенклатура, ПеремещениеТоваровТранзитное.СуммаВРознице, ПеремещениеТоваровТранзитное.Себестоимость, ПеремещениеТоваровТранзитное.Количество*ПеремещениеТоваровТранзитное.Коэффициент ИЗ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТранзитное ГДЕ ПеремещениеТоваровТранзитное.Ссылка.ДокументОснование <> &ДокументОснование И ПеремещениеТоваровТранзитное.Ссылка = &ЭтотДокумент ) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО ВложенныйЗапрос.Номенклатура |
|||
38
Prog_man
24.04.24
✎
09:01
|
оставил только номенклатуру и количество, все равно не работает
|
|||
39
Prog_man
24.04.24
✎
09:01
|
ВЫБРАТЬ
ВложенныйЗапрос.Номенклатура КАК Номенклатура, СУММА(ВложенныйЗапрос.Количество) КАК Количество ИЗ (ВЫБРАТЬ ПеремещениеТоваровОтгружено.Номенклатура КАК Номенклатура, -ПеремещениеТоваровОтгружено.Количество КАК Количество ИЗ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровОтгружено ГДЕ ПеремещениеТоваровОтгружено.Ссылка.ДокументОснование = &ДокументОснование И ПеремещениеТоваровОтгружено.Ссылка.ДокументОснование.Проведен = ИСТИНА И ПеремещениеТоваровОтгружено.Ссылка.Проведен = ИСТИНА ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПеремещениеТоваровТранзитное.Номенклатура, ПеремещениеТоваровТранзитное.Количество ИЗ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТранзитное ГДЕ ПеремещениеТоваровТранзитное.Ссылка.Проведен = ИСТИНА И ПеремещениеТоваровТранзитное.Ссылка = &ТранзитныйДокумент) КАК ВложенныйЗапрос ГДЕ ВложенныйЗапрос.Количество > 0 СГРУППИРОВАТЬ ПО ВложенныйЗапрос.Номенклатура |
|||
40
Prog_man
24.04.24
✎
09:02
|
в консоли вложенный запрос показывает норм. есть количество с минусом.
|
|||
41
Волшебник
24.04.24
✎
09:04
|
уберите условие
"ГДЕ ВложенныйЗапрос.Количество > 0" |
42 |
||
42
Prog_man
24.04.24
✎
09:07
|
(41) а как убрать тогда нулевые позиции, да без условия запрос работает но показывает нули по отгруженным товарам
|
44 |
||
43
Prog_man
24.04.24
✎
09:09
|
да, получается проблема в условии "ГДЕ ВложенныйЗапрос.Количество > 0"
|
|||
44
Волшебник
24.04.24
✎
09:10
|
(42) замените на ИМЕЮЩИЕ СУММА(ВложенныйЗапрос.Количество) <> 0
|
🔥45 |
||
45
Prog_man
24.04.24
✎
09:22
|
(44) 🔥 да, так работает, благодарю
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |