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


Вычисление переменной в шаблоне DOCX


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

#1 dev77rus

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

  • Пользователи
  • PipPipPip
  • 114 сообщений
  • Пол:Мужчина

Отправлено 16 Сентябрь 2011 - 15:16

В таблице есть вычисляемый столбец со следующим кодом:

$data = data_table("Журнал путевых листов","id={ID}");
$result = $data["При выезде, л."]+$data["ГСМ, выдано, л."]-(($data["Возврат, км"]-$data["Выезд, км"])*$data["Коэф. изм. нормы"]*$data["Базовая норма расхода, л."])/100;
return $result;

При размещении переменной "DOCVARIABLE При_возврате__л." в шаблоне не выводится ее значение при печати, выдает 0.00

Если я создаю вычисляемую переменную в шаблоне и размещаю в ней вышеуказанный код, то проверка вычисления идет правильно, но при печати через шаблон - сплошная абракадабра.

Может быть в вычисляемых переменных нужно использовать для вычислений именно предлагаемые шаблоном переменные DOCVARIABLE? Если да, то какой синтаксис?

#2 Analitic

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

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 20 Сентябрь 2011 - 15:54

Убедитсь что вычисление в поле срабатывает. Выведите данное поле в таблице.

#3 dev77rus

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

  • Пользователи
  • PipPipPip
  • 114 сообщений
  • Пол:Мужчина

Отправлено 21 Сентябрь 2011 - 17:44

Вычисление срабатывает в поле таблицы. При размещении предложенной программой переменной в шаблон, в шаблоне выводится значение "0.00". Так с любым полем таблицы, имеющим вычисление.

При размещени в шаблоне "вычисляемой переменной" с кодом, таким же как в поле таблицы, проверка вычисления дает желаемый результат, но, даже если эту переменную не разместить в шаблоне, вывод шаблона с данными падает совсем.

Вот что выдает в этом случае браузер:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/home/29962/МОЙПРОЕКТ/html/cb/forms.php on line 1347

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/29962/МОЙПРОЕКТ/html/cb/forms.php:1347) in /usr/home/29962/МОЙПРОЕКТ/html/cb/forms.php on line 1513

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/29962/МОЙПРОЕКТ/html/cb/forms.php:1347) in /usr/home/29962/МОЙПРОЕКТ/html/cb/forms.php on line 1514
PKX�5?�f��[Content_Types].xml��OO�@�����^���BU-�����'��?�L�|���`Um[ �X�g�{�K;��7���hc��E5��Zh��s [v�}� PKX�5?���N _rels/.rels���j�0 @����ѽQ���N/c���[IL��j���<��]�aG��ӓ�zs�Fu��]��U �� ��^�[��x����1x�p� ���f��#I)ʃ�Y���������*D��� i")��c$���qU���~3��1��jH[{�=E����~ f?��3-���޲]�Tꓸ2�j)�,l0/%��b� ����z���ʼn�, � �/�|f\Z����?6�!Y�_�o�]A�PKX�5?�


PLEASE HELP!

#4 dev77rus

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

  • Пользователи
  • PipPipPip
  • 114 сообщений
  • Пол:Мужчина

Отправлено 22 Сентябрь 2011 - 12:02

В шаблоне HTML вычисляемое поле отображается корректно. Почему не так в шаблоне DOCX?

#5 CbCoder

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

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

Отправлено 22 Сентябрь 2011 - 12:41

Оставьте заявку на сайте с вашими данными, мы проверим.

#6 dev77rus

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

  • Пользователи
  • PipPipPip
  • 114 сообщений
  • Пол:Мужчина

Отправлено 29 Сентябрь 2011 - 14:59

Ошибку исправил путем замены вычислений в полях на вычисления в таблице. Для информации выкладываю код, который был в вычисляемых полях:

Поле - Расход по норме:

$data = data_table("Журнал путевых листов","id={ID}");
$result = (($data["Возврат, км"]-$data["Выезд, км"])*$data["Коэф. изм. нормы"]*$data["Базовая норма расхода, л."])/100;
return $result;

Поле - При возврате в баке

$data = data_table("Журнал путевых листов","id={ID}");
$result = ($data["При выезде, л."]+$data["ГСМ, выдано, л."])-((($data["Возврат, км"]-$data["Выезд, км"])*$data["Коэф. изм. нормы"]*$data["Базовая норма расхода, л."])/100);
return $result;

Неправильный вывод данных в шаблон (нули), имхо, из-за одинаковой переменной $result в двух вычислениях.





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

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