View previous topic :: View next topic |
Author |
Message |
Krosh
Joined: 13 Oct 2003 Posts: 97 Location: КИА Occupation: СТ Interests: Москва
|
Posted: 07 Jun 2005 15:40 Post subject: Как в шаблоне с "@" не печатать пустые строки |
|
|
Печатаем форму в которой табличная часть формируется FileEval-ом.
Строки фильтруются, поэтому на печать должно попасть меньше строк, чем есть в документе.
БЭСТ упрямо выводит кол-во строк как в документе.
Как "убрать" пустые строки?
В примерах по FileEval есть такое:
__________________________________
Как сформировать шаблон прайс-листа. Необходимо, чтобы
на одном листе в печатной форме выводилось 2 колонки списка ТМЦ.
Прайс-лист выглядит следующим образом:
г=============T==========T=============T============¬
¦Наименование ¦ Цена, ¦Наименование ¦ Цена, ¦
¦товара ¦ руб. ¦товара ¦ руб. ¦
¦=============¦==========¦=============¦============¦
¦-------------T----------T-------------T------------¦
¦ сверло d10¦ 100 ¦ сверло d15¦ 50 ¦
¦ сверло d12¦ 200 ¦ сверло d17¦ 150 ¦
L=============¦==========¦=============¦============-
ОТВЕТ
Вы можете воспользоваться следующим примером функции пользователя для
настройки шаблона
private a
//инициализация при первом обращении
if ns=1
aglobvars[1]:=''
endif
//построение строки для вывода
//NA, OCN1 - параметры из шаблонов
aglobvars[1]:=aglobvars[1]+'¦ '+padl(NA,27)+str(OCN1,13,3)
//если вывели два значения, то переходим на еовую строку
if int(ns/2)=ns/2
a:=aglobvars[1]+Chr(13)+Chr(10)
aglobvars[1]:=''
else
//вывод спецсимволов, чтобы строка не печаталась
a:="{[0]}"
endif
a
Шаблон будет выглядеть следующим образом:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #
где к символам @@@@@@@ будет привязано: fileeval ('test.txt')
Количество @@@ должно строго соответствовать длине выводимой строки, т.е.
в нашем примере оно должно равняться:
1) 27 (длина наименования)+13 (цена с тремя знаками после запятой) =40
2) 40*2 (вывод в две колонки)+2 (2 символа на пробел между колонками
и линию ¦)=82
Т.е. в данном примере длина строки будет 82 символа.
К # нужно привязать параметр "Флаг списка*"
Строки, в которых будут символы {[0]} на печать выводиться не будут.
Текст программы нужно положить в файл test.txt в директорию
PRO\PLUGINS\PRINT\REAL\
Литвак Тамара.
__________________________________
НЕ РАБОТАЕТ! |
|
Back to top |
|
|
ewgen
Joined: 23 Nov 2002 Posts: 339 Location: Евгений Occupation: (инженер программист) Interests: Надым
|
Posted: 08 Jun 2005 08:19 Post subject: |
|
|
Попробовали распечатать из Учет заработной платы инд. справку "Инд. карточка УСН,ЕНВД(2004) В1" (форма ind_2004.frm).
В печатной форме выводятся строки {[0]}. Версия 11.02 + сп6
Как исправить? |
|
Back to top |
|
|
Elena
Joined: 06 Jun 2002 Posts: 504 Location: Пучнина Елена Ивановна Occupation: Компания БЭСТ Interests: г.Москва
|
Posted: 10 Jun 2005 12:12 Post subject: |
|
|
Ошибка будет исправлена в версии 12.01 |
|
Back to top |
|
|
Elena
Joined: 06 Jun 2002 Posts: 504 Location: Пучнина Елена Ивановна Occupation: Компания БЭСТ Interests: г.Москва
|
Posted: 10 Jun 2005 17:19 Post subject: Re: Как в шаблоне с "@" не печатать пустые строки |
|
|
Krosh wrote: | Печатаем форму в которой табличная часть формируется FileEval-ом.
Строки фильтруются, поэтому на печать должно попасть меньше строк, чем есть в документе.
БЭСТ упрямо выводит кол-во строк как в документе.
Как "убрать" пустые строки?
В примерах по FileEval есть такое:
__________________________________
Как сформировать шаблон прайс-листа. Необходимо, чтобы
на одном листе в печатной форме выводилось 2 колонки списка ТМЦ.
Прайс-лист выглядит следующим образом:
г=============T==========T=============T============¬
¦Наименование ¦ Цена, ¦Наименование ¦ Цена, ¦
¦товара ¦ руб. ¦товара ¦ руб. ¦
¦=============¦==========¦=============¦============¦
¦-------------T----------T-------------T------------¦
¦ сверло d10¦ 100 ¦ сверло d15¦ 50 ¦
¦ сверло d12¦ 200 ¦ сверло d17¦ 150 ¦
L=============¦==========¦=============¦============-
ОТВЕТ
Вы можете воспользоваться следующим примером функции пользователя для
настройки шаблона
private a
//инициализация при первом обращении
if ns=1
aglobvars[1]:=''
endif
//построение строки для вывода
//NA, OCN1 - параметры из шаблонов
aglobvars[1]:=aglobvars[1]+'¦ '+padl(NA,27)+str(OCN1,13,3)
//если вывели два значения, то переходим на еовую строку
if int(ns/2)=ns/2
a:=aglobvars[1]+Chr(13)+Chr(10)
aglobvars[1]:=''
else
//вывод спецсимволов, чтобы строка не печаталась
a:="{[0]}"
endif
a
Шаблон будет выглядеть следующим образом:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ #
где к символам @@@@@@@ будет привязано: fileeval ('test.txt')
Количество @@@ должно строго соответствовать длине выводимой строки, т.е.
в нашем примере оно должно равняться:
1) 27 (длина наименования)+13 (цена с тремя знаками после запятой) =40
2) 40*2 (вывод в две колонки)+2 (2 символа на пробел между колонками
и линию ¦)=82
Т.е. в данном примере длина строки будет 82 символа.
К # нужно привязать параметр "Флаг списка*"
Строки, в которых будут символы {[0]} на печать выводиться не будут.
Текст программы нужно положить в файл test.txt в директорию
PRO\PLUGINS\PRINT\REAL\
Литвак Тамара.
__________________________________
НЕ РАБОТАЕТ! |
Данная проблема будет решена в ближайшем пакете к версии 11.03.
В настоящее время, для исправления данной ситуации достаточно при использовании спецсимволов "{[0]}" написать выражение в следующем виде:
a:="{[0]}111111". Т.е., если в строке кроме "{[0]}" будут еще символы, то печать производится штатн |
|
Back to top |
|
|
Krosh
Joined: 13 Oct 2003 Posts: 97 Location: КИА Occupation: СТ Interests: Москва
|
Posted: 14 Jun 2005 11:19 Post subject: Re: Как в шаблоне с "@" не печатать пустые строки |
|
|
Elena wrote: |
Данная проблема будет решена в ближайшем пакете к версии 11.03.
В настоящее время, для исправления данной ситуации достаточно при использовании спецсимволов "{[0]}" написать выражение в следующем виде:
a:="{[0]}111111". Т.е., если в строке кроме "{[0]}" будут еще символы, то печать производится штатно. |
А вы пробовали сами напечатать так, как советуете?
ИМХО это в теории должно быть "штатно", а на практике, после этих спецсимволов вообще больше ничего не печатается, т.е. "подвал" шаблона теряется.
На экран при печати формируется с виду нормальная форма: шапка,строки (часть из которых равна "{[0]}111111") и подвал.
При наличии "{[0]}" выдаётся сообщение "Принтер не готов".
Если убираю "{[0]}" - всё печатается нормально.
Что "пропускает" пустые строки - сам БЭСТ их вообще не выводит
или принтер?
Версия БЭСТ 10.02/01 от 12/01/04. |
|
Back to top |
|
|
GAL
Joined: 23 Apr 2002 Posts: 344 Location: Лопухова Галина Анатольевна Occupation: Компания БЭСТ Interests: Москва
|
Posted: 20 Jun 2005 17:40 Post subject: Re: Как в шаблоне с "@" не печатать пустые строки |
|
|
Мы провели проверку работы "{[0]}" на версии 10.02 на примере счетов-фактур. Ставилась задача вывести на печать номенклатурные позиции счет-фактуры только определенных групп.
Решение. Создали новый шаблон на основании поставляемого в программе. В колонке "Наименование товара (описание выполненных работ, оказанных услуг)" заменили привязаный параметр "Наименование*" на <Вычислить по формуле>,
в формуле вычисления параметра ввели выражение
if(Grup="00003", NA ,'{[0]}')
Символ "#" заменили на "@".
При такой настройке программа выводит на печать позиции группы 00003. В остальных строках при выводе НА ЭКРАН выводится конструкция {[0]}, при выводе НА ПЕЧАТЬ эти строки подавляются (не выводятся).
Нужно будет также через "<Вычислить и накопить>" собрать итоговые суммы с помощью оператора IF.
Напишите подробнее, в чем конкретно проблема, если мы неправильно поняли вопрос. |
|
Back to top |
|
|
Krosh
Joined: 13 Oct 2003 Posts: 97 Location: КИА Occupation: СТ Interests: Москва
|
Posted: 21 Jun 2005 10:32 Post subject: |
|
|
Krosh wrote: |
Печатаем форму в которой табличная часть формируется FileEval-ом.
Строки фильтруются, поэтому на печать должно попасть меньше строк, чем есть в документе.
|
(ВСЯ табличная часть)
Krosh wrote: |
На экран при печати формируется с виду нормальная форма: шапка,строки (часть из которых равна "{[0]}111111") и подвал.
При наличии "{[0]}" выдаётся сообщение "Принтер не готов".
Если убираю "{[0]}" - всё печатается нормально.
|
Подвал после "{[0]}" ВООБЩЕ не выдаётся (ИМХО это было в удалённом сообщении). |
|
Back to top |
|
|
Krosh
Joined: 13 Oct 2003 Posts: 97 Location: КИА Occupation: СТ Interests: Москва
|
Posted: 21 Jun 2005 10:55 Post subject: |
|
|
Метод "научного тыка" принёс положительные результаты.
Если печатать строку "{[]}" БЕЗ "0", то всё работает!
Сотрудники БЭСТ, это что тако |
|
Back to top |
|
|
GAL
Joined: 23 Apr 2002 Posts: 344 Location: Лопухова Галина Анатольевна Occupation: Компания БЭСТ Interests: Москва
|
Posted: 22 Jun 2005 14:49 Post subject: |
|
|
Мы ставили параметр "Флаг списка", затем к строке символов "@@@@@@" привязывали через <Вычислить по формуле> Fileeval. У нас "{[0]}" работает.
Наверное, у Вас очень хитрый Fileeval. |
|
Back to top |
|
|
Krosh
Joined: 13 Oct 2003 Posts: 97 Location: КИА Occupation: СТ Interests: Москва
|
Posted: 22 Jun 2005 17:15 Post subject: |
|
|
Приходите, покажите где же у нас "бяка"? |
|
Back to top |
|
|
GAL
Joined: 23 Apr 2002 Posts: 344 Location: Лопухова Галина Анатольевна Occupation: Компания БЭСТ Interests: Москва
|
Posted: 22 Jun 2005 17:38 Post subject: |
|
|
Уж лучше вы к нам.
Присылайте на consult@trd.bestnet.ru шаблон счет-фактуры, программу и пояснительную записк |
|
Back to top |
|
|
Krosh
Joined: 13 Oct 2003 Posts: 97 Location: КИА Occupation: СТ Interests: Москва
|
Posted: 23 Jun 2005 10:24 Post subject: |
|
|
Failed to deliver to 'consult@trd.bestnet.ru'
SMTP module(domain @195.2.83.239:trd.bestnet.ru) reports:
host name is unknown |
|
Back to top |
|
|
GAL
Joined: 23 Apr 2002 Posts: 344 Location: Лопухова Галина Анатольевна Occupation: Компания БЭСТ Interests: Москва
|
|
Back to top |
|
|
Krosh
Joined: 13 Oct 2003 Posts: 97 Location: КИА Occupation: СТ Interests: Москва
|
Posted: 01 Jul 2005 08:51 Post subject: |
|
|
Попробовал. Результат - НИКАКОЙ.
Хотелось бы получить ответ (наверно не только мне это интересно) - КАК ПРАВИЛЬНО ПОЛЬЗОВАТЬСЯ "@", КАК ПРОПУСКАТЬ СТРОКИ.
БЭСТовики, не замалчивайте свои знания, делитесь ими! |
|
Back to top |
|
|
|