|
Уникальный Идентификатор обернуть в двоичное значение, которое хранится в SQL | ☑ | ||
---|---|---|---|---|
0
SeiOkami
27.05.16
✎
09:18
|
Имею УИД элемента справочника. В SQL в поле _IDRRef хранится двоичные данные, которые отображаются в формате "0x" + 32 символа. Могу ли я в 1с кодом обернуть УИД в такое же представление?
|
|||
1
mehfk
27.05.16
✎
09:19
|
Разрешаю.
|
|||
2
hhhh
27.05.16
✎
09:22
|
(0) XMLСтрока() пробуй
|
|||
3
SeiOkami
27.05.16
✎
09:25
|
(2), не, возвращается просто строковое представление УИДа
|
|||
4
mksk
27.05.16
✎
09:26
|
(0)зачем?
|
|||
5
hhhh
27.05.16
✎
09:26
|
(3) а тебе какое надо? Не строковое?
|
|||
6
SeiOkami
27.05.16
✎
09:31
|
(5), мне нужно строковое представление, но как в sql
|
|||
7
hhhh
27.05.16
✎
09:31
|
(6) ну обработай дополнительно напильником
|
|||
8
ДенисЧ
27.05.16
✎
09:31
|
(6) в скуле число. А ты хочешь строку...
|
|||
9
SeiOkami
27.05.16
✎
09:34
|
(8), в скуле двоичные данные
|
|||
10
ДенисЧ
27.05.16
✎
09:36
|
(9) А двоичные данные уже не число?
|
|||
11
hhhh
27.05.16
✎
09:38
|
(9) тип посмотри у поля _IDRRef. Неужели там написано "двоичный"? Не может быть.
|
|||
12
SeiOkami
27.05.16
✎
09:38
|
(10), это уже игры словами.
Есть ли способ реализовать (0)? |
|||
13
SeiOkami
27.05.16
✎
09:39
|
(11), конечно. SQL хранит ссылки и типы ссылок в binary
|
|||
14
SeiOkami
27.05.16
✎
09:41
|
(13), как и булево
|
|||
15
mksk
27.05.16
✎
09:43
|
(12)а зачем?!
|
|||
16
hhhh
27.05.16
✎
09:43
|
(14) но они "отображаются в формате "0x" + 32 символа". То есть как строка. Не отвертитесь.
|
|||
17
SeiOkami
27.05.16
✎
09:51
|
(16), не путай хранение с отображением
|
|||
18
SeiOkami
27.05.16
✎
09:54
|
Нашел код в комментариях публикации:
http://catalog.mista.ru/public/73917/ |
|||
19
rs_trade
27.05.16
✎
09:55
|
(18) ну надо же. кто бы мог подумать. обычно сначала ищут, а потом пишут на форумы если не нашли.
|
|||
20
Nuobu
27.05.16
✎
09:57
|
(0) По-моему, ты видишь не двоичные данные, а представление этих данных.
http://www.spravkaweb.ru/mysql/sql/vartype#.D0.94.D0.B0.D1.82.D0.B0_.D0.B8_.D0.B2.D1.80.D0.B5.D0.BC.D1.8F Там есть абзац про бинарные данные. Тут еще: https://msdn.microsoft.com/ru-ru/library/ms188362(v=sql.120).aspx Так что юзай строку. |
|||
21
Карупян
27.05.16
✎
10:09
|
Когда 1с говорит объект не найден, она как раз дает те самые 32 символа как в СКЛ
|
|||
22
mksk
27.05.16
✎
10:23
|
ну так нашли уже взаимно однозначное соответствия между УИД и _IDRRef или просто холивар опять?
|
|||
23
Лефмихалыч
27.05.16
✎
10:41
|
(0) а ЗначениеВСтрокуВнутр() от ссылки не это ли пьяное значение возвращает?
|
|||
25
Лефмихалыч
27.05.16
✎
10:41
|
вот тут ответ v8: В MS SQL хочу из ссылки получить гуид
|
|||
26
hhhh
27.05.16
✎
10:42
|
(23) походу XMLСтрока() надо. А ТС делает Строка()
|
|||
27
Serginio1
01.06.16
✎
16:08
|
public static class РасширениеДляГуид
{ public static string ВСтроку16(this byte[] bytes) { char[] c = new char[bytes.Length * 2]; byte b; for (int bx = 0, cx = 0; bx < bytes.Length; ++bx, ++cx) { b = ((byte)(bytes[bx] >> 4)); c[cx] = (char)(b > 9 ? b - 10 + 'A' : b + '0'); b = ((byte)(bytes[bx] & 0x0F)); c[++cx] = (char)(b > 9 ? b - 10 + 'A' : b + '0'); } return new string(c); } public static string УИд1С(this byte[] ДанныеБД) { var стр = ДанныеБД.ВСтроку16(); var ч1 = стр.Substring(24, 8); var ч2 = стр.Substring(20, 4); var ч3 = стр.Substring(16, 4); var ч4 = стр.Substring(0, 4); var ч5 = стр.Substring(4, 12); return (ч1 + "-" + ч2 + "-" + ч3 + "-" + ч4 + "-" + ч5); } |
|||
28
Serginio1
01.06.16
✎
16:09
|
public static Byte[] Строка16ВМассив(this string str)
{ var res = new byte[str.Length / 2]; for (int i = 0; i < res.Length; i++) res[i] = Convert.ToByte(str.Substring(i * 2, 2), 16); return res; } public static Byte[] ПолучитьМассивПоУИд(this string UUID) { varч1 = UUID.Substring(19, 4); varч2 = UUID.Substring(24, 12); varч3 = UUID.Substring(14, 4); varч4 = UUID.Substring(9, 4); varч5 = UUID.Substring(0, 8); var str = ч1 + ч2 + ч3 + ч4 + ч5; return Строка16ВМассив(str); } |
|||
29
mksk
01.06.16
✎
16:11
|
какие проблемы создать ссылку (или множество ссылок) средствами платформы и потом заполнить апдейтом?
быстро, качественно, гарантированно совместимо. |
|||
30
Serginio1
01.06.16
✎
17:05
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |