Регистрация в плане обмена через sql

1. it@contlog.ru 07.04.15 13:07 Сейчас в теме
Добрый день, может кто сталкивался.
Необходима массовая регистрация на плане обмена напрямую в sql, стандартный механизм не подходит.

в sql в таблице изменений есть поле
_NodeTRef binary(4)

Может кто-то пояснить что находится в этом поле и как получить значение поля для конкретного узла обмена?
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. МихаилМ 07.04.15 14:02 Сейчас в теме
по аналогии со справочниками и документами
могу предположить, что там записан номер таблицы (Node)
kasper076; +1
3. it@contlog.ru 07.04.15 14:05 Сейчас в теме
А как получить этот номер? Где то есть соответствие для элемента и таблицы?
+
4. spezc 782 07.04.15 14:06 Сейчас в теме
для того кто собирается напрямую писать в таблицу изменений на скуле - рекомендую поиграться на маленькой тестовой базе и посмотреть как ведется себя регистрация изменений и что и куда записывает.
+
5. it@contlog.ru 07.04.15 14:11 Сейчас в теме
(4) spezc, Запись для справочников/регистров напрямую реализовал. Проблема именно с таблицей изменений.
+
6. spezc 782 07.04.15 14:14 Сейчас в теме
(5) да причем здесь это. вы спрашиваете что писать в таблице изменений, я вам предлагаю посмотреть что пишет туда стандартный механизм (ну и в принципе понять работу планов обмена)
+
7. spezc 782 07.04.15 14:19 Сейчас в теме
и не подумайте что я отпихиваю "идите сами смотрите". просто считаю что в таких вещах лучше иметь полное представление о механизме (полученное на практике).
it@contlog.ru; kasper076; +2
8. it@contlog.ru 08.04.15 05:30 Сейчас в теме
(7) spezc,
Согласен, что лучше вникать и разбираться.
При регистрации набора записи из одной строки(ПланыОбмена.ЗарегистрироватьИзменения(ТекУзелОбмена, НаборДляРегистрации))
Профайлером получаю следующее:

exec sp_executesql N'UPD ATE T1 SE T _MessageNo = CAST(NULL AS NUMERIC(38,8))
FR OM _InfoRgChngR14113 T1
WH ERE T1._Fld14038RRef = @P1 AND T1._Fld14111RRef = @P2 AND T1._Fld14085RRef = @P3 AND (T1._NodeTRef = @P4 AND T1._NodeRRef IN (@P5))',N'@P1 varbinary(16),@P2 varbinary(16),@P3 varbinary(16),@P4 varbinary(4),@P5
varbinary(16)',0x8002000E7FF21B7C11DBC0AC38CA3129,0x8407000E7FF21B7C11DFD50E4EA6A521,0x8649005056C0000811DA392D903FC164,0x00001BA7,0x8E520007E90D61F011DC25302A1F78C0


Но понять, откуда для "T1._NodeTRef = @P4" он берёт "0x00001BA7" я пока не могу. Документации, где почитать более подробно тоже не нашёл.
+
10. kasper076 103 08.04.15 07:59 Сейчас в теме
(8) it@contlog.ru,
@P4 varbinary(4),
@P5 varbinary(16)
(T1._NodeTRef = @P4
AND
T1._NodeRRef IN (@P5)),
0x00001BA7,
0x8E520007E90D61F011DC25302A1F78C0

Возможно @P4 = 0x00001BA7 это тип, определенный план обмена, а @P5 = 0x8E520007E90D61F011DC25302A1F78C0 это ссылка на узел. Точнее это список ссылок на узлы.
+
11. AlexKo 102 08.04.15 08:03 Сейчас в теме
Это номер (10) kasper076,
Таблица плана обмен имеет вид _Node7079.
_NodeTRef это постфикс 7079 в binary(4)
kasper076; +1
12. kasper076 103 08.04.15 08:06 Сейчас в теме
(11) AlexKo, номер чего? Сообщения? А как же
SET _MessageNo
?
Upd
(11) AlexKo, похоже ты прав. Это просто постфикс.
+
13. kasper076 103 08.04.15 09:06 Сейчас в теме
(11) AlexKo, а как формируется структура отбора у независимого РС? По ведущим измерениям?
Upd
По свойству измерений "ОсновнойОтбор" она формируется. http://infostart.ru/public/236637/
+
9. AlexKo 102 08.04.15 07:51 Сейчас в теме
Разобрался, статью напишу.
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот