Очистка фильтров

function edtOpportunityOnPrepareSelectWindow(LookupDataControl) {
        var TaskDataset = dlData.Dataset;
        var AccountID = GetFieldValueFromDisabledField(TaskDataset, 'AccountID');
        var OpportunityDataset = LookupDataControl.DataField.LookupDataset;
        Сюда функцию "Очистить фильтр"
        if (!IsEmptyValue(AccountID)) {
                ApplyDatasetFilter(OpportunityDataset, 'CustomerID', AccountID, true);
        }
}

В окне просмотра задачи есть выбор контрагента, если он не пустой, то применяется фильтр. Но когда его убираешь, то фильтр почему-то не отменяется. Можно ли сделать так, чтобы перед использованием функции фильтр сам чистился?

Нравится

8 комментариев
function edtOpportunityOnPrepareSelectWindow(LookupDataControl) {
        var AccountID = dlData.Dataset('AccountID');
        var OpportunityDataset = LookupDataControl.DataField.LookupDataset;
        ApplyDatasetFilter(OpportunityDataset, 'CustomerID', AccountID,
           !IsEmptyValue(AccountID));
}

Попробуйте так

К сожалению не помогло

Странно..Подключены скрипты scr_DB и scr_Utils?

function edtOpportunityOnPrepareSelectWindow(LookupDataControl) {
        var AccountID = dlData.Dataset('AccountID');
        var LookupDataset = LookupDataControl.DataField.LookupDataset;
        ApplyDatasetFilter(LookupDataset, 'CustomerID', AccountID,
           !IsEmptyGUID(AccountID));
}

Продажи продолжают фильтроваться по Контрагенту?

Да. Контрагент выставил - фильтр заработал. Контрагент убрал, фильтр не отменился почему-то.

Спасибо, заработало.

function edtOpportunityOnPrepareSelectWindow(LookupDataControl) {
        var AccountID = dlData.Dataset('AccountID');
        var LookupDataset = LookupDataControl.DataField.LookupDataset;
        ApplyDatasetFilter(LookupDataset, 'CustomerID', AccountID,
           !IsEmptyGUID(AccountID));
}

Доброго времени суток!

воспользовался функцией OnPrepareSelectWindow, данные во втором LookupDataControl изменились в зависимости от значения первого LookupDataControl. Но эта функция срабатывает один раз, при открытии окна редактирования: выбрав пункт 1, во втором LookupDataControl получаю 1а, 1б, 1в, но стоит изменить пункт 1, значения во втором LookupDataControl остаются старыми 1а, 1б, 1в.

Подскажите пожалуйста, как это можно обойти?

Надо на событие OnDatasetDataChange для поля 1 повесить edt2.UnprepareDropDownList().

Все заработало. Спасибо!

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