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


SumFormat не считает числа больше тысячи


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

#1 SpectralEye

    Участник

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

Отправлено 03 Август 2017 - 12:05

Добрый день. Пытаюсь посчитать сумму из подтаблицы и вывести её в шаблоне печати. Из-за стандартный пробелов в числах больше тысячи (например, 5 320 рублей), неправильно считает.

<tr>
  <td colspan="6">{foreach from="{$Позиции счета}" name="Позиции счета" item=subtable}</td>
</tr>
<tr>
  <td>{$smarty.foreach.Позиции счета.iteration}</td>
  <td>{$Позиции счета.Товары (работы, услуги)}</td>
  <td>{$Позиции счета.Кол-во}</td>
  <td>{$Позиции счета.Ед.}</td>
  <td>{$Позиции счета.Цена}</td>
  <td>
	{$Позиции счета.Сумма}
	[b]{assign var=running_total value={SumFormat value="$running_total+{$Позиции счета.Сумма}" digits=0}}[/b]
	{assign var=all_count value={$smarty.foreach.Позиции счета.iteration}}
  </td>
</tr>
<tr>
<td colspan="6">{/foreach}</td>
</tr>

И получается:
3 позиции счета: 1 800,00 руб, 4 050,00 руб, 5 000,00 руб, а считает он только 1, 4, 5, всё, что до пробела. Как это исправить?

#2 Tony999

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

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

Отправлено 03 Август 2017 - 23:27

В Smarty есть и такое:

$x = {{$Сумма}|replace:" ":""}

КБ - помощь, проекты и решения.
Хостинг. Аренда. Продажа.
ВашаБаза.рф

#3 SpectralEye

    Участник

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

Отправлено 04 Август 2017 - 10:32

Просмотр сообщенияTony999 (03 Август 2017 - 23:27) писал:

В Smarty есть и такое:

$x = {{$Сумма}|replace:" ":""}

Я пробовал replace, теперь вижу, что писал неправильно: вместо правильного {{$Позиции счета.Сумма}|replace:" ":""} я писал неправильное {$Позиции счета.Сумма|replace:" ":""}, и ClientBase падал с ошибкой русских символов. Большое спасибо, теперь всё сделал на replace и assign.

Если кто ищет, вот рабочее решение:
{assign var=running_total value={$running_total}+{{$Позиции счета.Сумма}|replace:" ":""}}






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

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