Russian Qt Forum
Сентябрь 21, 2024, 11:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: Торг 12, кто делал под Qt и каким способом  (Прочитано 28325 раз)
PavelVX
Гость
« : Октябрь 31, 2011, 08:27 »

Добрый день!
Платформа win/linux. PostgreSQL сервер.
Пытаюсь сделать отчет Торг12. Было три варианта:
1. Попытался приделать eXaro, но он только для SQLite.
2. NCReport бесплатный пока не хочет собираться.
3. (Предпочтителен) Пишем нормальный html. Учитываем заголовок, колонтитулы и все такое в самом html. Вроде бы самый простой вариант, но тут есть две засады:
3.1 Нужно знать номер текущй страницы. Для этого нужно знать, сколько информации входит на одну страницу. И что я достиг конца страницы.
3.2 Нужно знать общее количество страниц. Что бы можно было правильно верстать нижние колонтитулы: страницы 1 из 10.
Если знать количество строк на страницу, можно было бы приблизительно сверстывать страницу, но если название позиции не входит в одну стандартную строку, то что тогда делать? Грустный

Помогите советами, кто подобное реализовывал.
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #1 : Октябрь 31, 2011, 09:55 »

Если знать количество строк на страницу, можно было бы приблизительно сверстывать страницу, но если название позиции не входит в одну стандартную строку, то что тогда делать? Грустный
просто исходи из того, что каждая строка наименования товара/услуги занимает 2 строки. Даже если помещается.

Вот алгоритм печати с моей 1С-ки. Он подскажет:
Код:
//*****************************************************************************
// Если БыстраяПечать=1, то печать производится в режиме быстрой продажи.
Процедура ПечатьТОРГ_12(БыстраяПечать=0, псСДовер = 0)
Если глРазрешитьНапечатать(Контекст, КонтекстФормыДокумента) = 0 Тогда
Возврат;
КонецЕсли;

СтрСортировки = "";
Если (Модифицированность() = 1) И (глДокументСортируется(Контекст, СтрСортировки) = 1) Тогда
Если глПользователь.ОтменитьВопросОСортировке = 1 Тогда
    глСортироватьНакладную(Контекст);
Иначе
Если Вопрос("Сортировать документ? "+СтрСортировки,"Да+Нет") = "Да" Тогда
глСортироватьНакладную(Контекст);
КонецЕсли;
КонецЕсли;
КонецЕсли;

//Для простоты настройки печатной формы примем следующие соглашения:
// - высота строк в таблице печатной формы задана жестко,
// тогда известно, сколько строк помещается на странице;
СтрокНаСтранице = 22;
// - высота шапки и подвала задана жестко и кратна высоте строк таблицы,
// тогда можно указать, сколько строк занимают шапка и подвал
// в пересчете на строки таблицы;
СтрокШапки = 14;
СтрокПодвала = 8;
// - для нормальной работы алгоритма необходимо, чтобы шапка и подвал
// могли поместиться на одной странице + хотя бы одна строка таблицы:
// СтрокНаСтранице >= СтрокШапки + СтрокПодвала + 1
// - если подвал не помещается на странице, он переносится на другую
// страницу с последней строкой; исключение составляет случай,
// когда в таблице всего одна строка.
Если КоличествоСтрок() = 1 Тогда
ПереноситьПоследнююСтроку = 0;
Иначе
ЦелыхСтраницСПодвалом = Цел((СтрокШапки+КоличествоСтрок()+СтрокПодвала)/СтрокНаСтранице);
ЦелыхСтраницБезПодвала = Цел((СтрокШапки+КоличествоСтрок()-1)/СтрокНаСтранице);
ПереноситьПоследнююСтроку = ЦелыхСтраницСПодвалом - ЦелыхСтраницБезПодвала;
КонецЕсли;
//Если ПереноситьПоследнююСтроку = 1 - переносить,
//если ПереноситьПоследнююСтроку = 0 - не надо переносить.
гВалютаПечати=Рубли;
Фирма.ИспользоватьДату(ДатаДок);

