![]() |
|
Как в запросе перечисление представить в виде строки | ☑ | ||
---|---|---|---|---|
0
Lite777888
naïve
06.12.24
✎
15:15
|
Пытаюсь так -
ВЫБРАТЬ СтавкиНДС.Ссылка КАК Ссылка , ВЫРАЗИТЬ( СтавкиНДС.Ссылка КАК СТРОКА ) КАК НДС ИЗ Перечисление.СтавкиНДС КАК СтавкиНДС //ГДЕ // &НДСИМЯ = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20 ) |
|||
1
CepeLLlka
06.12.24
✎
15:15
|
Представление?
|
|||
2
Lite777888
naïve
06.12.24
✎
15:23
|
ВЫБОР КОГДА СтавкиНДС.Ссылка = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20) Тогда
"НДС20" КОГДА СтавкиНДС.Ссылка = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БезНДС) Тогда "БезНДС" похоже так можно |
|||
3
CepeLLlka
06.12.24
✎
15:25
|
??????
ВЫБРАТЬ ПРЕДСТАВЛЕНИЕ(СтавкиНДС.Ссылка) КАК Ссылка ИЗ Перечисление.СтавкиНДС КАК СтавкиНДС |
|||
4
Мультук
гуру
06.12.24
✎
15:26
|
(0)
Не знаю, зачем тебе это нужно, но в документах "ставкаНДС" это уже целый справочник (ERP 2.5, УТ11.5 -- актуальные релизы) |
|||
5
Lite777888
naïve
06.12.24
✎
15:30
|
(4) В бух еще не справочник , при ком соединении нужно подцепить
|
|||
6
Lite777888
naïve
06.12.24
✎
15:32
|
(3) Так вроде идет тоже
|
|||
7
CepeLLlka
06.12.24
✎
15:33
|
(5)И как потом обрабатывать там где подцепили?
Проще получать поле "Порядок" и через соответствие в новой базе уже получать нужную позицию перечисления. |
|||
8
Lite777888
naïve
06.12.24
✎
15:44
|
(7) Чем проще то ?
|
|||
9
CepeLLlka
06.12.24
✎
15:46
|
(8)Сорри.. я просто пытался помочь, предложил вам вариант, не собираюсь вступать в споры.
Можете продолжать делать вот так (2) вместо того чтобы сделать вот так (3) если вам так проще. |
|||
10
Lite777888
naïve
06.12.24
✎
15:52
|
(9) вариант 3 принял
|
|||
11
Dzenn
гуру
06.12.24
✎
15:56
|
1 — создать таблицу значений с двумя колонками — перечисление и его представление
2 — передать ТЗ как параметр в запрос 3 — на основе ТЗ инициализировать в запросе временную таблицу 4 — использовать левое соединение по временной таблице 5 — PROFIT! |
|||
12
Lite777888
naïve
06.12.24
✎
16:07
|
Вообще у меня есть строка "20%" и тд , нужно найти нужное значение перечисления , конструкция типа
ВЫБРАТЬ ПРЕДСТАВЛЕНИЕ(СтавкиНДС.Ссылка) КАК Ссылка ИЗ Перечисление.СтавкиНДС КАК СтавкиНДС ГДЕ ПРЕДСТАВЛЕНИЕ(СтавкиНДС.Ссылка) = &НДССТРОКОЙ не работает, тк это строка неогр длины и привести ее к обычной строке проблемно , поэтому придется все равно использовать КОГДА -ТОГДА |
|||
13
RomanYS
06.12.24
✎
16:05
|
XMLCтрока(Значение)
Не в запросе конечно же |
|||
14
PR
06.12.24
✎
16:15
|
В душе не подозреваю, зачем это, но если уж так надо
ВЫБОР КОГДА Поле = ЗНАЧЕНИЕ(Перечисление.МоеПеречисление.Значение1) ТОГДА "Значение 1" КОГДА Поле = ЗНАЧЕНИЕ(Перечисление.МоеПеречисление.Значение2) ТОГДА "Значение 2" ... ИНАЧЕ "По ходу кто-то не отследил добавление добавление значений в перечисление, а-та-та по жопе" КОНЕЦ КАК ПредставлениеПоляТипаПеречисление |
|||
15
Мультук
гуру
06.12.24
✎
16:17
|
(14)
Вот зачем. Обмен УТ 11.5 БП 3.0 Гена, правда, так и не развил свою мысль до конца. А я про импорт уже ничего не помню. |
|||
16
CepeLLlka
06.12.24
✎
16:28
|
(12)Ну я же написал в (7), что получайте не ссылку, а порядок - индекс перечисления.
Зная что: 1 - НДС 20% 2 - НДС 10% 3 - БЕЗ НДС И т.д. В базе приёмнике напишете так: СоответствиеНДС = Новый Соответствие; СоответствиеНДС.Вставить(1, Перечисления.СтавкиНДС.НДС20); |
|||
17
PR
06.12.24
✎
16:30
|
(15) Понятно, говнокод
Передавать нужно имя значения перечисления, а не синоним Если базы идентичные, то и вовсе (13) Получается это, конечно же, не в запросе, да и непонятно, в чем ценность получения этого именно в запросе |
|||
18
Гена
гуру
06.12.24
✎
16:34
|
(12) Вообще у меня есть строка "20%" и тд
Случаем не банковскую выписку терзаете, где в назначении платежа "В том числе НДС20% сумма"? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |