Вход | Регистрация



тип "уникальный идентификатор" как измерение регистра

тип "уникальный идентификатор" как измерение регистра
Я
   vde69
 
01.10.18 - 10:00
есть у меня необходимость сделать регистр с измерением "уникальный идентификатор", штатно это сделать 1с не дает (нет такого типа в списке выбора).

можно сделать определяемый тип с типом "уникальный идентификатор" и уже в измерение закинуть этот определяемый тип.

или можно сделать по аналогии с типовым регистром "соответствиеОбъектовИнформационныхБаз" где вместо УИ лежит строка[36]
теперь вопросы - 
1. чем обусловлено что 1с не дает в измерениях выбирать такой тип (кроме контроля ссылочной целостно)?
2. какой вариант лучше и чем они плохи про то, что индексирование строковых параметров отжирает больше индекса чем индексирование ссылки я знаю, еще какие заморочки есть?
 
 
   Cool_Profi
 
1 - 01.10.18 - 10:02
Сделай строку и пихай туда XMLСтрока(ТвойУИД)
   d4rkmesa
 
2 - 01.10.18 - 10:14
(0) УникальныйИдентификатор в реквизите будете средствами 1С делать?
   vde69
 
3 - 01.10.18 - 10:17
(2) уникальный идентификатор буду копировать из документа, он есть в реквизите ТЧ документа
   d4rkmesa
 
4 - 01.10.18 - 10:29
(0)
1. Я думаю, 1С старается не поощрять подобное, т.к. если совсем уж произвольные guid-ы пихать, то это вступит в непростые отношения с кластерным индексом итогов. Хотя, строковые измерения тоже не рекомендуется делать в РН.
2. Для РН - думаю, без разницы, оба варианта так себе, но я бы сделал строковый реквизит, дабы не нарваться не неизвестные мне грабли.

Не эксперт, не обессудьте. )
   vde69
 
5 - 01.10.18 - 10:34
решил попробовать вариант 2 - 1с не дает сохранить изменения, пишет тип не верный, по этому только вариант 1 (строка)

практическую часть вопроса можно считать снятым, остается теоретическая:

почему 1с это запрещает?
   yzimin
 
6 - 01.10.18 - 10:38
В типовых регистрах предназначенных для обмена используется тип строка
   SleepyHead
 
7 - 01.10.18 - 10:39
(5) Потому что грохнут ссылку, из которой вы получили ваш УИД, и этот УИД превратится в тыкву.
   RomanYS
 
8 - 01.10.18 - 10:40
(5) Есть вариант: создать простой справочник и использовать его.
(7) бред
   Ёпрст
 
9 - 01.10.18 - 10:41
(7) так сейчас аналогично происходит с любым измерением ссылочного типа, если сам элемент удалят..Просто будет битая ссылка.
Аналогично, был бы битый гуид.
   Ёпрст
 
10 - 01.10.18 - 10:42
Просто товарищам с селезнёвки нужно было лет 10 назад добавить в запросе получения гуида для реквизитов ссылочного типа, только и всего лишь. Это намного бы упростило делать обмены со сторонними ресурсами.
 
 Рекламное место пустует
   RomanYS
 
11 - 01.10.18 - 10:47
(9) "битый гуид" - это как?
   bolobol
 
12 - 01.10.18 - 10:48
Всё даёт. У меня Регистр сведений такой сделан - оч.удобно.
   bolobol
 
13 - 01.10.18 - 10:49
Тпи пятый сверху - Уникальный идентификатор. 8,3,10
   d4rkmesa
 
14 - 01.10.18 - 10:50
(12) У ТС скорее всего РН, там нельзя.
   youalex
 
15 - 01.10.18 - 10:51
РС - дает, РН - не дает.
   vde69
 
16 - 01.10.18 - 10:52
(13) РС - дает
РН (подчиненный регистратору) - нет
   Сияющий в темноте
 
17 - 01.10.18 - 11:09
Регистр накопления предполагает итоги и упорядочивание.
Вопрос упорядочивая по гуид можно долго обсуждать,и,видимо,на селезневке все еще обсуждают.
И получается 72 байта вместо 16.
   bolobol
 