ПечПоставщик = "";
ПечПоставщикПа = "";

Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("ТОРГ-12");
Если УчитыватьНП=1 Тогда
Секц="|НП";
Иначе
Секц="|БезНП";
КонецЕсли;             
вДата = ДатаДок;
печДатаДокДень = глДатаФормат(вДата,"ДД");
печДатаДокМесяц = глДатаФормат(вДата,"ММММ");
печДатаДокГод = глДатаФормат(вДата,"ГГ");


ОрганизацияАдрес = СокрЛП(Фирма.ПолнНаименование)+", ИНН "+СокрЛП(Фирма.ИНН)+", "+
                   глАдресСтрокой(Фирма.ЮридическийАдрес);
Если (ПустоеЗначение(Фирма) = 0) И (ПустоеЗначение(Клиент) = 0) Тогда
ПечПоставщик = СокрЛП(Фирма.ПолнНаименование)+", ИНН "+СокрЛП(Фирма.ИНН)+", "+глАдресСтрокой(Фирма.ЮридическийАдрес);
ПечПоставщикПА = СокрЛП(Фирма.ПолнНаименование)+", ИНН "+СокрЛП(Фирма.ИНН)+", "+глАдресСтрокой(Фирма.ПочтовыйАдрес);
Иначе
Предупреждение("Не выбран клиент или фирма!"); Возврат;
КонецЕсли;         
СчетФирмы = РасчетныйСчет;
Если ПустоеЗначение(СчетФирмы) = 1 Тогда
СчетФирмы = Фирма.СчетПоУмолчанию;
КонецЕсли;
Если ПустоеЗначение(СчетФирмы) = 0 Тогда
Если ПустоеЗначение(СчетФирмы.БанкОрганизации) = 0 Тогда
ОрганизацияАдрес = ОрганизацияАдрес + ", БИК " + СчетФирмы.БанкОрганизации.Код;
ОрганизацияАдрес = ОрганизацияАдрес + ", счет № " + СокрП(СчетФирмы.Номер);
ОрганизацияАдрес = ОрганизацияАдрес + ", в " + СокрП(СчетФирмы.БанкОрганизации.Наименование);
КонецЕсли;
КонецЕсли;
ДопСтрокаОснование = "";
ДопСтрокаОснование = ДопСтрокаОснование + ?(ПустоеЗначение(ЧерезКого) = 1, "", " через: " + СокрЛП(ЧерезКого));
ДопСтрокаОснование = ДопСтрокаОснование + ?(ПустоеЗначение(НомерДоверенности) = 1, "", " доверенность №" + СокрЛП(НомерДоверенности) + " от " + ДатаДоверенности);

ПечГрузополучатель = глГрузополучательПеч(Контекст,1);


СекцияШапки = Таб.ПолучитьСекцию("Шапка"+Секц);

СекцияШапки.Область("Грузополучатель").Текст = ПечГрузополучатель;
Если ПустоеЗначение(ПлательщикСтрокой) = 0 Тогда
СекцияШапки.Область("ПлательщикСтрокой").Текст = СокрЛП(ПлательщикСтрокой);
КонецЕсли;
Таб.ВывестиСекцию(СекцияШапки);

//Таб.ВывестиСекцию("Шапка"+Секц);
НомерСтраницы = 1;

ИтогоКоличествоНаСтранице = 0;
ИтогоСуммаНаСтранице = 0;
ИтогоНДСНаСтранице = 0;
ИтогоСуммаСНДСНаСтранице = 0;
ИтогоНГСМНаСтранице = 0;
ИтогоНПНаСтранице = 0;

ИтогоКоличество = 0;
ИтогоСумма = 0;
ИтогоНДС = 0;
ИтогоСуммаСНДС = 0;
ИтогоНГСМ = 0;
ИтогоНП = 0;

