задача такая:
Деталь должна быть активна в зависимости от выбранной в главном реестре записи: если ContactTypeID главного реестра == {id кассира} то деталь доступна для действий, иначе деталь неактивна

примерный код я предполагаю такой, но не знаю в какое событие его поместить, пробовал несколько событий формы детали, они не подходят.
Может быть вы подскажите как правильно реализовать эту задачу, так же почему то не берется ParentItemID.

wnd_SubContactPeriodsGridAreaScript
...
        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;

Нравится

1 комментарий

Уже сам разобрался :), подсмотрел в scr_AccountsWorkspace ф-ю SetDetailsVisibility()

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;
 
}
Показать все комментарии