Как правильно отфильтровать контактов

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

Задача была создать новый раздел "Корректирующие и предупреждающие действия".
Во время создания карточки редактирования действия возник вопрос. Мне необходимо создать поле "Менеджер по качеству" типа LookupDataControl . Т.к. у нас один менеджер качества, как сделать так чтобы этот менеджер автоматически определялся в поле, без того чтобы его находить в списке сотрудников, как на примере с карточкой "Задача"с полем "Ответственный". Необходимо создать фильтр.
По примеру sq_Tаsk Фильтр- Where -ContactIDS - Фильтр пользователя для справочника tcOwnerIDs.
Потом еще создается "update query" uq_TaskOwner. Я не до конца понимаю как это приминить на моем примере. Подскажите пожалуйста.

Нравится

2 комментария

Здравствуйте Валентина,

На примере карточки Задачи, поле edtAuthor

1) Установите ваше поле IsEnabled = False (отображается серым)

1
2) В датасете определите событие OnDatasetAfterAppend
2

function ds_NewChaptOnDatasetAfterAppend(Dataset) {
		Dataset.DisableEvents();
	Dataset.Values('AuthorID') = Connector.CurrentUser.ContactID;
	Dataset.EnableEvents();
}

Вместо Connector.CurrentUser.ContactID установите ID с менеджера по качеству таблицы tbl_Contact

Алексей, получилось.

Но немного по другому сделала. Воспользовалась возможностью "системных настроек" (В клиенте (TerrasoftCRM) – Файл-Настройки - Системные настройки) создала системный параметры и этот параметры указала в коде.

function ds_CorrPrevActionOnDatasetAfterAppend(Dataset) {
Dataset.DisableEvents();
Dataset.Values('DepartmentOfHeaderID')=GetSystemParameterValueEx('DepartmentHeader'); // Параметр DepartmentHeader
        Dataset.EnableEvents();
}

Благодарю за помощь!

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