ЭтоНоваяВерсияДокументаНДС = глЭтоНоваяВерсияДокументаСоСтавкойНДС(Контекст);

ТаблЧ =  СоздатьОбъект("ТаблицаЗначений");;
Сворачивать = 0;

Сворачивать = 1;
ТаблЧ =  глПодготовитьТаблицуДокументаТОРГ12(Контекст);

Таб.ВывестиСекцию("ЗаголовокТаблицы"+Секц);

Ном=0;
Если Сворачивать = 1 Тогда
ТаблЧ.ВыбратьСтроки();
Пока ТаблЧ.ПолучитьСтроку() = 1 Цикл
Ном=Ном+1;
//Начинаем новую страницу, если предыдущая строка была последней на странице
//или пора переносить последнюю строку на последнюю страницу с подвалом.
ЦелаяСтраница = (СтрокШапки+Ном-1)/СтрокНаСтранице;
Если (ЦелаяСтраница = Цел(ЦелаяСтраница))
или ((ПереноситьПоследнююСтроку = 1) и (Ном = ТаблЧ.КоличествоСтрок())) Тогда
Таб.ВывестиСекцию("ИтогоПоСтранице"+Секц);
ИтогоКоличествоНаСтранице = 0;
ИтогоСуммаНаСтранице = 0;
ИтогоНДСНаСтранице = 0;
ИтогоСуммаСНДСНаСтранице = 0;
ИтогоНГСМНаСтранице = 0;
ИтогоНПНаСтранице = 0;
Таб.НоваяСтраница();
НомерСтраницы = НомерСтраницы + 1;
Таб.ВывестиСекцию("ЗаголовокТаблицы"+Секц);
КонецЕсли;

прмТовар = ТаблЧ.Товар;
прмЕдиница = ТаблЧ.Единица;
прмКоличество = ТаблЧ.Количество;

ПромНДС = ТаблЧ.ПромНДС;   
ПечЦена = глПересчет(ТаблЧ.Цена ,Валюта,Курс,гВалютаПечати,Дата_Курса);
ПечСумма = глПересчет(ТаблЧ.Сумма ,Валюта,Курс,гВалютаПечати,Дата_Курса);
ПечСуммаБезНДС = глПересчет(ТаблЧ.Сумма-ТаблЧ.ПромНДС ,Валюта,Курс,гВалютаПечати,Дата_Курса);
ПечНДС = глПересчет(ТаблЧ.ПромНДС ,Валюта,Курс,гВалютаПечати,Дата_Курса);
ПечНП = глПересчет(ТаблЧ.СуммаНП ,Валюта,Курс,гВалютаПечати,Дата_Курса);
ПечСтавкаНДС = "Х";
Если ПромНДС <> 0 Тогда
Если ПустоеЗначение(ТаблЧ.СтавкаНДС) = 1 Тогда
ПечСтавкаНДС=?(Розница=1,"Х",?(ВсегдаПечататьНДС = 0,ТаблЧ.Товар.СтавкаНДС.Получить(ДатаДок),Перечисление.ЗначенияНДС.НоваяСтавкаНДС));
Иначе
ПечСтавкаНДС=?(Розница=1,"Х",ТаблЧ.СтавкаНДС);
КонецЕсли;
КонецЕсли;

Таб.ВывестиСекцию("СтрокаТЗ"+Секц);

ИтогоКоличествоНаСтранице = ИтогоКоличествоНаСтранице + прмКоличество;
ИтогоСуммаНаСтранице = ИтогоСуммаНаСтранице + ПечСумма - ПечНДС;
ИтогоНДСНаСтранице = ИтогоНДСНаСтранице + ПечНДС;
ИтогоСуммаСНДСНаСтранице = ИтогоСуммаСНДСНаСтранице + ПечСумма;
ИтогоНПНаСтранице = ИтогоНПНаСтранице + ПечНП;

ИтогоКоличество = ИтогоКоличество + прмКоличество;
ИтогоСумма = ИтогоСумма + ПечСумма - ПечНДС;
ИтогоНДС = ИтогоНДС + ПечНДС;
ИтогоСуммаСНДС = ИтогоСуммаСНДС + ПечСумма;
ИтогоНП = ИтогоНП + ПечНП;
КонецЦикла;
Иначе
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Ном=Ном+1;
//Начинаем новую страницу, если предыдущая строка была последней на странице
//или пора переносить последнюю строку на последнюю страницу с подвалом.
ЦелаяСтраница = (СтрокШапки+Ном-1)/СтрокНаСтранице;
Если (ЦелаяСтраница = Цел(ЦелаяСтраница))
или ((ПереноситьПоследнююСтроку = 1) и (Ном = КоличествоСтрок())) Тогда
Таб.ВывестиСекцию("ИтогоПоСтранице"+Секц);
ИтогоКоличествоНаСтранице = 0;
ИтогоСуммаНаСтранице = 0;
ИтогоНДСНаСтранице = 0;
ИтогоСуммаСНДСНаСтранице = 0;
ИтогоНГСМНаСтранице = 0;
ИтогоНПНаСтранице = 0;
Таб.НоваяСтраница();
НомерСтраницы = НомерСтраницы + 1;
Таб.ВывестиСекцию("ЗаголовокТаблицы"+Секц);
КонецЕсли;

//ПромНДС = ?(ВсегдаПечататьНДС = 0, НДС, ?(ДатаДок<Дата("01.01.04"),Сумма * 20 / 120,Сумма * 18 / 118));
Если ЭтоНоваяВерсияДокументаНДС <> 1 Тогда
ПромНДС = ?(ВсегдаПечататьНДС = 0, НДС, ?(ДатаДок<Дата("01.01.04"),Сумма * 20 / 120,Сумма * 18 / 118));
Иначе
ПромНДС = НДС;
КонецЕсли;

ПечЦена = глПересчет(Цена - Окр(Цена*ПроцентСкидки/100,2) -ПромНДС/ ?(Количество=0,1,Количество) ,Валюта,Курс,гВалютаПечати,Дата_Курса);
//ПечЦена = глПересчет(Цена-ПромНДС/Количество,Валюта,Курс,гВалютаПечати,Дата_Курса);
ПечСумма = глПересчет(Сумма,Валюта,Курс,гВалютаПечати,Дата_Курса);
ПечСуммаБезНДС = глПересчет(Сумма-ПромНДС,Валюта,Курс,гВалютаПечати,Дата_Курса);
ПечНДС = глПересчет(ПромНДС,Валюта,Курс,гВалютаПечати,Дата_Курса);
ПечНП = глПересчет(СуммаНП,Валюта,Курс,гВалютаПечати,Дата_Курса);
ПечСтавкаНДС = "Х";
Если ПромНДС <> 0 Тогда
Если ПустоеЗначение(СтавкаНДС) = 1 Тогда
ПечСтавкаНДС=?(Розница=1,"Х",?(ВсегдаПечататьНДС = 0,Товар.СтавкаНДС.Получить(ДатаДок),Перечисление.ЗначенияНДС.НоваяСтавкаНДС));
Иначе
ПечСтавкаНДС=?(Розница=1,"Х",СтавкаНДС);
КонецЕсли;
КонецЕсли;
//ПечСтавкаНДС=?(Розница=1,"Х",?(ВсегдаПечататьНДС = 0,Товар.СтавкаНДС.Получить(ДатаДок),Перечисление.ЗначенияНДС.НоваяСтавкаНДС));

Таб.ВывестиСекцию("Строка"+Секц);

