View previous topic :: View next topic |
Author |
Message |
_Андрей_
Joined: 19 Jul 2007 Posts: 19 Location: Иванов А.В. Occupation: Миком (сист. адм.) Interests: Астрахань
|
Posted: 04 Oct 2007 10:15 Post subject: Сортировка |
|
|
Подскажите пожалуйста, как в оборотной ведомости сделать сортировку по коэффициенту оборачиваемости? Если можно - поподробнее... И еще: очень часто приходится отчеты экспортировать в Excel, где они получаются огромные, куча лишних строк и столбцов.... Можно ли как нибудь от них избавится? |
|
Back to top |
|
|
_Андрей_
Joined: 19 Jul 2007 Posts: 19 Location: Иванов А.В. Occupation: Миком (сист. адм.) Interests: Астрахань
|
Posted: 05 Oct 2007 13:01 Post subject: |
|
|
Не понимаю причину молчания... Это очень сложно? Или я что-то не то спросил |
|
Back to top |
|
|
dshlykov
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
|
Posted: 08 Oct 2007 17:27 Post subject: Re: Сортировка |
|
|
Добрый день!
_Андрей_ wrote: | Подскажите пожалуйста, как в оборотной ведомости сделать сортировку по коэффициенту оборачиваемости? Если можно - поподробнее... И еще: очень часто приходится отчеты экспортировать в Excel, где они получаются огромные, куча лишних строк и столбцов.... Можно ли как нибудь от них избавится? |
За сортировку в складских отчетах отвечает параметр cFilting. В данный параметр записывется выражение из итоговых строк курсора, по которому необходимо сортировать отчет. В Вашем случае необходимо добавить следующий код в событие OnClick кнопки выполнить:
Code: | DataSet1.Params['cSorting'] := 'iif(SB+SE=0,0,SR/(0.5*(SB+SE)))'; | Если необходимо сделать сортировку по другим полям и коэффициенту оборачиваемости код должен быть следующим (например по группе и коэффициенту оборачиваемости):
Code: | DataSet1.Params['cSorting'] := 'GRUP+STR(iif(SB+SE=0,0,SR/(0.5*(SB+SE))),11,4)'; |
_Андрей_ wrote: | И еще: очень часто приходится отчеты экспортировать в Excel, где они получаются огромные, куча лишних строк и столбцов.... Можно ли как нибудь от них избавится? |
Избавится от них можно только выравняв все объекты отчета друг относительно друга. Любой зазор междк объектами дает такой эффект при экспорт _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ" |
|
Back to top |
|
|
_Андрей_
Joined: 19 Jul 2007 Posts: 19 Location: Иванов А.В. Occupation: Миком (сист. адм.) Interests: Астрахань
|
Posted: 02 Nov 2007 11:38 Post subject: |
|
|
Еще такой вопрос: как поставить условие, чтобы в отчет выводились (не выводились) товары, с коэффициентом оборачиваемости, скажем, менньше 0.1? |
|
Back to top |
|
|
dshlykov
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
|
Posted: 02 Nov 2007 12:29 Post subject: |
|
|
Добрый день!
_Андрей_ wrote: | Еще такой вопрос: как поставить условие, чтобы в отчет выводились (не выводились) товары, с коэффициентом оборачиваемости, скажем, менньше 0.1? | Этот вопрос можно решить двумя способами:
1. Установить итоговую фильтрацию источника:
Code: | DataSet1.Params['cHaving'] := DataSet1.Params['cHaving'] + if(LENGTH(DataSet1.Params['cHaving'])<>0,' and ','')+'iif(SB+SE=0,0,SR/(0.5*(SB+SE)))>0.1'; |
2. Не выводить эти строки в отчете. Для этого в событии OnBeforePrint секции MasterData надо проверить это условие: вывводить или не выводить секцию:
Code: | If if(DialogForm.DataSet1."SB"+DialogForm.DataSet1."SE"=0,0,DialogForm.DataSet1."SR"/(0.5*(DialogForm.DataSet1."SB"+DialogForm.DataSet1."SE")))<0.1 Then Visible := False
Else Visible := True; |
_________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ" |
|
Back to top |
|
|
|