|
МАКСИМУМ ссылочного типа | ☑ | ||
---|---|---|---|---|
0
SeraFim
04.10.12
✎
08:22
|
Дано: Перечисление "Категории мед.персонала": Вторая, Первая, Высшая
Видимо, при создании этого перечисления сделали порядок: Вторая, Высшая, Первая. Поэтому эти категории и сравниваются Вторая < Высшая < Первая (должно быть Вторая < Первая < Высшая) У Иванова есть Первая и Высшая Категории Поэтому запрос ВЫБРАТЬ
вернет Иванов - Первая Подскажите, что нужно сделать, чтобы получить нужный результат: Иванов - Высшая |
|||
1
butterbean
04.10.12
✎
08:24
|
сделать справочник вместо перечисления
|
|||
2
Starhan
04.10.12
✎
08:24
|
Соеденить с регистром сведений (Категория - Приоритет)
Переделать на справочник с реквизитом приоритет м.б. поколдовать с УИД. |
|||
3
chelentano
04.10.12
✎
08:26
|
не совсем понятно, как у одного человека может быть две категории одновременно
|
|||
4
SeraFim
04.10.12
✎
08:33
|
(1)можно, но данные неохота конвертить)
(2)я пока сделал МАКСИМУМ(Табличка.Категория.Порядок) и потом соединение с Таблицей этого перечисления) Работает все хорошо, но не нравится -> длинные запросы получаются Вот как раз про УИДы и думал - что же в БД поменять. В справке: ссылочные типы сравниваются на основе своих значений (номера записи и т. п.); (3) по разным специальностям |
|||
5
dk
04.10.12
✎
08:36
|
переименовать в 1_Высшая, 2_Первая, 3_Вторая
|
|||
6
SeraFim
04.10.12
✎
08:42
|
(5) все имена должны начинаться с букв)
|
|||
7
IamAlexy
04.10.12
✎
08:44
|
(6) синонимы оставь с букв, а имена сделай с числа
|
|||
8
dk
04.10.12
✎
08:45
|
_1_Высшая
|
|||
9
SeraFim
04.10.12
✎
08:45
|
(7) да это не мое требование) Это требование программирования) Вот даже проверил - 1Ска тоже ругается0
|
|||
10
Светлый Гений
04.10.12
✎
08:46
|
(5)тока наиборот нада 3_Высшая, 2_Первая, 1_Вторая
(9)можно сделать _3Высшая, _2Первая, _1Вторая |
|||
11
dk
04.10.12
✎
08:47
|
(10) максимум на минимум нетрудно сменить
|
|||
12
Светлый Гений
04.10.12
✎
08:50
|
(11)согласен, тут просто логика, такая, что надо максимальную категорию выводить )))
|
|||
13
SeraFim
04.10.12
✎
08:50
|
(8)(10)(11) затестил - один фиг))
В справке: ссылочные типы сравниваются на основе своих значений (номера записи и т. п.); |
|||
14
acsent
04.10.12
✎
08:51
|
выбор когда категория = &1 Тогда 1 КОГДА категория = &2 ТОГДА 2... КАК Порядок
|
|||
15
Sammo
04.10.12
✎
08:56
|
(13) Насколько я понимаю там был намек, что максимум не от ссылочного типа, а от наименования. Но, емнип, у перечисления не взлетит - только для справочного типа.
У перечисления в запросе можно использовать .Порядок, как в 4. И это правильно. P.S. Про возможность исправить уид перечисления - забудь |
|||
16
Светлый Гений
04.10.12
✎
08:58
|
(13)Короче говоря, "порядок" определяет положение значения перечисления сверху вниз. Соответственно, в конфигураторе определяй значения в нужном порядке и бери максимум по этому полю.
|
|||
17
Светлый Гений
04.10.12
✎
08:59
|
+(16)то есть в конфигураторе у тебя должно быть
Вторая Первая Высшая |
|||
18
Starhan
04.10.12
✎
09:02
|
(0) посмотрел в конфе. Зайди в перечилление в конфигураторе и поставь порядко какой тебе нужен
|
|||
19
SeraFim
04.10.12
✎
09:02
|
(16) см.(4) я так и сделал))
(15) Вот я как раз про УИД и думал... Подключился к базе, смотрю - куча табличек _ENUM258. Просматриваю - 2 поля: _IDRRef и _EnumOrder, собственно "Ссылка" и "Порядок" Я правильно понимаю, что _IDRRef лучше не трогать?)) И где можно найти соответствие названий баз? (что, например, _ENUM258 - это Перечисление.Категории) |
|||
20
Starhan
04.10.12
✎
09:09
|
(19) поищи в инете куча обработок.
|
|||
21
НЕА123
04.10.12
✎
09:36
|
(19)
ПолучитьСтруктуруХраненияБазыДанных() ? но я абсолютно согласен с (15). |
|||
22
SeraFim
04.10.12
✎
09:37
|
(21) ага, спасибо, но я уже всё нашел))
вот сижу думаю, стоит или не стоит их менять)) |
|||
23
НЕА123
04.10.12
✎
09:46
|
(22)
если менять 1. менять все существующие ссылки в базе; 2. при всяких там объединениях, восстановлениях конфы помнить об этом. нах это нужно? |
|||
24
SeraFim
04.10.12
✎
12:39
|
(23) это собственные дописки, так что на объединения пофиг)
про замену к выводу пришел - что в 1Ске, что в SQL один фиг все менять надо) В 1Ске проще так что поступил так: создал 4-ую категорию, обработкой заменил высшую на новую, высшую удалил, эту переименовал) На этом все, всем спасибо большое :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |