Сжатый текст в отчете

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Сжатый текст в отчете

Сообщение Иван »

Добрый день!
Каким образом в выходном текстовом отчете сразу буквы становились сжатыми?
Добавил команды " P" и ничего не помогает... компилирую через командную строку vip.exe , исходник в текстовом файле...
Отчет: Модуль Касса, отчеты, кассовая книга, вкладной лист кассовой книги...
Даже, если я выгружу стандартный отчет, поменяю имя и ничего не изменю, скомпилирую и начинает выводить несжатый шрифт.

Код: Выделить всё

.LinkForm 'KO4BOOKLEAF2' Prototype is 'DAYUCHVED'
.Group 'kassarus_f1'
.NameInList 'Вкладной лист кассовой книги (форма КО-4).2'
.p 80
.var
  СумСтрНДЕПрих:Double
  СумСтрНДЕРасх:Double
  СтраницМес:Integer
  СтраницГод:Integer
  namesho:String
.endvar
.Create  view sodhoper as
select soprhoz.namesho
from oborot(readonly),soprhoz(readonly)
where
((
oborotnrec == oborot.nrec
and
oborot.csoprhoz == soprhoz.nrec
));
.function PRINTSUMMA(Sum : double) : string;
begin
  case ShowDigit of
    0 : PrintSumma := DoubleToStr(Sum,'\0p[|-]3666''666''666''666''666');
    1 : PrintSumma := DoubleToStr(Sum,'\1p[|-]3666''666''666''666''666.8');
    2 : PrintSumma := DoubleToStr(Sum,'\2p[|-]3666''666''666''666''666.88');
    3 : PrintSumma := DoubleToStr(Sum,'\3p[|-]3666''666''666''666''666.888');
    4 : PrintSumma := DoubleToStr(Sum,'\4p[|-]3666''666''666''666''666.8888');
  end;
end.
.function PRINTSUMMAZERO(Sum : double) : string;
begin
  if Abs(Sum) > 0.005 then
    PrintSummaZero := PrintSumma(Sum);
  else
    PrintSummaZero := ' ';
end.
.fields
  c1f1
  c2f1
  c2f2
  ДатаКассы
  ВхСалНДЕ
  НоДок
  СодОпер + namesho
  КорСчет
  КорСуб
  ПрихНДЕ
  РасхНДЕ
  PrintSumma(СумСтрНДЕПрих)
  PrintSumma(СумСтрНДЕРасх)
  PrintSumma(ИсхПрихНДЕ)
  PrintSumma(ИсхРасхНДЕ)
  PrintSumma(ИсхСалНДЕ)
  ЗарплНДЕ
  'true':'s'
  if(МесяцДаты=12,
               'Листов за месяц: '+ UpCase(trim(NumToString(СтраницМес,''))) +'. Листов за год: ' + UpCase(trim(NumToString(СтраницГод,'')))+'.',
               'Листов за месяц: ' + UpCase(trim(NumToString(СтраницМес,'')))+'.'
  )
  ФИОКассира
  UpCase(КолДокПрих)
  UpCase(КолДокРасх)
  ГлавБух
.endfields

.if OKFILDCH
 Р Применен фильтр...
.{
   ^
.{
      ^ ^
.}
.}
.else
.end
.begin
  СтраницГод := НомЛиста-1;
  СтраницМес := КолЛистов;
end.

.{
.[H
                                     Вкладной лист кассовой книги за ^                             Лист  @np@
.]H
.{
.[H
.begin
  СумСтрНДЕПрих := 0;
  СумСтрНДЕРасх := 0;
end.
────────┬──────────────────────────────────────────────────────────────┬────────────┬─────────────────┬─────────────────
        │                                                              │ Номер кор- │                 │
 Номер  │                      От кого получено                        │ респонди-  │     Приход,     │    Расход,
докумен-│                      или кому выдано                         │  рующего   │     руб.коп     │    руб.коп
  та    │                                                              │   счета    │                 │
        │                                                              │  субсчета  │                 │
────────┼──────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────────────
   1    │                              2                               │     3      │        4        │       5
────────┼──────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────────────
.]H
.if KASSAVHSALDODAY
        │                                                    Остаток на начало дня  │&'&&&&&&&&&&&&&&&│       X
        ├──────────────────────────────────────────────────────────────┬────────────┼─────────────────┼─────────────────
.else
.end
.{
.begin
  namesho:='';
  if(sodhoper.getfirst = tsOK) then namesho:=','+sodhoper.namesho;
  СумСтрНДЕПрих := СумСтрНДЕПрих + ПрихНДЕ;
  СумСтрНДЕРасх := СумСтрНДЕРасх + РасхНДЕ;
end.
@@@@@@@@│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@│ @@@@@ @@@@ │&#'&&&&&&&&&&&&&&│&#'&&&&&&&&&&&&&&
.[F
────────┴──────────────────────────────────────────────────────────────┴────────────┼─────────────────┼─────────────────
                                                                            Перенос │&'&&&&&&&&&&&&&&&│&'&&&&&&&&&&&&&&&
                                                                                    └─────────────────┴─────────────────
.begin
  СтраницГод := СтраницГод+1;
  СтраницМес := СтраницМес+1;
end.
.]F
.}
────────────────────────────────────────────────────────────────────────────────────┬─────────────────┬─────────────────
                                                                                    │                 │
                                                                      Итого за день │&'&&&&&&&&&&&&&&&│&'&&&&&&&&&&&&&&&
                                                                                    ├─────────────────┼─────────────────
                                                               Остаток на конец дня │&'&&&&&&&&&&&&&&&│        X
                                                                                    ├─────────────────┼─────────────────
                                           в том числе на заработную плату, выплаты │                 │
                                           социального характера и стипендии        │&'&&&&&&&&&&&&&&&│        X
                                                                                    └─────────────────┴─────────────────
.if BREAKPAGE
^
.else
.end
.}
.if DUPRINTPAGE
 ^

.else
.end

 Кассир     ___________________   ^
                  подпись           расшифровка подписи

 Записи  в  кассовой  книге  проверил  и  документы  в
 количестве @~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ приходных и
            ------------------------------------------------------
 @~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ расходных
 -----------------------------------------------------------------
 получил.

 Бухгалтер  ___________________   ^
                  подпись           расшифровка подписи Р
.}
.endform

Polimer
Местный житель
Сообщения: 489
Зарегистрирован: 27 янв 2006, 12:46
Откуда: Москва

Re: Сжатый текст в отчете

Сообщение Polimer »

Иван писал(а):Добрый день!
Добавил команды " P" и ничего не помогает...
Перед Р должен стоять не пробел, а символ с кодом 255.
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Re: Сжатый текст в отчете

Сообщение Иван »

именно стоит символ с кодом 0xFF - смотрел в Hex редакторе
причем просто перекомпилированный исходник без изменений тоже несжатый
Polimer
Местный житель
Сообщения: 489
Зарегистрирован: 27 янв 2006, 12:46
Откуда: Москва

Re: Сжатый текст в отчете

Сообщение Polimer »

Похоже на ошибку, т.к. "Р" используется для строки, попробуйте "Т".
Serges
Местный житель
Сообщения: 228
Зарегистрирован: 29 мар 2005, 17:49

Re: Сжатый текст в отчете

Сообщение Serges »

Иван писал(а):Добавил команды " P" и ничего не помогает...
[/code]
Лучше откройте исходник в родном редакторе Галактики, выделите нужный текст и примените к нему требуемый стиль. Сохраняйте, потом компилируйте.
Галактика 8.10, Oracle 10g / 10.2.0.4
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Re: Сжатый текст в отчете

Сообщение Иван »

не помогает
вот тут исходник
http://disk.tom.ru/rjceqve
Serges
Местный житель
Сообщения: 228
Зарегистрирован: 29 мар 2005, 17:49

Re: Сжатый текст в отчете

Сообщение Serges »

Иван писал(а):не помогает
То есть в редакторе текст ужимается, а после компиляции нет?
А режим представления текста после вывода отчета на экран - наверняка "Качественный"? (иначе изменений шрифта не видно)
Тогда странно.
Галактика 8.10, Oracle 10g / 10.2.0.4
Иван
Местный житель
Сообщения: 200
Зарегистрирован: 28 апр 2009, 13:19
Откуда: Новороссийск

Re: Сжатый текст в отчете

Сообщение Иван »

да, качественный
можете посмотреть, я сам уже 20 раз как только не компилил и сохранял в редакторе отчетов support :???:
Polimer
Местный житель
Сообщения: 489
Зарегистрирован: 27 янв 2006, 12:46
Откуда: Москва

Re: Сжатый текст в отчете

Сообщение Polimer »

У меня вариант с "Р" работает. Правда у меня прототип другой:

Код: Выделить всё

.linkform 'KO4bookPol' prototype is 'dayuchved'
.group 'kassarus_f1'
.nameinlist 'Вкладной лист кассовой книги Полимер'
.p 80
! Функция вывода заданного количества знаков после запятой
#include printfunc.frn
.var
  СумСтрНДЕПрих : double
  СумСтрНДЕРасх : double
  СтраницМес : integer
  СтраницГод : integer
.endvar
.fields
c1f1  c2f1  c2f2
ДатаКассы
ВхСалНДЕ
НоДок СодОпер КорСчет КорСуб ПрихНДЕ РасхНДЕ
PrintSumma(СумСтрНДЕПрих) PrintSumma(СумСтрНДЕРасх)
PrintSumma(ИсхПрихНДЕ) PrintSumma(ИсхРасхНДЕ) PrintSumma(ИсхСалНДЕ)
ЗарплНДЕ
'true':'s'
if(МесяцДаты=12,
               'Листов за месяц: '+ UpCase(trim(NumToString(СтраницМес,''))) +'. Листов за год: ' + UpCase(trim(NumToString(СтраницГод,'')))+'.',
               'Листов за месяц: ' + UpCase(trim(NumToString(СтраницМес,'')))+'.'
  )
ФИОКассира
UpCase(КолДокПрих) UpCase(КолДокРасх)
ГлавБух
.endfields
 Р.if OkFilDch
 ВПрименен фильтр... В
.{
 В   ^ В
.{
 В      ^ ^ В
.}
.}
.end
.begin
  СтраницГод := НомЛиста-1;
  СтраницМес := КолЛистов;
end.

.{
.[h
 Б                                     Вкладной лист кассовой книги за ^ Б                             Лист  @np@
.]h
.{
.[h
.begin
  СумСтрНДЕПрих := 0;
  СумСтрНДЕРасх := 0;
end.
 Б────────┬──────────────────────────────────────────────────────────────┬────────────┬─────────────────┬─────────────────
        │                                                              │ Номер кор- │                 │
 Номер  │                      От кого получено                        │ респонди-  │     Приход,     │    Расход,
докумен-│                      или кому выдано                         │  рующего   │     руб.коп     │    руб.коп
  та    │                                                              │   счета    │                 │
        │                                                              │  субсчета  │                 │
────────┼──────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────────────
   1    │                              2                               │     3      │        4        │       5
────────┼──────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────── Б
.]h
.if KassaVhSaldoDay
        │                                                    Остаток на начало дня  │&'&&&&&&&&&&&&&&&│       X
        ├──────────────────────────────────────────────────────────────┬────────────┼─────────────────┼─────────────────
.end
.{
! ИТОГО
.begin
  СумСтрНДЕПрих := СумСтрНДЕПрих + ПрихНДЕ;
  СумСтрНДЕРасх := СумСтрНДЕРасх + РасхНДЕ;
end.
@@@@@@@@│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@│ @@@@@ @@@@ │&#'&&&&&&&&&&&&&&│&#'&&&&&&&&&&&&&&
.[f
 Б────────┴──────────────────────────────────────────────────────────────┴────────────┼─────────────────┼─────────────────
                                                                            Перенос │&'&&&&&&&&&&&&&&&│&'&&&&&&&&&&&&&&&
                                                                                    └─────────────────┴───────────────── Б
.begin
  СтраницГод := СтраницГод+1;
  СтраницМес := СтраницМес+1;
end.
.]f
.}
 Б────────────────────────────────────────────────────────────────────────────────────┬─────────────────┬─────────────────
                                                                                    │                 │
                                                                      Итого за день │&'&&&&&&&&&&&&&&&│&'&&&&&&&&&&&&&&&
                                                                                    ├─────────────────┼─────────────────
                                                               Остаток на конец дня │&'&&&&&&&&&&&&&&&│        X Б
 Б                                                                                    ├─────────────────┼─────────────────
                                           в том числе на заработную плату, выплаты │                 │
                                           социального характера и стипендии        │&'&&&&&&&&&&&&&&&│        X
                                                                                    └─────────────────┴───────────────── Б
.if BreakPage
^
.end
.}
.if duPrintPage
 ^

.end

 Кассир     ___________________    Д^ Д
                  подпись           расшифровка подписи

 Записи  в  кассовой  книге  проверил  и  документы  в
 количестве @~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ приходных и
            ------------------------------------------------------
 @~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ расходных
 -----------------------------------------------------------------
 получил.

 Бухгалтер  ___________________    Д^ Д
                  подпись           расшифровка подписи Р
.}
.endform
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Сжатый текст в отчете

Сообщение edward_K »

не партесь.
У автора " Р" стоит в условном блоке - поэтому и не работает.
Я лично предпочитаю, чтобы все служебные строки не затрагивались шрифтами(всегда были обычным шрифтом) и не люблю расставлять шрифты сапортом(или потом расставляю как мне хочется) - это иногда позволяет избежать таких проблем, правда может потом печать тормозит на матричном принтере ( или ускоряется) - ужо не помню. А так хочется сделать жирненьким и думай что-же именно в этом месте поставить.
Ответить