2
Как в RTF вывести позиции счета?
Автор aolin, 24 нояб. 2010 01:31
Сообщений в теме: 9
#1
Отправлено 24 Ноябрь 2010 - 01:31
Здравствуйте.
Как заполнить шаблон RTF чтобы в нем выводилось несколько позиций счета (несколько строк), как в html версии стандартного щаблона счета?
Как организовать цикл и где все это нужно сделать?
Спасибо.
Как заполнить шаблон RTF чтобы в нем выводилось несколько позиций счета (несколько строк), как в html версии стандартного щаблона счета?
Как организовать цикл и где все это нужно сделать?
Спасибо.
#2
Отправлено 24 Ноябрь 2010 - 09:53
К сожалению мы пока не нашли приемлимого способа организации цикла в RTF шаблонах. Для вывода нескольких позиций из подтаблиц необходимо воспользоваться html шаблоном.
#3
Отправлено 24 Ноябрь 2010 - 14:23
Сделайте вывод в PDF или конвертацию HTML в PDF. Очень не удобно пользоваться HTML. Во первых отображение/печать в разных браузерах, Во вторых печать сразу нескольких документов, несколькими листами невозможна так как постоянно листы съезжают и печатаются неправильно.
#4
Отправлено 24 Ноябрь 2010 - 14:33
В принципе ничто не мешает вам сохранить документ html и затем самостоятельно перевести его в нужный формат.
#5
Отправлено 24 Ноябрь 2010 - 22:29
есть мысль но не знаю как реализовать:
1. Получаем список позиций счета - таблица (№ п/п, наименование, ед.изм., кол-во, цена, стоимость и т.д.)
2. Создаются переменные-массивы содержащие информацию по каждому столбцу
$num (все позиции столбца №), $name (все позиции столбца наименование) и т.д. ИЛИ
(что ускорит работу) переменные содержащие информацию по столбцу в одной строке (строковой переменной) с символами перехода на новую строку (для RTF файла) между значениями примерно так
$str1 = "1"+переход+"2"+переход+ и т.д.
$str2 = "Молоток"+переход+"Кувалда"+ и т.д.
переход - служебный символ перехода курсора на новую строку
3. А уже эти созданные нами переменные прописать в шаблон RTF где они будут отображаться в соответствующих столбцах таблицы.
Можно ли реализовать? И как это сделать?
1. Получаем список позиций счета - таблица (№ п/п, наименование, ед.изм., кол-во, цена, стоимость и т.д.)
2. Создаются переменные-массивы содержащие информацию по каждому столбцу
$num (все позиции столбца №), $name (все позиции столбца наименование) и т.д. ИЛИ
(что ускорит работу) переменные содержащие информацию по столбцу в одной строке (строковой переменной) с символами перехода на новую строку (для RTF файла) между значениями примерно так
$str1 = "1"+переход+"2"+переход+ и т.д.
$str2 = "Молоток"+переход+"Кувалда"+ и т.д.
переход - служебный символ перехода курсора на новую строку
3. А уже эти созданные нами переменные прописать в шаблон RTF где они будут отображаться в соответствующих столбцах таблицы.
Можно ли реализовать? И как это сделать?
#6
Отправлено 25 Ноябрь 2010 - 11:16
Чуть выше я уже писал что в RTF пока не реализована поддержка подтаблиц, т.к. нет механизма организации циклов. Поэтому позиции счета (произвольное число строк) вы не вставите. Все переменные вставляемые в RTF документ, должны быть полями вашей таблицы.
#7
Отправлено 25 Ноябрь 2010 - 22:57
А цикл организовывается до RTF. Как я это вижу:
Создаем таблицу для хранения результатов (Все переменные вставляемые в RTF документ, должны быть полями вашей таблицы.)
Итак Есть шесть строк (условно) в счете. Внутри Клиента организовать цикл можно?
Помещаем в первое поле нашей таблицы все значения с номерами позиций через символ переноса курсора на новую строку.
На выходе наша таблица будет содержать одну строку, поля которой будут заполнены так:
поле Номер(1"//n"2"//n"3"//n"4"//n"5"//n"6"//n") (простите за мой французский - с языками программирования постоку-поскоку) ведь если это поле поместить в переменную, а переменную в РТФ в таблицу которую мы заблаговременно создали в нем, то получится (мне кажется должно сработать ) что цифры будут располагаться на разных строках (что нам и нужно), в соседний столбец - переменную содержащую значения второго столбца через служебный символ переноса и т.д.
Должно получится что то в РТФ наподобие:
1/n | Молоток/n |
2/n | Дюбель/n |
3/n | Трос/n |
4/n | ....... и т.д.
5/n |
6 |
А сивол переноса, который мы заблаговременно вставили, В РТФ перенесет каждое следующее значение на новую строку ...
Может получится? )))
P/S/ в выходной табличке /n - символ переноса каретки (условно).
Создаем таблицу для хранения результатов (Все переменные вставляемые в RTF документ, должны быть полями вашей таблицы.)
Итак Есть шесть строк (условно) в счете. Внутри Клиента организовать цикл можно?
Помещаем в первое поле нашей таблицы все значения с номерами позиций через символ переноса курсора на новую строку.
На выходе наша таблица будет содержать одну строку, поля которой будут заполнены так:
поле Номер(1"//n"2"//n"3"//n"4"//n"5"//n"6"//n") (простите за мой французский - с языками программирования постоку-поскоку) ведь если это поле поместить в переменную, а переменную в РТФ в таблицу которую мы заблаговременно создали в нем, то получится (мне кажется должно сработать ) что цифры будут располагаться на разных строках (что нам и нужно), в соседний столбец - переменную содержащую значения второго столбца через служебный символ переноса и т.д.
Должно получится что то в РТФ наподобие:
1/n | Молоток/n |
2/n | Дюбель/n |
3/n | Трос/n |
4/n | ....... и т.д.
5/n |
6 |
А сивол переноса, который мы заблаговременно вставили, В РТФ перенесет каждое следующее значение на новую строку ...
Может получится? )))
P/S/ в выходной табличке /n - символ переноса каретки (условно).
#8
Отправлено 26 Ноябрь 2010 - 11:06
Да в том то и дело что не получится у Вас так. При выводе нескольких полей, особенно если у вас не просто выводятся значения, а скажем внутри таблицы (что вы собственно и хотите), вам необходимо будет вставить и закодировать дополнительную информацию в формате RTF. В принципе если вы готовы самостоятельно изучить этот формат и написать соответствующее вычисляемое поле - то конечно на здоровье. Но это не вариант для большиства обычных пользователей.
#9
Отправлено 15 Февраль 2011 - 12:18
Всё больше склоняюсь к использованию RTF (DOC) формата для отчётов (печатных форм), осталось только реализовать в нём циклы и таблицы.
Вот средство для этого: PHPRtfLite is an API enabling developers to create rtf documents with php. PHPRtfLite is designed on OOP principles. http://sourceforge.n...rojects/phprtf/
phprtf
А кстати, в ODF или DOC шаблонах печати можно создавать циклы и таблицы?
Вот средство для этого: PHPRtfLite is an API enabling developers to create rtf documents with php. PHPRtfLite is designed on OOP principles. http://sourceforge.n...rojects/phprtf/
phprtf
А кстати, в ODF или DOC шаблонах печати можно создавать циклы и таблицы?
*Свободный программер.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных