Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Повторение строк в FastReport / 13 сообщений из 13, страница 1 из 1
08.12.2018, 12:50
    #39744687
svnvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторение строк в FastReport
Есть список медикаментов, которые есть в наличии. Нужно сделать вывод карточек для этих лекарств (этикеток), в количестве, соответствующем количеству в наличии каждого лекарства. Как в бэнде сделать, чтобы определенная строка повторялась заданное количество раз?
...
Рейтинг: 0 / 0
08.12.2018, 13:00
    #39744691
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторение строк в FastReport
OnManualBuild
...
Рейтинг: 0 / 0
09.12.2018, 14:12
    #39744924
gpi
gpi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторение строк в FastReport
...
Рейтинг: 0 / 0
11.12.2018, 15:43
    #39746116
svnvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторение строк в FastReport
gpi https://www.fastreport.ru/ru/faq/13/135
Подскажите, каким образом в код отчета передать DetailData.RowCount:= ?
[DS1."pack_count"]
...
Рейтинг: 0 / 0
11.12.2018, 15:46
    #39746122
svnvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторение строк в FastReport
gpi,

и нужно ли DetailData подключать к DataSet-у?
...
Рейтинг: 0 / 0
11.12.2018, 16:25
    #39746162
svnvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторение строк в FastReport
gpi,

написал вот так:
Код: pascal
1.
2.
3.
4.
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  DetailData1.RowCount := <DS1."pack_count">                                                                                                   
end;


Выдает ошибку.
...
Рейтинг: 0 / 0
11.12.2018, 17:48
    #39746218
gpi
gpi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторение строк в FastReport
svnvladgpi,

написал вот так:
Код: pascal
1.
2.
3.
4.
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  DetailData1.RowCount := <DS1."pack_count">                                                                                                   
end;


Выдает ошибку.
Какой тип поля у pack_count? Если числовой - присылайте тестовый проект на support@fast-report.com . Вероятно, ошибка не в этой части скрипта отчёта
...
Рейтинг: 0 / 0
11.12.2018, 17:53
    #39746223
gpi
gpi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторение строк в FastReport
Пример для FRDemo в аттаче
...
Рейтинг: 0 / 0
11.12.2018, 17:56
    #39746225
svnvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторение строк в FastReport
gpisvnvladgpi,

написал вот так:
Код: pascal
1.
2.
3.
4.
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  DetailData1.RowCount := <DS1."pack_count">                                                                                                   
end;


Выдает ошибку.
Какой тип поля у pack_count? Если числовой - присылайте тестовый проект на support@fast-report.com . Вероятно, ошибка не в этой части скрипта отчёта
Разобрался. DS1."pack_count" включал себя число и единицу измерения "5 упаковок". Оставил только цифру - заработало.
Но еще вопрос такой назрел: хочу сделать, чтобы можно было выбирать из 3 вариантов количество выводимых карточек:
1 - одну, 2 - по наличию, 3 - заданное пользователем количество.
Например, он выбирает, напечатать 5 карточек. Имеем переменную print_count = 5, а как эту переменную передать во вкладку Code отчета? И условие, что-то типа:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  if print_count = 0 then
    DetailData1.RowCount := <DS1."pack_count">
  else 
    DetailData1.RowCount := print_count;
end;
...
Рейтинг: 0 / 0
11.12.2018, 17:57
    #39746227
svnvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторение строк в FastReport
Увидит ли отчет переменную Delphi?
...
Рейтинг: 0 / 0
11.12.2018, 18:22
    #39746235
svnvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторение строк в FastReport
Ура, все получилось!
Сделал с помощью OnGetValue:
Код: pascal
1.
2.
3.
4.
5.
6.
procedure TfmStellazhCard2.frxReport1GetValue(const VarName: string;
  var Value: Variant);
begin
  if VarName = 'print_count' then
    Value := print_count;
end;


И в коде отчета:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  if <print_count> = 0 then                                                                          
    DetailData1.RowCount := <DS1."pack_count">
  else
    DetailData1.RowCount := <print_count>;                                   
end;
...
Рейтинг: 0 / 0
11.12.2018, 18:22
    #39746237
gpi
gpi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторение строк в FastReport
svnvladУвидит ли отчет переменную Delphi?
Код: pascal
1.
frxReport1.Script.Variables['ScriptVarName'] := DelphiNimericVar;


или
Код: pascal
1.
frxReport1.Variables.Variables['VarName'] := DelphiNimericVar;


В скрипте
Код: pascal
1.
DetailData1.RowCount := ScriptVarName


или
Код: pascal
1.
DetailData1.RowCount := <VarName>
...
Рейтинг: 0 / 0
11.12.2018, 20:24
    #39746264
svnvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторение строк в FastReport
gpi,

спасибо!
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Повторение строк в FastReport / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]