Бэст5 подправить ведомость не получаеться
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2  Next  :| |:
-> Программирование отчетов в БЭСТ-5

#1: Бэст5 подправить ведомость не получаеться Author: ForemanLocation: Поздняков А.Г. PostPosted: 05 Sep 2007 07:27
    —
День Добрый!!!

Финансы/Общесистемная/Аналитические отчеты/Ведомость учета расчетов/Ведомость расчетов по аналитическому счету(с проводками)

Требуеться усложнить фильтр по KORRSCHET
допустим KORRSCHET="9013"

добавляю его в условие фильтрации

Data.Params['cFilting'] := [Data.Params['cFilting']+'.AND.(KORRSCHET="9013")'];
все нормально в отчете вижу выводиться тока этот счет НО не выводятся итоги по группе (в данном случае контрагент используем только первый сегмент аналитики)

Вопрос почему не выводяться итоги по идее должно все работать
Делаю так

Data.Params['cFilting'] := [Data.Params['cFilting']+'.AND.(KORRSCHET<>"9013")'];
т.е. исключаем этот счет выводит обороты итоги НО сальдо на конец и обороты не пересчитаны с учетом не надобности этого счета
т.е. суммы равны что с ним что без него
Почему?????
ведь группировка и расчет оборотов и сальдо идут после фильтрации
курсора

Короче цирк
Не могу разобраться как работает этот источник
Дмитрий нужна помощь

С Уважением!!!
Алек

#2: Re: Бэст5 подправить ведомость не получаеться Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 05 Sep 2007 09:41
    —
Добрый день!
Foreman wrote:
Почему????? ведь группировка и расчет оборотов и сальдо идут после фильтрации курсора
Работает не так. Данный параметр отвечает за итоговую фильтрацию данных в курсоре. То есть после всех расчетов производится фильтрация группировка и сортировка данных. Таким образом на расчет сальдо значение данного параметра никак повлиять не могут.
Для решения Вашей задачи необходимо использовать параметр cFiltingString - этот параметр отвечает за фильтрацию операций отбираемых для расчета (фильтр накладывается на поля таблицы MAIN.DBF). В указаном случае он может иметь значения:
    '(DT_SCHET<>"9013".or.KT_SCHET<>"9013")'
Если этот параметр не используется в отчете то можно присовить ему указанное значение, иначе необходимо добавить эту строку так же как вы добавили свое условие к параметру cFilting

#3:  Author: ForemanLocation: Поздняков А.Г. PostPosted: 05 Sep 2007 12:39
    —
Вот так в отчете
Data.Params['cFiltingSchet'] := Trim(LeftCopy(pPlan.Text,[DialogForm.DataPlan."Длина_счета"]))

Как правильно сделать пробовал по разному не работает пустой отчет выводит и все

Data.Params['cFiltingSchet'] := 'Trim(LeftCopy(pPlan.Text,[DialogForm.DataPlan."ÄËÈÍÀ_Ñ×ÅÒÀ"]))'+'(DT_SCHET<>"9013".or.KT_SCHET<>"9013")'

#4:  Author: ForemanLocation: Поздняков А.Г. PostPosted: 05 Sep 2007 12:46
    —
Пытался так

Data.Params['cFiltingSchet'] := Trim(LeftCopy(pPlan.Text,[DialogForm.DataPlan."ДЛИНА_СЧЕТА"]));
Data.Params['cFiltingSchet'] := [Data.Params['cFiltingSchet']+'.AND.(DT_SCHET<>"9013".or.KT_SCHET<>"9013")'];

пустой отч

#5:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 06 Sep 2007 09:02
    —
Добрый день!
Я писал о параметре cFiltingString. Параметр cFiltingSchet предназначен для указания кода счета, по котороиу формируется отчет.

#6:  Author: ForemanLocation: Поздняков А.Г. PostPosted: 06 Sep 2007 10:28
    —
Прошу прощения действительно запутался с параметрами

все работает только вот так
Data.Params['cFiltingString'] :=['(DT_SCHET="9013".or.KT_SCHET="9013")'];

операцию <> не воспринимает никак
т.е на строку типа
Data.Params['cFiltingString'] :=['(DT_SCHET<>"9013".or.KT_SCHET<>"9013")'];
не реагирует как будто её вовсе н

#7:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 06 Sep 2007 11:47
    —
Foreman wrote:
операцию <> не воспринимает никак
т.е на строку типа
Data.Params['cFiltingString'] :=['(DT_SCHET<>"9013".or.KT_SCHET<>"9013")'];
не реагирует как будто её вовсе нет

Это я не верно написал условие. Данное условие уберет только проводки со счетом 9013 и в дебете, и в кредите. Правильное условие должно быть:
    Data.Params['cFiltingString'] :=['(DT_SCHET<>"9013".AND.KT_SCHET<>"9013")'];

#8:  Author: ForemanLocation: Поздняков А.Г. PostPosted: 06 Sep 2007 12:00
    —
Дмитрий !!!!
вопрос такой
возможно подсчитать кол-во строк в группе на первом проходе
а на втором проходе вывести только последнюю строку в группе
не могу понять куда сохранить кол-во строк (в массив что л

#9:  Author: ForemanLocation: Поздняков А.Г. PostPosted: 06 Sep 2007 12:02
    —
В описании по Дизайнеру сказано что
можно использовать два прохода для вывода итога по группе
в заголовке группы
у меня схожая проблема

только вот не написано как это сделать

#10:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 06 Sep 2007 14:06
    —
Foreman wrote:
возможно подсчитать кол-во строк в группе на первом проходе а на втором проходе вывести только последнюю строку в группе не могу понять куда сохранить кол-во строк (в массив что ли)
Это возможно. А что Вам мешает вывести необходимую информацию в секции GrupFooter? На ней можно выводить и итоговые данные и по группе и данные по последней строке группы. Если при этом Вам необходимо не выводить секцию MasterData, то для нее необходимо установить свойство Height = 0.
Foreman wrote:
В описании по Дизайнеру сказано что
можно использовать два прохода для вывода итога по группе
в заголовке группы у меня схожая проблема
только вот не написано как это сделать
Работа с двух проходными отчетами ни чем не отличается от работы с обычным отчетом. Вы имеете возможность распологать итоги не только на секции GrupFooter, но и на секции GrupHeader. При формировании отчета существенно увеличивается время.

#11:  Author: ForemanLocation: Поздняков А.Г. PostPosted: 06 Sep 2007 14:33
    —
При использовании Height = 0 происходит наложение строк почему то
а если Visible то перестают выводиться итоги по группе
что тоже не поня

#12:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 06 Sep 2007 14:46
    —
Foreman wrote:
При использовании Height = 0 происходит наложение строк почему то
В этом случае объектов на секции быть не должно.
Foreman wrote:
а если Visible то перестают выводиться итоги по группе что тоже не понятно
В построителе выражений в FasReport есть описание функции SUM(), там написано как решить эту проблему: SUM(<поле>,,1). Третий параметр говорит о том, что необходимо учитывать невидимые секции.

#13:  Author: ForemanLocation: Поздняков А.Г. PostPosted: 07 Sep 2007 05:46
    —
1. Первое не понял вообще что значит "В этом случае объектов на секции быть не должно"

2. Функция SUM не используеться в итогах по группе только по отчету
вы бы глянули этот отчет сами

#14:  Author: Дениска PostPosted: 07 Sep 2007 06:59
    —
Foreman wrote:
1. Первое не понял вообще что значит "В этом случае объектов на секции быть не должно"


Попробуйте установить Height = 0 (в тех случаях когда нужно, чтобы информацию было не видно) для секции и для всех объектов, которые на ней находя

#15:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 07 Sep 2007 08:46
    —
Добрый день!
Foreman wrote:
1. Первое не понял вообще что значит "В этом случае объектов на секции быть не должно"
Для этих объектов необходимо тоже устаномить Height=0
Foreman wrote:
2. Функция SUM не используеться в итогах по группе только по отчету вы бы глянули этот отчет сами
Я знаю, что там нет итогов по группе. Но (смотрите выше в данной теме) Вам было необходимо сделать итоги по группе, Вы хотели выводить только последнюю строку с этими итоговыми данными, я Вам предложил использовать GrupFooter. В этой секции Вы можете также использовать функцию SUM() как и в итогах по отчету.



-> Программирование отчетов в БЭСТ-5


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2  Next  :| |:
Page 1 of 2

Powered by phpBB © 2001, 2005 phpBB Group