Готовлюсь к переносу пакета через SVN и смущает один момент.
У меня созданы новые детали. Пусть сами схемы он перенесет, а вот записи таблиц SysDetail (по 1 на деталь), SysSchema, возможно какие-то другие - что с ними будет?
Ведь без этих записей система нормально работать не будет?!
Нравится
Здравствуйте, Алексей!
Для переноса содержимого некоторых таблиц используется механизм привязки данных к пакету - https://academy.terrasoft.ru/documents/technic-sdkmp/7-11/privyazka-dan…
Для упрощения привязки можно воспользоваться бесплатным дополнением с Marketplace - https://marketplace.terrasoft.ru/app/data-binding-tool
Привет!
А детали создавались мастером? Если да, то почти все привязки автоматом создаются в пакете Custom. Все, что надо сделать - "повторить" эти привязки в своем пакете.
Например, может быть создана привязка следующего вида "SysDetail_DetailManager_d95ebba0c04a454fad3bbb45962eef2d" по объекту SysDetail.
В этом случае надо действовать примерно по следующему плану:
1. открыть привязку и внимательно на нее взглянуть (можно для надежности сделать скриншот)
2. удалить привязку из пакета Custom (иначе не даст система привязать те же самые данные к другому пакету)
3. выбрать свой пакет и создать привязку по нужному объекту (в данном примере SysDetail, который в выпадашке объектов называется Details lookup)
4. обязательно выбрать тип установки как Installation
5. обязательно отфильтровать по Id. Этот идентификатор есть в названии привязки, но его надо привести к правильному виду GUID. Например, d95ebba0c04a454fad3bbb45962eef2d должен превратиться в d95ebba0-c04a-454f-ad3b-bb45962eef2d
6. нажать кнопку отображения данных и убедиться, что отфильтровывается именно то, что должно быть привязано к пакету
7. сохранить и вкоммитить
P.S. Я не знаю, как работает утилита выше, которую посоветовал Павел, но подозреваю, что уже созданные привязки в других пакетах эта утилита не удаляет и их надо будет зачищать вручную.
Кстати, надо еще не забыть привязать настройку колонок детали... в описании утилиты сказано, что она позволяет привязывать к пакету настройку колонок по секциям, и ничего не сказано про детали. Если настройка колонок не задана в явном виде в секции diff cхемы детали и настройка колонок делалась через интерфейс, то надо будет привязывать еще и профиль отображения. Это объект SysProfileData (в выпадашке User profile) с фильтрацией по содержимому поля Key. Это поле должно содержать название детали или секции и, возможно еще содержать текст "GridSettings". Также, если не задан контакт у записи, то это отображение для всех - т.е. дефолтное отображение, если пользователь себе ничего не настраивал.
Максим Цынгаев,
не понял про SysProfileData. Как сделать эту привязку?
Алексей-Карягин,
Давай на примере покажу.
Есть собственная секция OpportunityPaymentsSection. Я настроил отображение колонок и сохранил, причем сохранял как для Supervisor, так и для All. Чтобы привязать это отображение к пакету, я создал привязку на вкладке Data по объекту User profile (SysProfileData - это так называется объект в БД и есть соответствующая таблица) и отфильтровал по двум критериям:
1. Key содержит название схемы секции
2. Contact не заполнен (т.е. в базе NULL)
Вот так это выглядит в интерфейсе: