Как однозначто идентифицировать строку табличной части? #96365


#0 by GeGeSig
Я выгружаю данные из 1С через COM соединение. выполняю запрос типа "Выбрать имена полей, ИмяТабличнойЧАсти(Имена полей) ИЗ Справочник.Контрагенты" И мне нужно как то получить что то вроде первичного ключа для каждой записи в табличной части, ну и для не табличной тоже. ДЛя объектов можно использовать ССылка.УНикальныйИдентификатор А как быть с табличной частью???
#1 by Волшебник
С точки зрения базы данных, первичным ключом для записи табличной части является комбинация полей (Ссылка + Номер строки). В каждый момент времени это верно. Но с точки зрения предметной области, первичным ключом может стать другая комбинация, например, ссылка + артикул, или ссылка + сотрудник. Поэтому решать тебе, что принять за уникальный идентификатор, т.е. по каким полям искать соответствие. На уровне системы 1С:Предприятия нет уникального идентификатора строки табличной части, как для ссылок. Но если опуститься на уровень SQL-сервера, то там кое-что можно найти, например, row_id - уникальный идентификатор строки, за который отвечает SQL-сервер. Можно вообще не искать соответствие по строкам, а принять за единой целое сам объект со всеми его табличными частями. Тогда надо будет выгружать/загружать все табличные части целиком. Именно такой подход принят в штатном механизме обмена платформы 8.0.
#2 by 427
много слов и ничего по делу...
#3 by Волшебник
+ см. также:
#4 by 427
сразу бы так...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С