Список договоров с предустановленным фильтром

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Buddy
Постоянный обитатель
Сообщения: 122
Зарегистрирован: 02 июн 2016, 15:18
Откуда: Галактика СПб

Список договоров с предустановленным фильтром

Сообщение Buddy »

Коллеги, мне нужно вывести список договоров с предустановленным фильтром по виду договора.
Использую интерфейс GetSomeDogovor, в параметрах передаю нужный мне вид.
Возникают две проблемы:
1. А если мне нужно отобразить договора нескольких видов?
2. При открытии интерфейса в окне фильтров получаю такую картину:
Изображение
т.е. если вид документа я передал параметром, то в окне фильтров я его изменить уже не могу. А хотелось бы иметь такую возможность.
zna
Местный житель
Сообщения: 552
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Челябинск
Контактная информация:

Re: Список договоров с предустановленным фильтром

Сообщение zna »

Если в параметрах GetSomeDogovor нет множественного выбора видов договоров, то нужную фильтрацию можно попытаться сделать самому путём докомпиляции этого интерфейса. Наложить bounds, если есть индекс, либо conditionforleave в противном случае при инициализации этого интерфейса. У меня так сделано в двух интерфейсах, попытался бы и здесь также попробовать. Имхо, может, быть и более другой путь..
Да, вот ещё вариант: написать диалог, в котором предусмотреть нужные виды договоров, и из него дёргать GetSomeDogovor с нужным видом.
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Список договоров с предустановленным фильтром

Сообщение Den »

VipInterface GetSomeDogovor релизует IGetSDogParameters.
Можно попробовать воспользоваться запуском через этот объектный тип , вызвав метод Run.

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

#include DogFuns.vih

Interface TestPickDog;
 var oGetSDog: GetSomeDogovor;

 create view
 ;

 HandleEvent
   CmInit:{
           oGetSDog.SetGtSDogParameter('GetSDog_VidDogChangeEnabled', 1); // устанавливаем предварительно, что можно менять вид договора (по умолчанию нельзя, видимо, если задан первый параметр Run)
           var cDog : comp ;
           if oGetSDog.Run(word(7),//вид договора
                          word(2), // исполняемые договора
                          word(2), // на закупку
                          word(1), // выбор соглашений и договоров
                          true,   // одиночный выбор
                          cDog,    //
                          false,   // иерархическое представление
                          comp(0))
           {
           }
          }
 end;
end.

Buddy
Постоянный обитатель
Сообщения: 122
Зарегистрирован: 02 июн 2016, 15:18
Откуда: Галактика СПб

Re: Список договоров с предустановленным фильтром

Сообщение Buddy »

Ок, с этим я разобрался, спасибо, Den.
Но возникла другая проблема - при открытии интерфейса ему параметром передается вид договора (KATVIDD.VIDDOG), а это поле не уникальное, т.е. у дочерних записей это поле равно родительскому.
А мне как раз нужно фильтровать договора по одному из дочерних видов.
Что подскажете?
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Список договоров с предустановленным фильтром

Сообщение Den »

установить сразу фильтр по нескольким KATVIDD.VIDDOG ?
Быстрее всего, дорабатывать стандартный функционал нужно на эту тему, ну или Alter делать пытаться GetSomeDogovor, чтобы при загрузке достичь этого
Ответить