|
ВЫБОР КОГДА - одно и то-же условие для нескольких значений | ☑ | ||
---|---|---|---|---|
0
palpetrovich
13.05.13
✎
15:08
|
повторять это "для нескольких значений"?
ВЫБОР КОГДА ВЫРАЗИТЬ(ЕСТЬNULL(РС.НаименованиеНоменклатурыКонтрагента, """") КАК СТРОКА(100)) <> """" ТОГДА РС.Номенклатура КОГДА ЕСТЬNULL(Спр.Наименование, 0) <> 0 ТОГДА Спр.Ссылка ИНАЧЕ &ПустаяНоменклатура КОНЕЦ КАК Номенклатура или есть другой способ? |
|||
1
ДенисЧ
13.05.13
✎
15:09
|
повторять
|
|||
2
Maxus43
13.05.13
✎
15:10
|
КОГДА ЕСТЬNULL(Спр.Наименование, 0) <> 0 ТОГДА
тут я просто смысла не вижу, но не суть... А вообще - так и проверять, но проверка последовательна как в обычном Если Тогда ИначеЕсли |
|||
3
Рэйв
13.05.13
✎
15:10
|
ты же Если... не можешь одно на всех написать если не через ИЛИ. Пишешь отдельно для каждого случая.
Так и тут |
|||
4
olegves
13.05.13
✎
15:10
|
(0) копипастить
|
|||
5
viktor_vv
13.05.13
✎
15:11
|
Сейчас еще запинают за :))
КОГДА ЕСТЬNULL(Спр.Наименование, 0) <> 0 ТОГДА кажись так Когда Спр.Ссылка IS NOT NULL Тогда |
|||
6
palpetrovich
13.05.13
✎
15:14
|
(2) там левое соединение
(5) КОГДА ЕСТЬNULL(Спр.Наименование, 0) <> 0 ТОГДА - работает ясно, спасибо ...просто как в реале запрос работать будет? ...можно конечно замерить :) |
|||
7
viktor_vv
13.05.13
✎
15:14
|
И таки да, можно оставить только
Иначе ЕСТЬNULL(Спр.Ссылка, &ПустаяНоменклатура ) |
|||
8
zak555
13.05.13
✎
15:14
|
весь код покажи
|
|||
9
Maxus43
13.05.13
✎
15:15
|
(6) мне без разницы на соединение, у тебя наименование же строка, а ты сравниваешь с Числом. ответ подсказать? или так проверяешь на null лихо?
|
|||
10
Maxus43
13.05.13
✎
15:16
|
(6) работать будет, а вот результат будет волшебным. Ну если такой и надо - пусть будет кончено...
|
|||
11
palpetrovich
13.05.13
✎
15:18
|
(10) нормальный результат... ну разве что на """" заменить
(8) - "ВЫБРАТЬ | ТЗ.КодНоменклатурыКонтрагента, | ВЫРАЗИТЬ(ТЗ.НаименованиеНоменклатурыКонтрагента КАК СТРОКА(100)) КАК НаименованиеНоменклатурыКонтрагента | ПОМЕСТИТЬ ВТ |ИЗ | &ТЗ КАК ТЗ |; |ВЫБРАТЬ | ВТ.КодНоменклатурыКонтрагента, | ВТ.НаименованиеНоменклатурыКонтрагента, | ВЫБОР КОГДА ВЫРАЗИТЬ(ЕСТЬNULL(РС.НаименованиеНоменклатурыКонтрагента, """") КАК СТРОКА(100)) <> """" ТОГДА | РС.Номенклатура | КОГДА ЕСТЬNULL(Спр.Наименование, 0) <> 0 ТОГДА | Спр.Ссылка | ИНАЧЕ | &ПустаяНоменклатура | КОНЕЦ КАК Номенклатура, | ВЫБОР КОГДА ВЫРАЗИТЬ(ЕСТЬNULL(РС.НаименованиеНоменклатурыКонтрагента, """") КАК СТРОКА(100)) <> """" ТОГДА | ЛОЖЬ | КОГДА ЕСТЬNULL(Спр.Наименование, 0) <> 0 ТОГДА | ИСТИНА | ИНАЧЕ | ЛОЖЬ | КОНЕЦ КАК Сохранять, | ВЫБОР КОГДА ВЫРАЗИТЬ(ЕСТЬNULL(РС.НаименованиеНоменклатурыКонтрагента, """") КАК СТРОКА(100)) <> """" ТОГДА | РС.ЕдиницаНоменклатурыКонтрагента | КОГДА ЕСТЬNULL(Спр.Наименование, 0) <> 0 ТОГДА | Спр.БазоваяЕдиницаИзмерения | ИНАЧЕ | &ПустаяЕдиница | КОНЕЦ КАК ЕдиницаНоменклатурыКонтрагента |ИЗ ВТ | |ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.НоменклатураКонтрагентов КАК РС |ПО ВЫРАЗИТЬ(РС.НаименованиеНоменклатурыКонтрагента КАК СТРОКА(100)) = ВТ.НаименованиеНоменклатурыКонтрагента | |ЛЕВОЕ СОЕДИНЕНИЕ | Справочник.Номенклатура КАК Спр |ПО ВЫРАЗИТЬ(Спр.Наименование КАК СТРОКА(100)) = ВТ.НаименованиеНоменклатурыКонтрагента |"; Запрос.УстановитьПараметр("ТЗ", ТЗ); Запрос.УстановитьПараметр("ПустаяНоменклатура", Справочники.Номенклатура.ПустаяСсылка()); Запрос.УстановитьПараметр("ПустаяЕдиница", Справочники.КлассификаторЕдиницИзмерения.ПустаяСсылка()); |
|||
12
zak555
13.05.13
✎
15:19
|
(11) ТЗ откуда получил ?
|
|||
13
Ёпрст
13.05.13
✎
15:20
|
А зачем в РС хранить наименование номенклатуры клиентосов ?
|
|||
14
palpetrovich
13.05.13
✎
15:21
|
(12) из MXL - файла, от поставщика
|
|||
15
palpetrovich
13.05.13
✎
15:21
|
(13) автоматизация "приходок", поставщик выдает не только бумажный вариант, но и MXL - файл
|
|||
16
viktor_vv
13.05.13
✎
15:25
|
А тут может таки не понаименованию соединять, там в РС есть ссылка на номенклатуру.
|
|||
17
viktor_vv
13.05.13
✎
15:25
|
ВЫРАЗИТЬ(Спр.Наименование КАК СТРОКА(100)) = ВТ.НаименованиеНоменклатурыКонтрагента
|
|||
18
palpetrovich
13.05.13
✎
15:26
|
(16) в РС-то конечно есть ссылка, а вот в Файле - только наименование :)
|
|||
19
viktor_vv
13.05.13
✎
15:27
|
Разве что у вас не все вносится в номенклатуру поставщика.
|
|||
20
palpetrovich
13.05.13
✎
15:27
|
+18 собственно ее, ССЫЛКУ-то и ищем ;)
|
|||
21
Maxus43
13.05.13
✎
15:28
|
(13) это в типовых есть даже
|
|||
22
palpetrovich
13.05.13
✎
15:28
|
(19) пока что вообще ничего не вносится :)
|
|||
23
viktor_vv
13.05.13
✎
15:29
|
(18) Ну так в предыдущем соединении ты ж соединяешь с рС номенклатура поставщика там и есть ссылка на номенклатуру, или это дополнительно ищется еще, если вдруг нету в РС ?
|
|||
24
palpetrovich
13.05.13
✎
15:33
|
(23) ну да, сначали ищем в РС, потом в Справочнике
Потом, после заполнения "пустых" оператором - все заносится в РС |
|||
25
viktor_vv
13.05.13
✎
15:34
|
Ну и таки в условиях заменил был
КОГДА ВЫРАЗИТЬ(ЕСТЬNULL(РС.НаименованиеНоменклатурыКонтрагента, """") КАК СТРОКА(100)) <> """" ТОГДА на Когда РС.НаименованиеНоменклатурыКонтрагента IS NOT NULL Тогда читабельнее будет. |
|||
26
acsent
13.05.13
✎
15:35
|
(25) это не то условие
|
|||
27
viktor_vv
13.05.13
✎
15:38
|
(26) Я имел ввиду подобные условия.
Фактически это он на NULL, не NULL проверяет. |
|||
28
palpetrovich
13.05.13
✎
15:41
|
(25) не надо менять, и ограничение 100 убирать нельзя
вот так примерно выглядит: http://4put.ru/pictures/max/614/1888376.jpg на рис. выделена строка. которая есть в РС, те строки, где Сохранять=Да - есть в справчнике, остальных нет нигде |
|||
29
viktor_vv
13.05.13
✎
15:50
|
Так в результате ничего не поменяется
| ВЫБОР КОГДА ВЫРАЗИТЬ(ЕСТЬNULL(РС.НаименованиеНоменклатурыКонтрагента, """") КАК СТРОКА(100)) <> """" ТОГДА | ЛОЖЬ | КОГДА ЕСТЬNULL(Спр.Наименование, 0) <> 0 ТОГДА | ИСТИНА | ИНАЧЕ | ЛОЖЬ | КОНЕЦ КАК Сохранять, на | ВЫБОР КОГДА РС.НаименованиеНоменклатурыКонтрагента IS NOT NULL ТОГДА | ЛОЖЬ | КОГДА Спр.Ссылка IS NOT NULL ТОГДА | ИСТИНА | ИНАЧЕ | ЛОЖЬ | КОНЕЦ КАК Сохранять, |
|||
30
palpetrovich
13.05.13
✎
15:53
|
(29) может и так, сейчас попробую ...хотя, если "в результате ничего не поменяется" - зачем платить больше?(цы) :)
|
|||
31
viktor_vv
13.05.13
✎
15:54
|
(30) Ну если честно, продираться через эти ЕстьNULL тяжеловато :), при чтении.
|
|||
32
palpetrovich
13.05.13
✎
15:56
|
+(30) да, так тоже работает ...и наверное получше, спасибо :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |