.Group в FRM

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

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

Ответить
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

.Group в FRM

Сообщение Алексей »

Свой интерфейс, прототип и линкформы.
В двух линкформах 2 разные группы .group
Как программно из вип по условию заставить показыватся или одну или другую группу?
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Case BaseDoc.VidDoc of
101 : FPrDoc.SetGroup('Закупка');
201 : FPrDoc.SetGroup('Продажа');
102 : FPrDoc.SetGroup('Прием на консигнацию');
202 : FPrDoc.SetGroup('Отпуск на консигнацию');
111 : FPrDoc.SetGroup('Предоплата закупок');
211 : FPrDoc.SetGroup('Предоплата продаж');
End;
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

Спасибо.
edd
Постоянный обитатель
Сообщения: 170
Зарегистрирован: 29 мар 2005, 17:49

Не помогает .Group в FRM

Сообщение edd »

Оживлю тему.
Галактика 9.1.
В реестрах накладных на отпуск (501) и на возврат (503) добавлен свой пункт меню, по которому через интерфейс формируется поток в прототип FrmSvN171005, который является общим для пары линкформ.
Возникла необходимость разделять видимость линкформ в этих реестрах.

В двух линкформах указал 2 разные группы .group

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

.LinkForm ’ RTF_TTN_ AKTREC_SVOD1 ’ prototype is ’FrmSvN171005’
.group ‘НОС’
.NameInList ’Типовая межотраслевая форма № 1-T по нескольким накладным'

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

.LinkForm ’ RTF_TTN_ AKTREC_SVOD1_inside ’ prototype is ’FrmSvN171005’
.Group ‘НВС’ 
.NameInList ’Сводная товарная форма по нескольким возвратным накладным (для внутреннего пользования)’
В потоке попытался задать группу в зависимости от параметра. Потом попытался задать подгруппу...

Приведу код формирования потока

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

Interface PrnSvodNakl;
...
 create view ....

HandleEvent
 CmInit:
  {
    frmHandle   := FrmSvN171005.Handle;
    ...
    Form_Write(rekv_selnakl7,'',frmHandle); 
    ...
    FrmSvN171005.Write(katotped.name);
    ...

case wTipDoc of 
  501: { FrmSvN171005.SetGroup('НОС'); } //Form_SetGroup('НОС', frmHandle); FrmSvN171005.SetSubgroup('НОС','NOS',1)
  503: { FrmSvN171005.SetGroup('НВС'); } //Form_SetGroup('НВС', frmHandle); FrmSvN171005.SetSubgroup('НВС','NVS',1)
end;//case 

     Form_ShowFile('qqq', false, frmHandle);
     StartNewVisual(vtRotateVisual, vfTimer, 'Пожалуйста, подождите', 4)
     StopVisual
}
 end;

end.
Открывается одинаковый список, в обоих реестрах. По настройке фильтров (видимости отчетов) видно, что я могу фильтровать отчеты по группам.
Но так не удобно, раньше было лучше. И деревья выше. Правда раньше я не делал свой прототип, а указывал группы в линкоформах по подобию видимых стандартных форм в списке отчетов.
Или управлять видимостью по группам теперь уже нельзя?
Последний раз редактировалось edd 06 дек 2019, 09:20, всего редактировалось 1 раз.
edd
Постоянный обитатель
Сообщения: 170
Зарегистрирован: 29 мар 2005, 17:49

Re: .Group в FRM

Сообщение edd »

Сам напишу ответ.
Видимость обрабатывается по группам отчетов.

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

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

Interface PrnSvodNakl;
...
create view ....

HandleEvent
CmInit:
  {
    frmHandle   := FrmSvN171005.Handle;
    case wTipDoc of
       501: { FrmSvN171005.SetGroup('НОС'); } 
       503: { FrmSvN171005.SetGroup('НВС'); } 
    end;//case
    ...
    Form_Write(rekv_selnakl7,'',frmHandle);
    ...
    FrmSvN171005.Write(katotped.name);
    ...
    Form_ShowFile('qqq', false, frmHandle);
     StartNewVisual(vtRotateVisual, vfTimer, 'Пожалуйста, подождите', 4)
     StopVisual
}
end;

end.
Ответить