Отобразить в карточке данные другого датасета

Здравствуйте!

Тестирую 3.5.1
Хочу отобразить на карточке Контрагент данные Контактов:
Добавляю в карточке Контрагент Невизуальные - DataSetLink - ds_Contact. Переименовываю в dlContacts.
На карточку Контрагент добавляю DataGrid - DafaGridView - Колонки.
В DataGrid для DatasetLink выбираю dlContacts, для ActiveView - DafaGridView. Для колонок выбираю названия полей.

Запускаю клиент - данные в гриде Контакты не отображаются.
Делаю тоже самое для версии 3.3.2 - данные Контактов отображаются.

См. скриншоты.

Что не хватает в версии 3.5.1?

Нравится

6 комментариев

Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу

Здравствуйте!

Сложно предварительно сказать в чем проблема. Можете отследить запросы с помощью профайлера: который идут соответственно на 3.3.2 и на 3.5. Тогда думаю станет понятно чего не хватает для отрисовки грида. В плане добавления колонок глобально ничего не менялось в 3.5

Профайлер показывает в 3.3.2: Есть Select tbl_Contact
В 3.5.1 этого селекта нет.
Дебаггер проходит идеинтичные пути в 3.3.2 и 3.5.1.
Какие настройки в конфигураторе нужно ещё проверить?

Такое ощущение, что в реализации на 3.5.1 датасет контактов не открывается. Попробуйте открывать принудительно.

"Бондарь Наталия" написал:

Такое ощущение, что в реализации на 3.5.1 датасет контактов не открывается. Попробуйте открывать принудительно.


В каком сервисе на каком событии?
Просто на onShow карточки Аккаунт будет неправильно: Выводит все Контакты, а не связанные с Контрагентом...

function wnd_BaseDBEditOnShow(Window) {
	var DataSet = dlContact.Dataset;
	DataSet.Open();
}

Наверное есть какие-то системные настройки, какие делают это автоматически (Выводят данные детали). Или всегда где-то для этого нужно прописывать Код?

Разумеется нужно добавить фильтр на датасет контактов по контрагенту, а затем открыть его, вручную. Делается это на DatasetAfterOpen основного датасета. И тоже самое делать на AfterPostitionChange

Показать все комментарии