Добрый день.
Есть кнопка объкет 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);
}
Нравится
Алексей, вся логика фильтрации задана в сервисе 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 значение и все заработало. Спасибо