ИтогоКоличествоНаСтранице = ИтогоКоличествоНаСтранице + ?(Количество=0,1,Количество);
ИтогоСуммаНаСтранице = ИтогоСуммаНаСтранице + ПечСумма - ПечНДС;
ИтогоНДСНаСтранице = ИтогоНДСНаСтранице + ПечНДС;
ИтогоСуммаСНДСНаСтранице = ИтогоСуммаСНДСНаСтранице + ПечСумма;
ИтогоНПНаСтранице = ИтогоНПНаСтранице + ПечНП;

ИтогоКоличество = ИтогоКоличество + Количество;
ИтогоСумма = ИтогоСумма + ПечСумма - ПечНДС;
ИтогоНДС = ИтогоНДС + ПечНДС;
ИтогоСуммаСНДС = ИтогоСуммаСНДС + ПечСумма;
ИтогоНП = ИтогоНП + ПечНП;
КонецЦикла;
КонецЕсли;

//Если ЭтоНоваяВерсияДокументаНДС = 0 Тогда
// ПромИтогоНДС = ?(ВсегдаПечататьНДС = 0, Итог("НДС"), ПромИтогоНДС);
//Иначе
// ПромИтогоНДС = Итог("НДС");
//КонецЕсли;

Таб.ВывестиСекцию("ИтогоПоСтранице"+Секц);
Таб.ВывестиСекцию("Всего"+Секц);

НаСумму="на сумму "+Формат(ИтогоСуммаСНДС+ИтогоНП,"ЧПДС");
ПодвальнаяСекция = Таб.ПолучитьСекцию("Подвал"+Секц);
ПечЧерезКого = СокрЛП(""+Клиент.ПолнНаименование);
ПечЧерезКого = ПечЧерезКого + ", " + СокрЛП(ДолжностьДоверенности) + " " + СокрЛП(ЧерезКого);
ПодвальнаяСекция.Область("ЧерезКого").Текст = ПечЧерезКого;
ПодвальнаяСекция.Область("ДатаДоверенности").Текст = ДатаДоверенности;
ПодвальнаяСекция.Область("НомерДоверенности").Текст = НомерДоверенности;

Если (ПустоеЗначение(ДоверенностьСотрудника) = 0) И (псСДовер = 1) Тогда
вСотр = ДоверенностьСотрудника.владелец;
Попытка
вСотр = глФИО(вСотр);
Исключение
вСотр = "";
КонецПопытки;
ПодвальнаяСекция.Область("ОтпускРазрешилФИО").Текст = ""+вСотр;
ПодвальнаяСекция.Область("ДоверенностьСотрудника").Текст = ""+ДоверенностьСотрудника;
Попытка
ПодвальнаяСекция.Область("ОтпускРазрешилДолжность").Текст = ДоверенностьСотрудника.Владелец.Должность;
Исключение
КонецПопытки;

КонецЕсли;
Таб.ВывестиСекцию(ПодвальнаяСекция);
Если БыстраяПечать=1 Тогда     
Таб.ПараметрыСтраницы(2,,,,,,,,,1,,);
Таб.КоличествоЭкземпляров(Константа.ПечКолЭкзТорг12ПриБыстройПродаже);
Таб.Напечатать(0);
ИначеЕсли БыстраяПечать="Почта" Тогда
глОтправитьПочтой(Таб,"ТОРГ_12"+НомерДок+"от"+Формат(ДатаДок,"ДГГГГММДД"),Клиент.ЭлПочта,,Контекст);
Иначе
Таб.Опции(0,0,0,0,"ОпцииПечатиНакладной","ОкноНакладной");
Таб.Защита(Константа.ФлагЗащитыТаблиц);
Таб.ТолькоПросмотр(1);
Таб.ПараметрыСтраницы(2,,,0,0,0,0,,,1);
Таб.Показать("Печать накладной","");
КонецЕсли;
КонецПроцедуры //Печать Торг12
« Последнее редактирование: Октябрь 31, 2011, 09:58 от panAlexey » Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
villager
Гость
« Ответ #2 : Ноябрь 03, 2011, 01:10 »

