• Ласкаво просимо на Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата.
 

Вывод табличных данных в строку

Автор BlackNirvana, Березень 04, 2012, 14:08:14

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

BlackNirvana

Добрый день. Правлю печатную форму. Подскажите как в дизайнере - данные, которые выводятся в таблицу - вывести как перечень через запятую. Например, у меня в таблице просто выводиться перечень работ, вида
1. Прикрутить
2. Поломать
3. Собрать

Хотелось чтобы эти данные выводились в тексте, например: "было сделано: Прикрутить, Поломать, Собрать"

Заранее благодарен.

admin

Пример на шаблоне счет-фактура:

1. Заходим в дизайнер, переключаемся на закладку "Код", там уже есть текст:
void Band1OnBeforePrint(TfrxComponent Sender)
{
  if(<Товар.Комплект> == 2)
    Band1.DataSet.Next();                                                       
}

{
  if(<Товарно-транспортные> > 0)
    Pole2.Visible = true;
  else
    Pole2.Visible = false;
  if(<Скидка.Цифрами> > 0)
    Pole1.Visible = true;
  else
    Pole1.Visible = false;
  if(<Налог.Реклама> > 0)
    Child2.Visible = true;
  else
    Child2.Visible = false;
}

меняем на
void Band1OnBeforePrint(TfrxComponent Sender)
{
  if(<Товар.Комплект> == 2)
    Band1.DataSet.Next();                                                       
}

String strCount;                                                   

{
  if(<Товарно-транспортные> > 0)
    Pole2.Visible = true;
  else
    Pole2.Visible = false;
  if(<Скидка.Цифрами> > 0)
    Pole1.Visible = true;
  else
    Pole1.Visible = false;
  if(<Налог.Реклама> > 0)
    Child2.Visible = true;
  else
    Child2.Visible = false;
  strCount = "";                     
}

2. Переключаемся на закладку Page1, становимся на MasterData: Band1, в левом углу переключаемся на закладку События становимся левее OnAfterPrint и клацаем 2 раза, откроется закладка Код и текущем месте где стоит курсор добавьте строку:
strCount += (<Товар.Назв> + ",");

т.е. у вас вес текст должен быть такой:

void Band1OnBeforePrint(TfrxComponent Sender)
{
  if(<Товар.Комплект> == 2)
    Band1.DataSet.Next();                                                       
}

String strCount;                                                   

void Band1OnAfterPrint(TfrxComponent Sender)
{
  strCount += (<Товар.Назв> + ",");                           
}

{
  if(<Товарно-транспортные> > 0)
    Pole2.Visible = true;
  else
    Pole2.Visible = false;
  if(<Скидка.Цифрами> > 0)
    Pole1.Visible = true;
  else
    Pole1.Visible = false;
  if(<Налог.Реклама> > 0)
    Child2.Visible = true;
  else
    Child2.Visible = false;
  strCount = "";                     
}


3. Далее на закладке Page1 в любом месте на листе бумаги главное ниже MasterData: Band1 вставляете объект текст с переменной [strCount]