Страница 1 из 1

1С. Перечисления

СообщениеДобавлено: 07 авг 2013, 11:21
Chernov
Привет всем!
Очень давно интересует вопрос - "как в SQL-запросе получить наименования перечислений"?
Как ссылки в SQLнике преобразовать в наименования 1С ?
Сделал простой запрос в 1С-ке:
Код: выделить все
ВЫБРАТЬ
   ВариантыПериодичности.Ссылка,
   ВариантыПериодичности.Порядок
ИЗ
   Перечисление.ВариантыПериодичности КАК ВариантыПериодичности

Смотрю Profiler, запрос выглядит так:
Код: выделить все
SELECT
T1._IDRRef,
T1._EnumOrder
FROM _Enum5134 T1 WITH(NOLOCK)

Результат запроса в 1С:
Ссылка Порядок
Не задан
Однократно 1
Ежедневно 2
Еженедельно 3
Ежемесячно 4
Ежеквартально 5
Ежегодно 6
Вручную 7
Число месяца 8
День месяца 9

Результат в SQL:
_IDRRef _EnumOrder
0x992254B9835E56B8441A022ED4D9C03E 0
0xB18EB5072BE4AC55486E0D18ECBB32D4 1
0xA6C1EA80F764A70E4502A1B397BE5418 2
0x86A9B62B70375891494094E3DBEF6C08 3
0x9AD6B98E1B0075614E57DA474FDA1ED5 4
0x9C251707C966B4A5467578BD4867932D 5
0x9F93B88F5704040645C167E7ED0A3086 6
0x97C0152D2CE052B74E94346EC0EB9391 7
0x82F83691A192AC9642CC44CE593BD6E4 8
0xB113BCB2EC060F2A498EE8E1E26136A9 9

Re: 1С. Перечисления

СообщениеДобавлено: 07 авг 2013, 13:01
Гилёв Вячеслав
Герман Кудяков подсказывает нам :

SQL никак, нет такого "свойства". Элемент перечисления, это такой же элемент метаданных как например форма документа. Наименование можно вытащить только из бинарной записи таблицы config соответствующей данному виду перечисления.

Re: 1С. Перечисления

СообщениеДобавлено: 07 авг 2013, 16:49
Гилёв Вячеслав
думаю зная порядок, можно заранее опросить через 1с представления перечисления и создать служебную таблицу, когда инсертом вставить соотношения порядкового номера и наименования
понятно что любая реструкторизация перечисления требует отслеживания и т.п....