Страница 1 из 1

Фильтр в КСУ для всех

Добавлено: 27 дек 2012, 10:16
solkalin
Подскажите пожалуйста как программно установить для всех пользователей фильтр по архивным МЦ в КСУ - "только рабочие".
Через настройки фильтр накладывается только на каталог МЦ.

Re: Фильтр в КСУ для всех

Добавлено: 27 дек 2012, 11:06
RAJAH
По полю KATMCMY.ISARCH = 0 нельзя?

Re: Фильтр в КСУ для всех

Добавлено: 27 дек 2012, 11:14
solkalin
Можно, только куда это писать? Реализация будет через alterinterface? Можно пример?

Re: Фильтр в КСУ для всех

Добавлено: 27 дек 2012, 11:43
RAJAH
Думаю, так прокатит:

Код: Выделить всё

#component "L_SKLAD"
alter interface "KARTSTORAGE"
overload
end;
create view as
select *
where katmcmy.isarch = 0;
end.

Re: Фильтр в КСУ для всех

Добавлено: 28 дек 2012, 08:42
solkalin
все получилось, при открытии отбирает только рабочие МЦ, но при смене фильтра по архивным - Галка подвисает и вылетает. Думаю это логично. А нельзя как-то повоздействовать на само окно фильтра, чтобы стояло по умолчанию "только рабочие", будто это себе пользователь так настроил?

Re: Фильтр в КСУ для всех

Добавлено: 28 дек 2012, 09:13
RAJAH
Специально попробовал: работает. Посмотрите в "Запуске внешнего интерфейса": какой ресурсник указан в скобках у "L_SKLAD::KARTSTORAGE"? Если не L_SKLAD.res, то, возможно, интерфейс был отконфигурирован ранее. Надо поставить опыт, отключив ресурс, указанный в скобках.

Re: Фильтр в КСУ для всех

Добавлено: 28 дек 2012, 09:27
KATZ
Можно еще так попробовать:

Код: Выделить всё

#component "L_SKLAD"

alter interface KartStorage;
HandleEvent
cmInit:
{
  SaveMyDsk(Word(0), 'KartStor_wArchMC');
  Inherited::HandleEvent(cmInit);
}
end;
end.

Re: Фильтр в КСУ для всех

Добавлено: 28 дек 2012, 09:41
solkalin
Вы меня опередили, пока я редактировала предыдущий ответ (мой косяк - при компиляции в vip.prj ошиблась в имени папки) :oops:

Re: Фильтр в КСУ для всех

Добавлено: 28 дек 2012, 09:48
solkalin
KATZ, RAJAH, спасибо большое за помощь!

KATZ, ваш совет - то, что нужно!!!
Скажите, а где вы посмотрели название окна фильтра по архивным МЦ? В этом окне конфигуратор запускаться не хотел. А в Консоли управления у меня нет объектов, только системы и компоненты.

Оба варианта сохраняю в копилку знаний!

Re: Фильтр в КСУ для всех

Добавлено: 28 дек 2012, 10:05
KATZ
'KartStor_wArchMC' - это не название окна, это имя переменной в DSK-файле, в которую оригинальный интерфейс сохраняет выбранный пользователем способ фильтрации (и читает потом оттуда же, естественно). Перед тем, как значение будет прочитано и применено, мы его меняем на такое, какое нам нужно.

Имя нашел в исходниках, которыми пару лет назад случайно разжился.

Re: Фильтр в КСУ для всех

Добавлено: 28 дек 2012, 10:17
solkalin
Спасибо.
А то я тут уже лопачу инет в поисках читалки dsc-файлов.