|
тип "уникальный идентификатор" как измерение регистра | ☑ | ||
---|---|---|---|---|
0
vde69
01.10.18
✎
10:00
|
есть у меня необходимость сделать регистр с измерением "уникальный идентификатор", штатно это сделать 1с не дает (нет такого типа в списке выбора).
можно сделать определяемый тип с типом "уникальный идентификатор" и уже в измерение закинуть этот определяемый тип. или можно сделать по аналогии с типовым регистром "соответствиеОбъектовИнформационныхБаз" где вместо УИ лежит строка[36] теперь вопросы - 1. чем обусловлено что 1с не дает в измерениях выбирать такой тип (кроме контроля ссылочной целостно)? 2. какой вариант лучше и чем они плохи про то, что индексирование строковых параметров отжирает больше индекса чем индексирование ссылки я знаю, еще какие заморочки есть? |
|||
1
Cool_Profi
01.10.18
✎
10:02
|
Сделай строку и пихай туда XMLСтрока(ТвойУИД)
|
|||
2
d4rkmesa
01.10.18
✎
10:14
|
(0) УникальныйИдентификатор в реквизите будете средствами 1С делать?
|
|||
3
vde69
01.10.18
✎
10:17
|
(2) уникальный идентификатор буду копировать из документа, он есть в реквизите ТЧ документа
|
|||
4
d4rkmesa
01.10.18
✎
10:29
|
(0)
1. Я думаю, 1С старается не поощрять подобное, т.к. если совсем уж произвольные guid-ы пихать, то это вступит в непростые отношения с кластерным индексом итогов. Хотя, строковые измерения тоже не рекомендуется делать в РН. 2. Для РН - думаю, без разницы, оба варианта так себе, но я бы сделал строковый реквизит, дабы не нарваться не неизвестные мне грабли. Не эксперт, не обессудьте. ) |
|||
5
vde69
01.10.18
✎
10:34
|
решил попробовать вариант 2 - 1с не дает сохранить изменения, пишет тип не верный, по этому только вариант 1 (строка)
практическую часть вопроса можно считать снятым, остается теоретическая: почему 1с это запрещает? |
|||
6
yzimin
01.10.18
✎
10:38
|
В типовых регистрах предназначенных для обмена используется тип строка
|
|||
7
SleepyHead
гуру
01.10.18
✎
10:39
|
(5) Потому что грохнут ссылку, из которой вы получили ваш УИД, и этот УИД превратится в тыкву.
|
|||
8
RomanYS
01.10.18
✎
10:40
|
(5) Есть вариант: создать простой справочник и использовать его.
(7) бред |
|||
9
Ёпрст
01.10.18
✎
10:41
|
(7) так сейчас аналогично происходит с любым измерением ссылочного типа, если сам элемент удалят..Просто будет битая ссылка.
Аналогично, был бы битый гуид. |
|||
10
Ёпрст
01.10.18
✎
10:42
|
Просто товарищам с селезнёвки нужно было лет 10 назад добавить в запросе получения гуида для реквизитов ссылочного типа, только и всего лишь. Это намного бы упростило делать обмены со сторонними ресурсами.
|
|||
11
RomanYS
01.10.18
✎
10:47
|
(9) "битый гуид" - это как?
|
|||
12
bolobol
01.10.18
✎
10:48
|
Всё даёт. У меня Регистр сведений такой сделан - оч.удобно.
|
|||
13
bolobol
01.10.18
✎
10:49
|
Тпи пятый сверху - Уникальный идентификатор. 8,3,10
|
|||
14
d4rkmesa
01.10.18
✎
10:50
|
(12) У ТС скорее всего РН, там нельзя.
|
|||
15
youalex
01.10.18
✎
10:51
|
РС - дает, РН - не дает.
|
|||
16
vde69
01.10.18
✎
10:52
|
(13) РС - дает
РН (подчиненный регистратору) - нет |
|||
17
Сияющий в темноте
01.10.18
✎
11:09
|
Регистр накопления предполагает итоги и упорядочивание.
Вопрос упорядочивая по гуид можно долго обсуждать,и,видимо,на селезневке все еще обсуждают. И получается 72 байта вместо 16. |
|||
18
bolobol
01.10.18
✎
11:10
|
(17) Что за 72 байта? Вместо каких 16-ти?
|
|||
19
vde69
01.10.18
✎
11:26
|
(17) чем ссылка отличается от гуида?
(18) он имеет в виду размер в сборном индексе |
|||
20
d4rkmesa
01.10.18
✎
11:27
|
(18) GUID в виде строки UTF-16.
|
|||
21
bolobol
01.10.18
✎
11:32
|
(20) Гуид в виде строки недавно был 36 знаков:
00000000(8)-0000(12)-0000(16)-0000(20)-000000000000(32+4(-)) Откуда 72 ? |
|||
22
Сияющий в темноте
01.10.18
✎
11:32
|
Ссылка,это еще и тип обьекта,кроме гуида,то,что он в регист не пишется,если обьект один,еще не значит,что его нет.
72 байта,это 36 символов по 2 байта в индекс по строке,если пишем представление гуида. а разумнее было бы тип Binary до ума довести,но 1с не скоро созреет. |
|||
23
DrZombi
гуру
01.10.18
✎
11:35
|
(0) Только строка, фиксированная 36 символов.
|
|||
24
Cool_Profi
01.10.18
✎
11:36
|
(21) 36*2 (UTF) = 72
|
|||
25
bolobol
01.10.18
✎
11:58
|
(24) 36*3 (ХЗЧ) = 108
Речь-то о чём? Что за UTF, почему именно про него? Что у него не так со строками? |
|||
26
bolobol
01.10.18
✎
11:59
|
(22) 36 символов по 2 байти в индекс? Индекс в два раза больше данных? Ээээ...
|
|||
27
Cool_Profi
01.10.18
✎
12:05
|
(25) UTF-8 - двухбайтная строка...
@в самом распространённом UTF-8 символ может кодироваться последовательностью от 1 до 4 байт.@ Но это уже на совести (17) |
|||
28
bolobol
01.10.18
✎
12:09
|
(27) 1С данные хранит в УТФ-8 ?
|
|||
29
Cool_Profi
01.10.18
✎
12:13
|
(28) Удивишься...
|
|||
30
1Сергей
01.10.18
✎
12:26
|
(0) Зачем?
|
|||
31
H A D G E H O G s
01.10.18
✎
12:32
|
Я один не понимаю проблему автора?
|
|||
32
H A D G E H O G s
01.10.18
✎
12:36
|
||||
33
H A D G E H O G s
01.10.18
✎
12:37
|
А, все понял, РН.
|
|||
34
rs_trade
01.10.18
✎
12:40
|
(0) индексирование строковых параметров отжирает больше индекса чем индексирование ссылки я знаю
с чего бы это. гуид такая-же строка, с определенной длиной. ну если только с ограниченным набором символов. |
|||
35
H A D G E H O G s
01.10.18
✎
12:41
|
(34) Это магия.
|
|||
36
rs_trade
01.10.18
✎
12:42
|
(35) я в магию не верю
|
|||
37
H A D G E H O G s
01.10.18
✎
12:43
|
(0) Преобразуй GUID в число.
17 байт данных на numeric хватит всем. |
|||
38
Cyberhawk
01.10.18
✎
12:45
|
(37) Ради экономии 2-3% от максимальной длины составного индекса?
|
|||
39
H A D G E H O G s
01.10.18
✎
13:00
|
(38) Нет. Там экономия гораздо больше.
|
|||
40
nicxxx
01.10.18
✎
13:22
|
(4)"1. Я думаю, 1С старается не поощрять подобное, т.к. если совсем уж произвольные guid-ы пихать, то это вступит в непростые отношения с кластерным индексом итогов. Хотя, строковые измерения тоже не рекомендуется делать в РН."
Не пиши ерудны. 1С сама так делает или про гуиды, конвертированные в binary(16) и помещенные во все кластерные индексы мы вдруг забыли? Строка - зло, но если только переменной длины, т.к. может привести к превышению длины строки индекса. Если же она фиксирована, то нет препятствий. |
|||
41
H A D G E H O G s
01.10.18
✎
13:30
|
(40) Еще одна дичь.
|
|||
42
Oftan_Idy
01.10.18
✎
13:32
|
(0) Какая проблема использовать строку 36 символов?
|
|||
43
H A D G E H O G s
01.10.18
✎
13:38
|
(42)
- Хранить эту строку в виде лишний 64 байт (если вырезать дефисы). - Сортировать эту строку по правилам языка, а не по физическому значению, что на порядки дольше. |
|||
44
nicxxx
01.10.18
✎
13:42
|
(41) У автора поста (4) - да, дичь.
|
|||
45
Oftan_Idy
01.10.18
✎
13:45
|
(43) - не надо ничего вырезать, храни как есть в строке и все. что тебе места жалко что-ли, в каком веке живешь?
- не надо сортировать идентификатор |
|||
46
Oftan_Idy
01.10.18
✎
13:46
|
(43) SQL справится с твоей 36-символьной строкой, не переживай
|
|||
47
H A D G E H O G s
01.10.18
✎
13:47
|
(45) Идентификатор будет сортироваться при построении индекса.
|
|||
48
H A D G E H O G s
01.10.18
✎
13:48
|
(46) Я не переживаю. Я просто рассчитываю, что не пересекусь с вашими разработками.
|
|||
49
H A D G E H O G s
01.10.18
✎
14:00
|
(45) "что тебе места жалко что-ли, в каком веке живешь? "
А потом появляются конфигурации, к примеру, хранящие акцизные марки в виде строки в 150 символов в измерении РС, по позиции регистратора, которых может быть несколько типов. Посмотрим, как это взлетит на отгрузке, когда всё завертеться. |
|||
50
Oftan_Idy
01.10.18
✎
14:11
|
(47) да пускай сортируется
(48) ой ой ой, какие мы крутые. Мушку спили |
|||
51
Oftan_Idy
01.10.18
✎
14:14
|
(47) Я не думаю что у тебя идет учет столкновения элементарных частиц в коллайдере.
MS SQL нормально пережует твои несчастные 72 байта в ключе. Если уж сильно хочется сделать по феншую, что бы потом хвастаться, то перегони свою 36-строку в 4 байтовое число (как это делает платформа) и будет тебе счастье. |
|||
52
H A D G E H O G s
01.10.18
✎
14:14
|
А потом эти ленивые жопки спрашивают "че у нас евро такой дорогой". А сами же делают свой работу наотъебись.
|
|||
53
Oftan_Idy
01.10.18
✎
14:15
|
(49) Сколько гигабайт занимает твоя sql-таблица к который ты хочешь прикрутить guid?
Меньше 100 Гб? |
|||
54
Oftan_Idy
01.10.18
✎
14:17
|
(52) хосподя, да черт с тобой, можешь любоваться на себя в зеркале, не забудь нимб протереть, академический наш
|
|||
55
H A D G E H O G s
01.10.18
✎
14:17
|
(53) Речь не идет о размерах хранения, на это всем похрен.
Речь идет об обновлении итогов регистра накопления, в которых и скрыто 80% времени проведения документа. |
|||
56
Oftan_Idy
01.10.18
✎
14:54
|
(55) В сабже не было речи о том что guid над прикрутить в рег.нак который двигается проведением.
Это совсем другой вопрос. Тогда это хреновая идея вообще. Речь шла,как я понял, про синхронизацию объектов, для этого нужный такие ключи. |
|||
57
Eiffil123
01.10.18
✎
14:57
|
Сделай определяемый тип. это же проще, чем потом конвертировать ГУИД туда-обратно.
|
|||
58
Eiffil123
01.10.18
✎
14:57
|
(56) надеюсь, эти ключи будут в реквизитах, а не в измерениях.
|
|||
59
Eiffil123
01.10.18
✎
14:59
|
Ну или так: если нужно запросом получать гуиды элементов справочника из измерений - добавить в справочник реквизит GUID, заполнять при первой записи справочника из ссылки. А в запросе получать гуиды через точку. Тогда не нужно ломать регистры.
|
|||
60
RomanYS
01.10.18
✎
15:14
|
(56) А существуют РН, которые двигаются не проведением документов?
|
|||
61
Oftan_Idy
01.10.18
✎
15:24
|
(60) Не было речи об РН
|
|||
62
Eiffil123
02.10.18
✎
15:12
|
(60) конечно. корректировка записей регистров, например. Записывает в регистр без проведения.
|
|||
63
youalex
02.10.18
✎
15:33
|
(60) это практически вопрос из профа)
|
|||
64
bolobol
02.10.18
✎
15:55
|
(62) И что же, интересно, пишется в регистратор?
|
|||
65
rozer76
02.10.18
✎
21:25
|
(64) корректировка записей...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |