Блокировка детали в зависимости от выбранной записи главного реестра
задача такая:
Деталь должна быть активна в зависимости от выбранной в главном реестре записи: если ContactTypeID главного реестра == {id кассира} то деталь доступна для действий, иначе деталь неактивна
примерный код я предполагаю такой, но не знаю в какое событие его поместить, пробовал несколько событий формы детали, они не подходят.
Может быть вы подскажите как правильно реализовать эту задачу, так же почему то не берется ParentItemID.
...
debugger;
// доступность только кассирам
var CashierID = '{E4DC59CB-634A-4CCC-9D02-411FB6A64845}';
var ParentItemID = Self.Attributes('ParentItemID');//GetAttribute(Self, 'ParentItemID'); //???
var CurrentContactTypeID =
GetDatasetFieldValueByID('ds_Contact', ParentItemID, 'ContactTypeID');
if (CurrentContactTypeID == CashierID)
frmButtons.isEnabled = true;
else
frmButtons.isEnabled = false;
Нравится
Уже сам разобрался :), подсмотрел в scr_AccountsWorkspace ф-ю SetDetailsVisibility()
[javascript]
function SetDetailsVisibility() {
var Dataset = BaseWorkspace.GridDataset;
var ContactTypeID = GetDatasetFieldValue(Dataset, 'ContactTypeID');
// подчиненные и периоды руководителей
var CashierID = '{E4DC59CB-634A-4CCC-9D02-411FB6A64845}';
var IsSubContactDetailsVisible = (ContactTypeID == CashierID)
pgSubContactDetail.IsVisible = IsSubContactDetailsVisible;
pgSubContactPeriodsDetail.IsVisible = IsSubContactDetailsVisible;
}
[/javascript]