|
Остатки по составному полю | ☑ | ||
---|---|---|---|---|
0
Stim
15.09.15
✎
16:32
|
Есть РН Запасы. В нем есть измерение Заказ, с составным типом данных - заказПокупателя или ЗаказПоставщику
Мне нужно получить остатки по номенклатуре, когда поле Заказ не заполнено - Заказ в ЗапасыОстаток может быть заполнено NULL или пустойСсылкой на документ. Причем -запрос типовой, надо в него вклиниться с минимальными изменениями. а условие там такое: ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗапасыПереданные.Остатки( &МоментКонтроля, (Организация, Номенклатура, Характеристика, Партия, Контрагент, Договор, Заказ, ТипПриемаПередачи) В (ВЫБРАТЬ ДвиженияЗапасыПереданныеИзменение.Организация КАК Организация, ДвиженияЗапасыПереданныеИзменение.Номенклатура КАК Номенклатура, ДвиженияЗапасыПереданныеИзменение.Характеристика КАК Характеристика, ДвиженияЗапасыПереданныеИзменение.Партия КАК Партия, ДвиженияЗапасыПереданныеИзменение.Контрагент КАК Контрагент, ДвиженияЗапасыПереданныеИзменение.Договор КАК Договор," //здесь должен быть либо ДвиженияЗапасыПереданныеИзменение.Заказ либо NULL/Документ.ЗаказПоставщику.ПустаяСсылка +?(ДокументСсылкаОтчетПереработчика.СписыватьБезЗаказа," значение(Документ.ЗаказПоставщику.ПустаяСсылка) ИЛИ NULL","ДвиженияЗапасыПереданныеИзменение.Заказ ")+" КАК Заказ, ДвиженияЗапасыПереданныеИзменение.ТипПриемаПередачи КАК ТипПриемаПередачи как в условии задать, что мне нужны остатки где заказ = NULL или пустая ссылка на документ ? |
|||
1
Апош
15.09.15
✎
16:33
|
неопределено же
|
|||
2
bootini
15.09.15
✎
16:49
|
ДвиженияЗапасыПереданныеИзменение.Заказ = Значение(Документ.ЗаказПоставщику.ПустаяСсылка) ИЛИ ДвиженияЗапасыПереданныеИзменение.Заказ ЕСТЬ NULL
|
|||
3
Stim
15.09.15
✎
16:50
|
(2) так нельзя.
|
|||
4
Апош
15.09.15
✎
16:51
|
(3) аллах запрещает?
|
|||
5
Ненавижу 1С
гуру
15.09.15
✎
16:52
|
ДвиженияЗапасыПереданныеИзменение.Заказ.Ссылка ЕСТЬ NULL
|
|||
6
Stim
15.09.15
✎
16:55
|
(4) нет
(5) НЕТ! |
|||
7
Stim
15.09.15
✎
16:57
|
Вот вам простой пример-запрос:
ВЫБРАТЬ "Орг" КАК Организация, 1 КАК заказ ПОМЕСТИТЬ вр ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Орг", 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ вр.Организация, вр.заказ ИЗ вр КАК вр ГДЕ (вр.Организация, вр.заказ) В (ВЫБРАТЬ "Орг",0) Исправьте этот запрос так, чтобы условие (вр.Организация, вр.заказ) В осталось, но выбирались все записи, в том числе и с 1 |
|||
8
bootini
15.09.15
✎
16:57
|
(0)(2) Должно быть в условии после слова "ГДЕ", а не в полях
|
|||
9
Апош
15.09.15
✎
16:59
|
(7) что ты там употребляешь?
|
|||
10
Stim
15.09.15
✎
16:59
|
(8) это было бы слишком просто.
Нужно в полях. потому и спрашиваю. |
|||
11
aleks_default
15.09.15
✎
17:00
|
ДвиженияЗапасыПереданныеИзменение.Заказ в (Значение(Документ.ЗаказПоставщику.ПустаяСсылка),Значение(Документ.ЗаказПокупателя.ПустаяСсылка),Неопределено)
|
|||
12
bootini
15.09.15
✎
17:03
|
(7) )
ВЫБРАТЬ "Орг" КАК Организация, 1 КАК заказ ПОМЕСТИТЬ вр ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Орг", 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ вр.Организация, вр.заказ ИЗ вр КАК вр ГДЕ (вр.Организация, вр.заказ) В (ВЫБРАТЬ Организация, заказ) |
|||
13
bootini
15.09.15
✎
17:09
|
(7) Еще :)
ВЫБРАТЬ "Орг" КАК Организация, 1 КАК заказ ПОМЕСТИТЬ вр ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Орг", 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ вр.Организация, вр.заказ ИЗ вр КАК вр ГДЕ (вр.Организация, вр.заказ) В (ВЫБРАТЬ вр.Организация, ВЫБОР КОГДА вр.заказ = 1 ТОГДА 1 ИНАЧЕ 0 КОНЕЦ ИЗ вр) |
|||
14
Ненавижу 1С
гуру
15.09.15
✎
17:15
|
(6) чей то ты орешь?
|
|||
15
Stim
15.09.15
✎
17:15
|
все не то
|
|||
16
Ненавижу 1С
гуру
15.09.15
✎
17:21
|
(15) да нормально объясни что не так
|
|||
17
ВРедная
15.09.15
✎
17:23
|
(0) Сделай все поля через "В", а заказ через "ГДЕ".
Так как ты хочешь не будет работать. |
|||
18
RomanYS
15.09.15
✎
17:23
|
(11) +1,
но скорее всего достаточно неопределено |
|||
19
Stim
15.09.15
✎
17:23
|
(16) ну как еще.
есть сука здоровый запрос, который надо подправить так, чтобы работало условие й,ц,у В (Выбрать 10, 20, 1 или 0) |
|||
20
Stim
15.09.15
✎
17:25
|
(18) неопределено - оно сработает для остатков с NULL и с пустой ссылкой на документ?
|
|||
21
aleks_default
15.09.15
✎
17:26
|
млять, NULL - это отсутсвие поля, запомните раз и навсегда
|
|||
22
aleks_default
15.09.15
✎
17:26
|
в прясом запросе к таблице NULL быть НЕ МОЖЕТ!
|
|||
23
Stim
15.09.15
✎
17:26
|
(21) отсутствие значения поля
|
|||
24
Stim
15.09.15
✎
17:27
|
(22) к таблице остатков - вполне
|
|||
25
igork1966
15.09.15
✎
17:30
|
(21) Ты не совсем прав. У составных незаполненных полей может быть NULL.
(Я тоже удивился когда увидел в результате запроса) |
|||
26
Stim
15.09.15
✎
17:34
|
прокатит так, интересно:
РегистрНакопления.ЗапасыПереданные.Остатки( &МоментКонтроля, (Организация, Номенклатура,ЕстьNULL(Заказ,Значение(Документ.ЗаказПоставщику.ПустаяСсылка)) В (Выбрать Вр.Организация, Вр.номенклатура, Значение(Документ.ЗаказПоставщику.ПустаяСсылка)) вроде должен отобрать с остатки с пустой ссылкой на док и с NULL |
|||
27
bootini
15.09.15
✎
17:47
|
(26) И со всеми не ПустымиСсылками
|
|||
28
bootini
15.09.15
✎
17:51
|
(26) А так?
ВЫБОР КОГДА НЕ Заказ = ЗНАЧЕНИЕ(Документ.ЗаказПоставщику.ПустаяСсылка) ТОГДА ЗНАЧЕНИЕ(Документ.ЗаказПоставщику.ПустаяСсылка) ИНАЧЕ Заказ КОНЕЦ |
|||
29
ВРедная
15.09.15
✎
17:53
|
(26) нет не должен. У меня ощущение, что ты не понимаешь, как работает "В".
Дальше wall of text. Извините. В "В" не может быть или. "В" означает, "возьми, пожалуйста, только те записи из большой таблицы сверху, у которых поля Х1, Х2, Х3 содержатся вот в этой моей таблице:" а дальше идет таблица, с которой нужно сравнить. В этой таблице конкретные значения, типа: "орг 1", "номенклатура 1", "Заказ покупателя 12" "орг 1", "номенклатура 1", "Заказ поставщику 10" и при отборе из большой таблицы нельзя сказать "вот это поле сравнивай на "=", а вот это на "в списке". Там просто проверяется равенство. Так что приведи остатки в своем регистре к "неопределено" и все будет хорошо. |
|||
30
RomanYS
15.09.15
✎
17:59
|
(26) не может там быть NULL,
правильные варианты в (11) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |