Имя: Пароль:
1C
1С v8
v8: Уникальный номер "типа документа"
0 mzelensky
 
16.09.13
10:24
Доброго всем!
Имеется несколько типов документов (да и не обязательно документов, справочники тоже можно учитывать). Нужно как-то получить его уникальный номер, причем трех значный.

Сейчас делается типа такого

Если ТипДокумент = Тип1 тогда "001"
ИначеЕсли ТипДокумент = Тип2 тогда "002"
ИначеЕсли ТипДокумент = Тип3 тогда "003"

и так далее.
1 mzelensky
 
16.09.13
10:25
Можно конечно по имени документа что-то типа хеша сделать, но они довольно длинные + там еще буквы применяются.
2 fisher
 
16.09.13
10:26
А индекс вида документа в метаданных использовать не?
3 Defender aka LINN
 
16.09.13
10:27
(0) Для чего?
4 Defender aka LINN
 
16.09.13
10:28
(2) А потом между документом1 и документом2 еще один вставят
5 fisher
 
16.09.13
10:28
Правда, могут быть проблемы при добавлении новых видов... Я х.з. как порядок в метаданных определяется. Если в очередности добавления - тогда подходит.
6 mzelensky
 
16.09.13
10:29
(3) ну пронумеровать мне их надо. Это будет составным значением общего ключа
7 Тролль главный
 
16.09.13
10:31
сделай справочник "Виды документов", где твои "001" - Код, а идентификатор - Наименование, например
8 fisher
 
16.09.13
10:31
Если метаданные не проканают, то придется справочник для этого заводить. Других путей не вижу. Тогда код вида документа будет определяться кодом элемента справочника.
9 giallo
 
16.09.13
10:32
(0) план видов характеристик можно сделать например
10 mzelensky
 
16.09.13
10:33
(7) хочу уйти от редактировния данных при добавлении каждого нового типа.

Если автоматом низя, то меня более устраивает вариант из (0).
11 Зойч
 
16.09.13
10:34
(7) В БСП уже есть такой справочник
12 fisher
 
16.09.13
10:34
(8) + Хотя единственный плюс по сравнению с (0) будет - не нужно будет менять конфу при добавлении новых видов. В остальном даже хуже.
13 mzelensky
 
16.09.13
10:34
(9) не, хочу чтобы не надо было ничего добавлять\подправлять\вносить и редактировать...
14 mzelensky
 
16.09.13
10:35
(12) В таком случае мне проще еще одну строчку кода добавить.
15 fisher
 
16.09.13
10:40
(14) только что проверил - индексы метаданных соответствуют их порядку в конфигураторе. Т.е. на них опираться нельзя. Поменяли порядок - и приплыли.
Так что, судя по всему, нормальных вариантов нет.
16 fisher
 
16.09.13
10:41
Переделай только с "ИначеЕсли" на структуру.
17 fisher
 
16.09.13
10:42
или соответствие.
18 Галахад
 
гуру
16.09.13
10:45
(10) Ну, справочник же можно автоматом заполнять.
19 Бледно Золотистый
 
16.09.13
10:46
(18) Да даже не справочник, а табличку в ХранилищеЗначений. Первоначально заполнить по алфавиту имен метаданных, и постоянно сравнивать на наличие новых.
20 fisher
 
16.09.13
10:49
(18) Тогда его еще кэшировать надо, чтобы производительность выгрузки/загрузки не упала. Короче, можно, но стоит ли овчинка выделки...
(19) Без справочника никак.
21 Defender aka LINN
 
16.09.13
10:51
(19) Да нафиг вообще все эти справочники, документы, регистры... Все сделать таблицами в хранилищах!
22 mzelensky
 
16.09.13
10:51
Можно конечно заморочиться - сделать справочник отдельный. Система перед запуском будет анализировать метаданные и заносить их в этот справочник (естественно с контролем по уникальности).

Но там все-равно вопрос с сортировкой встает. Например если сделать пустую базу (чисто конфу скопировать) и запустить ее, сделает ли она этот справочник аналогично!?
23 mzelensky
 
16.09.13
10:51
(19)(21)Не, через хранилище не хочу. не люблю объекты, которые низя прочитать запросом.
24 mzelensky
 
16.09.13
10:53
(22) + в справочнике низя нормально реквизит "тип данных" хранить. Следовательно выходим все-таки на характеристику. Хотя это уже нюансы
25 fisher
 
16.09.13
10:54
(19) Или ты константу-хранилище имел в виду? Ну, можно, конечно...
(22) Не сделает, ессно. Хороший довод.
26 mzelensky
 
16.09.13
10:56
Короче красивого и простого решения не вижу :( Ладно ,пока оставлю как в (0), а если будет время попробую заморочиться с переделкой на характеристику с автозаполнением.
27 fisher
 
16.09.13
10:59
Убери только поиск кода через "ИначеЕсли".
28 mzelensky
 
16.09.13
11:02
(27) ладно, эт быстро :)
29 Ненавижу 1С
 
гуру
16.09.13
11:07
можно хранить в справочнике пустые сслыки соответствующих видо и сравнивать в запросе типы значений
30 Defender aka LINN
 
16.09.13
11:20
(24) Можно хранить имя объекта метаданных. В типовых нынче такой справочник даже имеется.
Закон Брукера: Даже маленькая практика стоит большой теории.