Перейти к содержимому


Работа с итоговыми полями

Итоговые поля

Сообщений в теме: 7

#1 AGroza

    Активный участник

  • Пользователи
  • PipPipPip
  • 31 сообщений

Отправлено 15 Май 2017 - 13:29

Всем доброго дня. Вопрос следующий: как я могу создать собственные итоговые поля по мимо тех, что предлагает программа(Сумма, среднее значение), а также именовать их по своему. Пример желаемого результата в прикрепленном скриншоте.Прикрепленное изображение: Screenshot_2.png
В дополнении к теме, хотелось бы уточнить. как правильно обращаться к итоговым полям. Имеется в виду, как получить значение уже существующих итоговых полей. Или как понять по какому принципу формируются их названия. Заранее благодарен.

Сообщение отредактировал AGroza: 15 Май 2017 - 17:32


#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Май 2017 - 17:11

Не совсем понял, что именно вы подразумеваете под "итоговыми полями". Разместите скриншот с конкретным примером такого поля.

#3 AGroza

    Активный участник

  • Пользователи
  • PipPipPip
  • 31 сообщений

Отправлено 15 Май 2017 - 17:37

Просмотр сообщенияCbCoder (15 Май 2017 - 17:11) писал:

Не совсем понял, что именно вы подразумеваете под "итоговыми полями". Разместите скриншот с конкретным примером такого поля.
Вероятно, я неправильно выразился. На скриншоте выделил зеленым нужные участки.

Прикрепленные изображения

  • Прикрепленное изображение: Пример.png


#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 16 Май 2017 - 10:42

Тогда не совсем понял про "именовать их по своему". Где там у них имена то? Это же не отдельные поля, это опция числовых полей "считать итоговую сумму" или "считать среднее значение по полю". Если вы про то как самому добавить туда аналогичные функции, то этого сделать нельзя, т.к. это системные опции. Если вам что-то нужно, можете здесь описать, возможно включим в план. Обращаться к ним также никак отдельно нельзя, т.к. уже сказал - это не отдельные поля. Любые обращения к итогам идут только через запросы к БД.

#5 AGroza

    Активный участник

  • Пользователи
  • PipPipPip
  • 31 сообщений

Отправлено 16 Май 2017 - 11:19

Спасибо за ответ.

Просмотр сообщенияCbCoder (16 Май 2017 - 10:42) писал:

Если вам что-то нужно, можете здесь описать, возможно включим в план.
Хочется иметь возможность сделать то же что и на данном скриншоте Прикрепленное изображение: Screenshot_2.png. Пока будем справляться своими силами.

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 16 Май 2017 - 14:42

То что на скриншоте можно на настоящий момент реализовать только в шаблоне печати, т.к. там свободная форма. В таблице же, как на предыдущем скрине, такое вряд ли вообще будет возможно в обозримой перспективе, т.к. ее внешний вид формируется системно на основе общего для всех таблиц шаблона.

#7 AGroza

    Активный участник

  • Пользователи
  • PipPipPip
  • 31 сообщений

Отправлено 16 Май 2017 - 14:49

Спасибо за ответ.

#8 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 435 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 21 Май 2017 - 12:45

Да не проблема. Сделайте формирование таблицы в HTML, поставьте при переборе счетчики и введите любые формулы, результат выведите в ячейку и документ конвертните в pdf или выведите на печать.

$h='<table>';
$objects = data_table("Позиции счета", "`status`=0  AND `Счет`=".$schID." ORDER BY `id`", "all"); 
$sum1=0; $sum2=0; $sum3=0; $kol=0;
foreach ($objects as $line) {
   $h=$h.'<tr><td>'.$line['Колонка 1'].'</td><td>'.$line['Колонка 2'].'</td><td>'.$line['Колонка 2'].'</td></tr>';
   $sum1=$sum1+$line['Колонка 1'];
   $sum2=$sum2+$line['Колонка 2'];
   $sum3=$sum3+$line['Колонка 3'];
$kol++;
}
if ($kol!=0) {
   $sr1=$sum1/$kol; $sr2=$sum2/$kol; $sr3=$sum3/$kol;
   $h=$h.'<tr><td>'.$sum1.'</td><td>'.$sum2.'</td><td>'.sum3.'</td></tr>';
   $h=$h.'<tr><td>'.$sr1.'</td><td>'.$sr2.'</td><td>'.sr3.'</td></tr>';
}
$h=$h.'</table>';

require_once "include/mpdf/mpdf.php";

//Кодировка | Формат | Размер шрифта | Шрифт
//Отступы: слева | справа | сверху | снизу | шапка | подвал
$mpdf = new mPDF('utf-8', 'A4', '10', 'Arial', 0, 0, 5, 5, 5, 5);
$mpdf->charset_in = 'utf-8';
$stylesheet = 'table {
      text-align: center;
      width: 100%;
      color: black;
      margin: 0;
      float: left;
      font-size:12pt;
  }
  td {
      margin:0 px; text-align:left;
  }
  div {margin:0px; padding:0px;}
  .tk {border:1px solid black; padding:3pt;}
';
$mpdf->WriteHTML($stylesheet, 1);
$mpdf->list_indent_first_level = 0;
$mpdf->WriteHTML($html2, 2);
$n_f="Счет № ".$schID.".pdf";


Далее для вывода на экран

$mpdf->Output($n_f, 'I'); 

Для вывода в файл

$mpdf->Output($n_f, 'S'); 

Сообщение отредактировал Александр Пономарев: 21 Май 2017 - 12:58






Количество пользователей, читающих эту тему: 6

0 пользователей, 6 гостей, 0 анонимных