18 - 01.10.18 - 11:10
(17) Что за 72 байта? Вместо каких 16-ти?
   vde69
 
19 - 01.10.18 - 11:26
(17) чем ссылка отличается от гуида?

(18) он имеет в виду размер в сборном индексе
   d4rkmesa
 
20 - 01.10.18 - 11:27
(18) GUID в виде строки UTF-16.
   bolobol
 
21 - 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с не скоро созреет.
   DrZombi
 
23 - 01.10.18 - 11:35
(0) Только строка, фиксированная 36 символов.
   Cool_Profi
 
24 - 01.10.18 - 11:36
(21) 36*2 (UTF) = 72
   bolobol
 
25 - 01.10.18 - 11:58
(24) 36*3 (ХЗЧ) = 108

Речь-то о чём? Что за UTF, почему именно про него? Что у него не так со строками?
   bolobol
 
26 - 01.10.18 - 11:59
(22) 36 символов по 2 байти в индекс? Индекс в два раза больше данных? Ээээ...
   Cool_Profi
 
27 - 01.10.18 - 12:05
(25) UTF-8 - двухбайтная строка...
@в самом распространённом UTF-8 символ может кодироваться последовательностью от 1 до 4 байт.@

Но это уже на совести (17)
   bolobol
 
28 - 01.10.18 - 12:09
(27) 1С данные хранит в УТФ-8 ?
   Cool_Profi
 
29 - 01.10.18 - 12:13
(28) Удивишься...
   1Сергей
 
30 - 01.10.18 - 12:26
(0) Зачем?
   H A D G E H O G s
 
31 - 01.10.18 - 12:32
Я один не понимаю проблему автора?
   H A D G E H O G s
 
32 - 01.10.18 - 12:36
   H A D G E H O G s
 
33 - 01.10.18 - 12:37
А, все понял, РН.
 
 
   rs_trade
 
34 - 01.10.18 - 12:40
(0) индексирование строковых параметров отжирает больше индекса чем индексирование ссылки я знаю

с чего бы это. гуид такая-же строка, с определенной длиной. ну если только с ограниченным набором символов.
   H A D G E H O G s
 
35 - 01.10.18 - 12:41
(34) Это магия.
   rs_trade
 
36 - 01.10.18 - 12:42
(35) я в магию не верю
   H A D G E H O G s
 
37 - 01.10.18 - 12:43
(0) Преобразуй GUID в число.
17 байт данных на numeric хватит всем.
   Cyberhawk
 
38 - 01.10.18 - 12:45
(37) Ради экономии 2-3% от максимальной длины составного индекса?
   H A D G E H O G s
 
39 - 01.10.18 - 13:00
(38) Нет. Там экономия гораздо больше.
   nicxxx
 
40 - 01.10.18 - 13:22
(4)"1. Я думаю, 1С старается не поощрять подобное, т.к. если совсем уж произвольные guid-ы пихать, то это вступит в непростые отношения с кластерным индексом итогов. Хотя, строковые измерения тоже не рекомендуется делать в РН."
Не пиши ерудны.
1С сама так делает или про гуиды, конвертированные в binary(16) и помещенные во все кластерные индексы мы вдруг забыли?
Строка - зло, но если только переменной длины, т.к. может привести к превышению длины строки индекса. Если же она фиксирована, то нет препятствий.
   H A D G E H O G s
 
41 - 01.10.18 - 13:30
(40) Еще одна дичь.
   Oftan_Idy
 
42 - 01.10.18 - 13:32
(0) Какая проблема использовать строку 36 символов?
   H A D G E H O G s
 
43 - 01.10.18 - 13:38
(42)
- Хранить эту строку в виде лишний 64 байт (если вырезать дефисы).

- Сортировать эту строку по правилам языка, а не по физическому значению, что на порядки дольше.
   nicxxx
 
44 - 01.10.18 - 13:42
(41) У автора поста (4) - да, дичь.
   Oftan_Idy
 