вряд ли html поможет
просчитать его нереально, и колонтитулы не получится отрисовать
правда я год назад смотрел, может что изменилось

а руками - сначала просчитать (виртуально отрисовать) все страницы, затем расставить общее количество страниц, и тогда уже отрисовать в PDF, или на принтер
Записан
Termit
Самовар
**
Offline Offline

Сообщений: 144



Просмотр профиля WWW
« Ответ #3 : Ноябрь 03, 2011, 01:45 »

Посмотри на
http://qt-apps.org/content/show.php/TextPrinter?content=62383

сможет все рассчитать когда будешь рисовать в html
Записан

Человеческая глупость дает представление о бесконечности
(с) Иоанна Хмелевская
PavelVX
Гость
« Ответ #4 : Ноябрь 08, 2011, 09:02 »

Забавная вещица, просто и со вкусом, но она не показывает общее количество страниц Грустный
"Страница 1 из 10" не получается загнать.
В полный рост встала другая проблема: а как на хтмл порезать текст на страницы и вставить разделители?Непонимающий
То-есть хочу сделать промежуточные итоги на каждой странице: отрисовываю нужное количество строк, отрисую итоги, но как мне явно указать. что это конец страницы?Непонимающий
Дальше печатать со следующей!
Записан
Termit
Самовар
**
Offline Offline

Сообщений: 144



Просмотр профиля WWW
« Ответ #5 : Ноябрь 08, 2011, 11:36 »

"Страница 1 из 10" не получается загнать.
Показывает. 100%.

В полный рост встала другая проблема: а как на хтмл порезать текст на страницы и вставить разделители?Непонимающий
То-есть хочу сделать промежуточные итоги на каждой странице: отрисовываю нужное количество строк, отрисую итоги, но как мне явно указать. что это конец страницы?Непонимающий
Дальше печатать со следующей!
Боюсь, что на середине страницы вставить перенос не получится.
Можно поиграться с колонтитулами и итоги рисовать в них.
Записан

Человеческая глупость дает представление о бесконечности
(с) Иоанна Хмелевская
PavelVX
Гость
« Ответ #6 : Ноябрь 08, 2011, 12:35 »

а можно пример с номерами страниц?
Код:
///////////////////////////////////////////////////////////////////////////////
// setHeaderText()
///////////////////////////////////////////////////////////////////////////////
/// Set the text for the header. Rich text is supported. HTML tags may be used
/// to format the text and align elements. The following page variables may be
/// included in the text:
/// - \&page; - Insert current page number
/// - \&date; - Insert current date, using the format set with setPageFormat()
///////////////////////////////////////////////////////////////////////////////
и вдогонку вопрос: а как в данном случае на HTML можно реализовать текст в 2 колонки?
« Последнее редактирование: Ноябрь 08, 2011, 12:37 от PavelVX » Записан
Termit
Самовар
**
Offline Offline

Сообщений: 144



Просмотр профиля WWW
« Ответ #7 : Ноябрь 08, 2011, 12:55 »

а можно пример с номерами страниц?

Код
C++ (Qt)
QString headertext =
   "<table width=\"100%\">"
   "  <tr>"
   "    <td align=\"left\"><strong>%1</strong></td>"
   "    <td align=\"right\"><strong>&date;</strong></td>"
   "  </tr>"
   "</table>";
 
QString footertext =
"<table width=\"100%\">"
"  <tr>"
"    <td align=\"left\"><strong>%1</strong></td>"
"    <td align=\"right\"><strong>&page; / &pages;</strong></td>"
"  </tr>"
"</table>";
 
 
QString titleDoc = tr("Inventory doc #: %1").arg(m_numberDoc);
 
m_textPrinter->setHeaderText(headertext.arg(titleDoc));
m_textPrinter->setFooterText(footertext.arg(titleDoc));
 

&pages - хранит в себе сколько всего страниц

