Что Вы подразумеваете под "с соединенной конфигурацией для текущего пользователя"?
Нужно добавить фильтры "тип задачи", "статус задачи" и "дата создания". Эти фильтры влияют лишь на список задач, которые будут импортироваться в аутлук, на сам процесс экспорта они вроде бы не влияют. Интересует, где именно происходит фильтрация.
Имелась в виду часть, отвечающая за выбор групп в Outlook. Если Вы подразумеваете фильтры по данным в Terrasoft, то это, в принципе, реализуемо. Все что надо - получить необходимый dataset, и наложить на него ApplyDatasetFilter (звучит легче, чем это есть на самом деле). Удачи :smile:
В том-то и беда, что фильтровать нужно mds_MSOutlookTaskTS, а mds как-то по хитрому фильтруется. к тому же, не могу пока отследить, где именно происходить фильтрация по контактам.
Добрый день! Да, в таком случае это будет посложнее, но Вы можете попробовать это сделать следующим образом (приблизительный алгоритм):
Для набора данных установить свойство IsFiltered в true (пример функции из базовой конфигурации):
function SetIsFiltered(Dataset, IsFiltered){if(IsFiltered){
Dataset.IsFiltered=false;
Dataset.IsFiltered=true;}else{
Dataset.IsFiltered=false;}}
У датасета есть свойство OnDatasetFilterRecord, на которое следует обратить внимание:
Пример его использования можно посмотреть в скрипте wnd_MethodListScript
function dlDataOnDatasetFilterRecord(Dataset, DoAccept){
var FunctionName = Dataset.ValAsStr('FunctionName').toUpperCase();
var FilterValue = edtFilterValue.Value.toUpperCase();
DoAccept.Value=(FunctionName.indexOf(FilterValue)!=-1);}
Спасибо за ответы! Удалось разобраться самостоятельно. Если вкратце,то нужно было изменить следующие сервисы и функции:
a) Два фильтра сравнения в sq_Task: TaskTypeID и TaskStatusID
b) Фильтры на окне – обработчик событий OnChange в скрипте scr_MsOutlookSynchronization
c) FilteredItemDataset(IsChecked) в том же скрипте
d) function FilterDatasetByGroup(GroupDataset, MemoryDataset, IsContactSync, IsTaskSync, FilteredDate, OwnerID, TaskTypeID, TaskStatusID) в скрипте scr_MSOutlookSynchronizationUtils
e) function SetItemMemoryDataset(Dataset, MemoryDataset, IsContact, FilteredDate, OwnerID, TaskTypeID, TaskStatusID) в том же скрипте
То есть из обработчиков фильтров на окне через атрибуты объекта передаются значения фильтров в функцию SetItemMemoryDataset, а там уже фильтруется датасет задач и заполняется mds.