Добрый день!
В коде отчета следующий текст:
begin
if DBOpportunity> then
MasterData3.Visible :=True else
MasterData3.Visible := False;
if DBOpportunity> then
DBCrossOpportunity.Visible :=True else
DBCrossOpportunity.Visible := False;
end;
procedure DBCrossOpportunityOnBeforePrint(Sender: TfrxComponent);
begin
if DBOpportunity> then
DBCrossOpportunity.Visible :=True else
DBCrossOpportunity.Visible := False;
if DBOpportunity> then
DBCrossOpportunity.Printable :=True else
DBCrossOpportunity.Printable := False;
end;
procedure MasterData3OnBeforePrint(Sender: TfrxComponent);
begin
if DBTask> then
MasterData3.Visible :=True else
MasterData3.Visible := False;
end;
procedure DBCrossTaskOnBeforePrint(Sender: TfrxComponent);
begin
if DBTask> then
DBCrossTask.Visible :=true else
DBCrossTask.Visible := false;
end;
begin
end.
(мастердата расположены соответственно - сначала 1, потом 3). Если нужно напечатать только вторую таблицу, то первая становится невидимой, но печатается - то есть под неё отводятся пустые листы. Как этого избежать?
Почему-то свойство DBCrossOpportunity.Printable := False; не помогает это исправить.
Нравится
Здравствуйте Елена!
Можете выложить сервис отчета пожалуйста.
Елена, попробуйте в коде кроме установки Visible := false; менять DBCross2.Height и DBCross2.Width для изменения высоты и широты самого контрола.
теперь функции выглядят так
procedure MasterData1OnBeforePrint(Sender: TfrxComponent); begin if <DBOpportunity> then MasterData3.Visible :=True else MasterData3.Visible := False; if <DBOpportunity> then DBCrossOpportunity.Visible :=True else begin DBCrossOpportunity.Visible := False; DBCrossOpportunity.Height := 0; DBCrossOpportunity.Width := 0; end; end; procedure DBCrossOpportunityOnBeforePrint(Sender: TfrxComponent); begin if <DBOpportunity> then DBCrossOpportunity.Visible :=True else begin DBCrossOpportunity.Visible := False; DBCrossOpportunity.Height := 0; DBCrossOpportunity.Width := 0; end; end;
но это всё равно не помогло. Причем другой бэнд выводится как надо, то есть не оставляет для себя пустые страницы. Все настройки, кроме размеров, вроде одинаковые.
Здравствуйте, Елена!
Пожалуйста, выложите все сервисы (вместе с датасетами) используемого отчета. Необходимо протестировать функционал.
Елена, предлагаю удаленно подключиться к Вашему рабочему месту и решить сложившеюся проблему.
Уточните, пожалуйста, удобное для Вас время и дату.
К сожалению, по правилам безопасности, это невозможно.
служба поддержки мне предложила вариант фильтровать датасеты по несуществующему ID, чтобы он был пустой и убрать признак "print id detail empty". Это так же не убирает пустые страницы.
Извините, в предыдущем архиве не совсем правильный сервис скрипта (в нём остались ссылки на ненужные и удаленные из архива датасеты)
Елена, к сожалению Ваш отчет загрузить не удалось, в сервисе sq_FactPlan1 отвалась главная таблица From, а также джойны.
Тестировал на другом отчете. Собственно, попробуйте следующий вариант:
установите свойство StretchMode = DontStretch для всех элементов контрола DBCrossOpportunity, и далее в коде пропишите каждому элементу свойвто Height := 0;
DBCrossOpportunityCorner0.Height := 0; DBCrossOpportunityCorner1.Height := 0; // и т.д.