Обновить в Perco ключевое поле для синхронизации с 1С

1. hoyo 29.01.20 13:05 Сейчас в теме
Доброго всем дня.
Есть СКУД Perco. Она синхронизирована с 1С. Но у некоторых подразделений в Perco не указано ключевое id_from_1c. То есть, если запросить через SDK данные, ответ будет примерно таким:
<subdivnode displayname="Ремонтно-строительный участок" id_ref="73152" id_parent="75869" n_left="87" n_right="88" description="" level="1" id_from_1c="" visible="0"/>
. При этом именно данное поле и используется при передаче данных из 1С в Perco через SDK. Выглядит это примерно так, в Perco через SDK передаётся XML вида:
<documentrequest type="subdiv"><login loginname="Администратор"/><workmode mode="append"><subdiv id="697d3dcd-2635-11ea-80d7-00155d019403" parentid="d73b45e9-14ed-11e2-9697-003067c84c58" displayname="Участок металлоконструкций" description="Добавлено из 1С 28.01.2020 19:27:32"/></workmode></documentrequest>


То есть в качестве ID передаётся именно что GUID из 1С. Который у некоторых подразделений не заполнен. И как его заменить на правильный, я не понимаю. Может кто сталкивался? Может как-то можно по-другому сформировать XML, чтобы Perco искала подразделение по полю id, а не по полю id_from_1c?
В Консоли управления Perco во-первых нет поля id_from_1c на форме с данными подразделения, во вторых из-за того, что они синхронизированы с 1С, редактировать не даёт вообще. Может как-то можно настроить консоль, чтобы была возможность редактирования и вытащить это поле на форму?
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Torin 744 29.01.20 15:07 Сейчас в теме
(1)
Который у некоторых подразделений не заполнен

каждый объект метаданных имеет уникальный идентификатор!!! И чтобы его небыло!!! это нонсенс!!!
4. hoyo 29.01.20 16:24 Сейчас в теме
(2) С точки зрения СУБД в этой таблице есть уникальный код, поле называется id. Только вот SDK перко ищет строку не по этому полю, а по полю id_from_1c, которое не заполнено.
6. Torin 744 29.01.20 16:30 Сейчас в теме
(4)и какая религия запрещает его заполнить ?
SDK это всего лишь набор средств разработки! Вот и пользуйте этот набор
3. uno-c 235 29.01.20 15:19 Сейчас в теме +0.1 $m
https://infostart.ru/public/307641/ Вот здесь пишут, что Перко работает на СУБД Firebird. Т.е. Вам надо подключиться к базе данных Перко, найти таблицу, в которой прописываются ГУИДы подразделений 1С - и там заполнить пустые id_from_1c
5. hoyo 29.01.20 16:26 Сейчас в теме +0.4 $m
(3) Не хотелось бы лезть напрямую в базу, можно что-нибудь запороть. Хотелось бы через SDK сделать. Если не получится, тогда придётся лезть.
Оставьте свое сообщение

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