45 - 01.10.18 - 13:45
(43) - не надо ничего вырезать, храни как есть в строке и все. что тебе места жалко что-ли, в каком веке живешь?

- не надо сортировать идентификатор
   Oftan_Idy
 
46 - 01.10.18 - 13:46
(43) SQL справится с твоей 36-символьной строкой, не переживай
   H A D G E H O G s
 
47 - 01.10.18 - 13:47
(45) Идентификатор будет сортироваться при построении индекса.
   H A D G E H O G s
 
48 - 01.10.18 - 13:48
(46) Я не переживаю. Я просто рассчитываю, что не пересекусь с вашими разработками.
   H A D G E H O G s
 
49 - 01.10.18 - 14:00
(45) "что тебе места жалко что-ли, в каком веке живешь? "

А потом появляются конфигурации, к примеру, хранящие акцизные марки в виде строки в 150 символов в измерении РС, по позиции регистратора, которых может быть несколько типов.
Посмотрим, как это взлетит на отгрузке, когда всё завертеться.
 
 Рекламное место пустует
   Oftan_Idy
 
50 - 01.10.18 - 14:11
(47) да пускай сортируется

(48) ой ой ой, какие мы крутые.

Мушку спили
   Oftan_Idy
 
51 - 01.10.18 - 14:14
(47) Я не думаю что у тебя идет учет столкновения элементарных частиц в коллайдере.
MS SQL нормально пережует твои несчастные 72 байта в ключе.

Если уж сильно хочется сделать по феншую, что бы потом хвастаться, то перегони свою 36-строку в 4 байтовое число (как это делает платформа) и будет тебе счастье.
   H A D G E H O G s
 
52 - 01.10.18 - 14:14
А потом эти ленивые жопки спрашивают "че у нас евро такой дорогой". А сами же делают свой работу наотъебись.
   Oftan_Idy
 
53 - 01.10.18 - 14:15
(49) Сколько гигабайт занимает твоя sql-таблица к который ты хочешь прикрутить guid?
Меньше 100 Гб?
   Oftan_Idy
 
54 - 01.10.18 - 14:17
(52) хосподя, да черт с тобой, можешь любоваться на себя в зеркале, не забудь нимб протереть, академический наш
   H A D G E H O G s
 
55 - 01.10.18 - 14:17
(53) Речь не идет о размерах хранения, на это всем похрен.
Речь идет об обновлении итогов регистра накопления, в которых и скрыто 80% времени проведения документа.
   Oftan_Idy
 
56 - 01.10.18 - 14:54
(55) В сабже не было речи о том что guid над прикрутить в рег.нак который двигается проведением.
Это совсем другой вопрос.
Тогда это хреновая идея вообще.

Речь шла,как я понял, про синхронизацию объектов, для этого нужный такие ключи.
   Eiffil123
 
57 - 01.10.18 - 14:57
Сделай определяемый тип. это же проще, чем потом конвертировать ГУИД туда-обратно.
   Eiffil123
 
58 - 01.10.18 - 14:57
(56) надеюсь, эти ключи будут в реквизитах, а не в измерениях.
   Eiffil123
 
59 - 01.10.18 - 14:59
Ну или так: если нужно запросом получать гуиды элементов справочника из измерений - добавить в справочник реквизит GUID, заполнять при первой записи справочника из ссылки. А в запросе получать гуиды через точку. Тогда не нужно ломать регистры.
   RomanYS
 
60 - 01.10.18 - 15:14
(56) А существуют РН, которые двигаются не проведением документов?
   Oftan_Idy
 
61 - 01.10.18 - 15:24
(60) Не было речи об РН
   Eiffil123
 
62 - 02.10.18 - 15:12
(60) конечно. корректировка записей регистров, например. Записывает в регистр без проведения.
   youalex
 
63 - 02.10.18 - 15:33
(60) это практически вопрос из профа)
   bolobol
 
64 - 02.10.18 - 15:55
(62) И что же, интересно, пишется в регистратор?
   rozer76
 
65 - 02.10.18 - 21:25
(64) корректировка записей...


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует