View previous topic :: View next topic |
Author |
Message |
Foreman
Joined: 30 Jan 2003 Posts: 130 Location: Поздняков А.Г. Occupation: ООО "ПИК" Interests: г. Ачинск
|
Posted: 05 Sep 2007 07:27 Post subject: Бэст5 подправить ведомость не получаеться |
|
|
День Добрый!!!
Финансы/Общесистемная/Аналитические отчеты/Ведомость учета расчетов/Ведомость расчетов по аналитическому счету(с проводками)
Требуеться усложнить фильтр по KORRSCHET
допустим KORRSCHET="9013"
добавляю его в условие фильтрации
Data.Params['cFilting'] := [Data.Params['cFilting']+'.AND.(KORRSCHET="9013")'];
все нормально в отчете вижу выводиться тока этот счет НО не выводятся итоги по группе (в данном случае контрагент используем только первый сегмент аналитики)
Вопрос почему не выводяться итоги по идее должно все работать
Делаю так
Data.Params['cFilting'] := [Data.Params['cFilting']+'.AND.(KORRSCHET<>"9013")'];
т.е. исключаем этот счет выводит обороты итоги НО сальдо на конец и обороты не пересчитаны с учетом не надобности этого счета
т.е. суммы равны что с ним что без него
Почему?????
ведь группировка и расчет оборотов и сальдо идут после фильтрации
курсора
Короче цирк
Не могу разобраться как работает этот источник
Дмитрий нужна помощь
С Уважением!!!
Алек |
|
Back to top |
|
|
dshlykov
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
|
Posted: 05 Sep 2007 09:41 Post subject: Re: Бэст5 подправить ведомость не получаеться |
|
|
Добрый день!
Foreman wrote: | Почему????? ведь группировка и расчет оборотов и сальдо идут после фильтрации курсора | Работает не так. Данный параметр отвечает за итоговую фильтрацию данных в курсоре. То есть после всех расчетов производится фильтрация группировка и сортировка данных. Таким образом на расчет сальдо значение данного параметра никак повлиять не могут.
Для решения Вашей задачи необходимо использовать параметр cFiltingString - этот параметр отвечает за фильтрацию операций отбираемых для расчета (фильтр накладывается на поля таблицы MAIN.DBF). В указаном случае он может иметь значения:
'(DT_SCHET<>"9013".or.KT_SCHET<>"9013")' Если этот параметр не используется в отчете то можно присовить ему указанное значение, иначе необходимо добавить эту строку так же как вы добавили свое условие к параметру cFilting _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ" |
|
Back to top |
|
|
Foreman
Joined: 30 Jan 2003 Posts: 130 Location: Поздняков А.Г. Occupation: ООО "ПИК" Interests: г. Ачинск
|
Posted: 05 Sep 2007 12:39 Post subject: |
|
|
Вот так в отчете
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")' |
|
Back to top |
|
|
Foreman
Joined: 30 Jan 2003 Posts: 130 Location: Поздняков А.Г. Occupation: ООО "ПИК" Interests: г. Ачинск
|
Posted: 05 Sep 2007 12:46 Post subject: |
|
|
Пытался так
Data.Params['cFiltingSchet'] := Trim(LeftCopy(pPlan.Text,[DialogForm.DataPlan."ДЛИНА_СЧЕТА"]));
Data.Params['cFiltingSchet'] := [Data.Params['cFiltingSchet']+'.AND.(DT_SCHET<>"9013".or.KT_SCHET<>"9013")'];
пустой отч |
|
Back to top |
|
|
dshlykov
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
|
Posted: 06 Sep 2007 09:02 Post subject: |
|
|
Добрый день!
Я писал о параметре cFiltingString. Параметр cFiltingSchet предназначен для указания кода счета, по котороиу формируется отчет. _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ" |
|
Back to top |
|
|
Foreman
Joined: 30 Jan 2003 Posts: 130 Location: Поздняков А.Г. Occupation: ООО "ПИК" Interests: г. Ачинск
|
Posted: 06 Sep 2007 10:28 Post subject: |
|
|
Прошу прощения действительно запутался с параметрами
все работает только вот так
Data.Params['cFiltingString'] :=['(DT_SCHET="9013".or.KT_SCHET="9013")'];
операцию <> не воспринимает никак
т.е на строку типа
Data.Params['cFiltingString'] :=['(DT_SCHET<>"9013".or.KT_SCHET<>"9013")'];
не реагирует как будто её вовсе н |
|
Back to top |
|
|
dshlykov
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
|
Posted: 06 Sep 2007 11:47 Post subject: |
|
|
Foreman wrote: | операцию <> не воспринимает никак
т.е на строку типа
Data.Params['cFiltingString'] :=['(DT_SCHET<>"9013".or.KT_SCHET<>"9013")'];
не реагирует как будто её вовсе нет |
Это я не верно написал условие. Данное условие уберет только проводки со счетом 9013 и в дебете, и в кредите. Правильное условие должно быть:Data.Params['cFiltingString'] :=['(DT_SCHET<>"9013".AND.KT_SCHET<>"9013")']; _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ" |
|
Back to top |
|
|
Foreman
Joined: 30 Jan 2003 Posts: 130 Location: Поздняков А.Г. Occupation: ООО "ПИК" Interests: г. Ачинск
|
Posted: 06 Sep 2007 12:00 Post subject: |
|
|
Дмитрий !!!!
вопрос такой
возможно подсчитать кол-во строк в группе на первом проходе
а на втором проходе вывести только последнюю строку в группе
не могу понять куда сохранить кол-во строк (в массив что л |
|
Back to top |
|
|
Foreman
Joined: 30 Jan 2003 Posts: 130 Location: Поздняков А.Г. Occupation: ООО "ПИК" Interests: г. Ачинск
|
Posted: 06 Sep 2007 12:02 Post subject: |
|
|
В описании по Дизайнеру сказано что
можно использовать два прохода для вывода итога по группе
в заголовке группы
у меня схожая проблема
только вот не написано как это сделать |
|
Back to top |
|
|
dshlykov
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
|
Posted: 06 Sep 2007 14:06 Post subject: |
|
|
Foreman wrote: | возможно подсчитать кол-во строк в группе на первом проходе а на втором проходе вывести только последнюю строку в группе не могу понять куда сохранить кол-во строк (в массив что ли) | Это возможно. А что Вам мешает вывести необходимую информацию в секции GrupFooter? На ней можно выводить и итоговые данные и по группе и данные по последней строке группы. Если при этом Вам необходимо не выводить секцию MasterData, то для нее необходимо установить свойство Height = 0. Foreman wrote: | В описании по Дизайнеру сказано что
можно использовать два прохода для вывода итога по группе
в заголовке группы у меня схожая проблема
только вот не написано как это сделать | Работа с двух проходными отчетами ни чем не отличается от работы с обычным отчетом. Вы имеете возможность распологать итоги не только на секции GrupFooter, но и на секции GrupHeader. При формировании отчета существенно увеличивается время. _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ" |
|
Back to top |
|
|
Foreman
Joined: 30 Jan 2003 Posts: 130 Location: Поздняков А.Г. Occupation: ООО "ПИК" Interests: г. Ачинск
|
Posted: 06 Sep 2007 14:33 Post subject: |
|
|
При использовании Height = 0 происходит наложение строк почему то
а если Visible то перестают выводиться итоги по группе
что тоже не поня |
|
Back to top |
|
|
dshlykov
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
|
Posted: 06 Sep 2007 14:46 Post subject: |
|
|
Foreman wrote: | При использовании Height = 0 происходит наложение строк почему то | В этом случае объектов на секции быть не должно. Foreman wrote: | а если Visible то перестают выводиться итоги по группе что тоже не понятно | В построителе выражений в FasReport есть описание функции SUM(), там написано как решить эту проблему: SUM(<поле>,,1). Третий параметр говорит о том, что необходимо учитывать невидимые секции. _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ" |
|
Back to top |
|
|
Foreman
Joined: 30 Jan 2003 Posts: 130 Location: Поздняков А.Г. Occupation: ООО "ПИК" Interests: г. Ачинск
|
Posted: 07 Sep 2007 05:46 Post subject: |
|
|
1. Первое не понял вообще что значит "В этом случае объектов на секции быть не должно"
2. Функция SUM не используеться в итогах по группе только по отчету
вы бы глянули этот отчет сами |
|
Back to top |
|
|
Дениска
Joined: 26 Feb 2002 Posts: 649
|
Posted: 07 Sep 2007 06:59 Post subject: |
|
|
Foreman wrote: | 1. Первое не понял вообще что значит "В этом случае объектов на секции быть не должно"
|
Попробуйте установить Height = 0 (в тех случаях когда нужно, чтобы информацию было не видно) для секции и для всех объектов, которые на ней находя |
|
Back to top |
|
|
dshlykov
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
|
Posted: 07 Sep 2007 08:46 Post subject: |
|
|
Добрый день!
Foreman wrote: | 1. Первое не понял вообще что значит "В этом случае объектов на секции быть не должно" | Для этих объектов необходимо тоже устаномить Height=0
Foreman wrote: | 2. Функция SUM не используеться в итогах по группе только по отчету вы бы глянули этот отчет сами | Я знаю, что там нет итогов по группе. Но (смотрите выше в данной теме) Вам было необходимо сделать итоги по группе, Вы хотели выводить только последнюю строку с этими итоговыми данными, я Вам предложил использовать GrupFooter. В этой секции Вы можете также использовать функцию SUM() как и в итогах по отчету. _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ" |
|
Back to top |
|
|
|