Вопрос

Помогите решить проблему с ListID

Добрый день.

Есть кнопка объкет ILookupControl при нажатии на который исполняется следующая функция. Функция открывает окно но выборка в ней проходит не по указанному ListID. На выходе мы получаем хаос.

function edtEmailTypeID1OnPrepareSelectWindow(LookupControl, SelectWindow) {
    SetAttribute(SelectWindow, 'IsReadOnly', true);
    SetAttribute(SelectWindow, 'CanExport', false);
    SetAttribute(SelectWindow, 'CanPrint', false);
    SetAttribute(SelectWindow, 'IsMultiLineData', true);
    var Dataset = LookupControl.LookupDatasetLink.Dataset;
    EnableDatasetFilters(Dataset, true, 'IsVisibleIsTrue'); 
    var CampaignID = GetAttribute(Self, 'CampaignID');
    ApplyDatasetFilter(Dataset, 'CampaignID', CampaignID, true);
    var ListID = '{CC652229-77A5-4179-9D02-1478B31F1A1D}';
    ApplyDatasetFilter(Dataset, 'ListID', ListID, true);
}

Нравится

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

Алексей, вся логика фильтрации задана в сервисе sq для этого справочника. Проверьте, корректно ли заданы там условия фильтров IsVisibleIsTrue и ListID.

Порождаемый при открытии окна выбора из справочника запрос в базу можно увидеть в профайлере, внешнем или встроенном.

В sq_

SELECT
    [tbl_KsCallInvitroDictEnum].[ID] AS [ID],
    [tbl_KsCallInvitroDictEnum].[Name] AS [Name],
    [tbl_KsCallInvitroDictEnum].[Position] AS [Position]
FROM
    [dbo].[tbl_KsCallInvitroDictEnum] AS [tbl_KsCallInvitroDictEnum]
LEFT OUTER JOIN
    [dbo].[tbl_KsCallInvitroDictList] AS [tbl_KsCallInvitroDictList] ON [tbl_KsCallInvitroDictList].[ID] = [tbl_KsCallInvitroDictEnum].[ListID]
WHERE([tbl_KsCallInvitroDictList].[CampaignID] = :CampaignID AND
    [tbl_KsCallInvitroDictEnum].[ListID] = :ListID)
ORDER BY
    3 ASC,
    2 ASC

А фильтр с названием IsVisibleIsTrue, похоже, так и не включился. Возможно, дело в этом. Не видя всех настроек условий фильтрации в сервисе и без пояснения, что тут означает «хаос», сложно сказать.

Добрый день. Вы были правы. Внес в sq значение и все заработало. Спасибо

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