и вдогонку вопрос: а как в данном случае на HTML можно реализовать текст в 2 колонки?
Через html таблицу. Например footertext в коде. Соответственно количество строк будет больше чем 1 :-)
Записан

Человеческая глупость дает представление о бесконечности
(с) Иоанна Хмелевская
PavelVX
Гость
« Ответ #8 : Ноябрь 09, 2011, 08:27 »

ууу, все гениальное просто! Улыбающийся
если все нормально, завтра попробую ваше предложение с таблицей в футере! Улыбающийся

PS кстати, а наверное через футер не прокатит, он же одинаковый для всех страниц должен быть!
PPS вещица оказалась удобной, но допиливать надо. После отчетов МС Аксеса кажется сырой Улыбающийся, но на безрыбе ... Улыбающийся То что они называют заголовком, на самом деле верхний колонтитул. Как такового заголовка отчета нет.
« Последнее редактирование: Ноябрь 14, 2011, 08:06 от PavelVX » Записан
PavelVX
Гость
« Ответ #9 : Ноябрь 14, 2011, 09:35 »

Или вы все таки допиливали сами или выложен не самый последний вариант, но
QString footertext =
      "<table width=\"100%\">"
      "  <tr>"
      "    <td align=\"left\"><strong>%1</strong></td>"
      "    <td align=\"right\"><strong>&page; / &pages;</strong></td>"
      "  </tr>"
      "</table>";
что-то не так, у меня выдает 1 / &pages;
Можете выложить куда-нить свой исходник? Или выслать?
Записан
Termit
Самовар
**
Offline Offline

Сообщений: 144



Просмотр профиля WWW
« Ответ #10 : Ноябрь 14, 2011, 12:05 »

Или вы все таки допиливали сами или выложен не самый последний вариант

Да действительно немного допиливал... Давненько было, запамятовал уже Улыбающийся

Выкладываю
Записан

Человеческая глупость дает представление о бесконечности
(с) Иоанна Хмелевская
PavelVX
Гость
« Ответ #11 : Ноябрь 14, 2011, 12:27 »

Хмм, посмотрел вашу реализацию. Я сделал немного по другому, брал последнюю страницу, но сейчас понимаю, что не я совсем прав.
Спасибо.
А не подскажете, как можно отформатировать текст контента?
То-есть мне надо сделать двухколоночный отчет. Уже и хтмл повертел. Верстактся на две колонки замечательно, но там не получается в нужном месте вставить разрыв страницы.
Записан
Termit
Самовар
**
Offline Offline

Сообщений: 144



Просмотр профиля WWW
« Ответ #12 : Ноябрь 14, 2011, 12:45 »

А не подскажете, как можно отформатировать текст контента?
То-есть мне надо сделать двухколоночный отчет. Уже и хтмл повертел. Верстактся на две колонки замечательно, но там не получается в нужном месте вставить разрыв страницы.
Не совсем понял, что именно нужно сделать... Можете как-нить на яблоках рассказать/показать?
Записан

Человеческая глупость дает представление о бесконечности
(с) Иоанна Хмелевская
PavelVX
Гость
« Ответ #13 : Ноябрь 14, 2011, 13:17 »

page 1
1. пункт 5. пункт
2. пункт 6. пункт
3. пункт 7. пункт
4. пункт 8. пункт
page 2
9.   пункт 13. пункт
10. пункт 14. пункт
11. пункт 15. пункт
12. пункт 16. пункт
Записан
Termit
Самовар
**
Offline Offline

Сообщений: 144



Просмотр профиля WWW
« Ответ #14 : Ноябрь 14, 2011, 13:29 »

Ну так, боюсь, html не позволит сделать красиво

Разве, что как-то насильно указывать сколько строк должно быть в таблице. Но решение будет не гибким...
Записан

Человеческая глупость дает представление о бесконечности
(с) Иоанна Хмелевская
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.159 секунд. Запросов: 23.