View previous topic :: View next topic
Author
Message
Дениска Joined: 26 Feb 2002 Posts: 649
Posted: 09 Jul 2007 09:56 Post subject: Сортировка в физическом порядке
Как добавить сортировку в физическом порядке?
Как добавить сортировку по временному индексу (в данном случаи по полю date_calc)?
Как изменить индекс по умолчанию (индекс по которому отсортирован список при входе)?
Code:
Function Main()
LOCAL aSet,aSetKey,nTop,nBot,cColHead,aBlockCols,cCurproc, bDel, _aSortSeek
aSetKey:=SaveSetKey()
DBPUSH()
altd()
NETUSE("F_form_arc",LOADPATH()+"form_arc.dbf")
DISPBOX(1,0,24,79,( CHR( 201 ) + CHR( 205 ) + CHR( 187 ) + CHR( 186 ) + CHR( 188 ) + CHR( 205 ) + CHR( 200 ) + CHR( 186 )+' ' ),;
"W+/B")
nTop := 2
nBot := 23
cColHead:={" Код Наименование формы отчетности Дата Начало Конец ",;
" формы создания периода периода "}
aBlockCols:={{{||SubStr(FIELD->code_var,7,4)}, 1},{{||FIELD->name_doc},7},{{||FIELD->Date_Calc},49},{{||FIELD->Period_Sta},59},{{||FIELD->Period_End},69}}
cCurProc:={||"2"}
_aSortSeek :={{"Период и код", "Код формы", "Code_Var",'UPPER(aIn[1])',,,,"Var"},;
{"Имя формы", "Имя формы", "Name_Doc",'UPPER(aIn[1])',,,,"Name"},;
{"Имя и период", {"Имя формы", "Начало периода", "Конец периода"},;
{"Name_Doc", "Period_Sta", "Period_End"},'UPPER(aIn[1]) + DTos(aIn[2]) + DTos(aIn[3])';
,,,,"Code"};
}
F_form_arc->( INITLIST(nTop,nBot,cColHead,aBlockCols,cCurProc,;
,,,,,;
,,,_aSortSeek,,))
F_form_arc->( DBCLOSEAREA() )
DbPop()
RestSetKey(aSetkey)
Return
Back to top
nordk Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
Posted: 09 Jul 2007 10:20 Post subject:
1. Для сортировки в физическом порядке искользуйте нулевой ТЭГ
2.Для сортировки по временному индексу надо создать временный индекс и включить имя ТЭГа в сортировку
3.При входе в Инитлист используется первый индекс массива aSortSeek
Back to top
Дениска Joined: 26 Feb 2002 Posts: 649
Posted: 09 Jul 2007 13:16 Post subject:
nordk wrote:
3.При входе в Инитлист используется первый индекс массива aSortSeek
Сначала у меня сортировалось по первому индексу, но сейчас сортируется по 3-ему индексу. После чего так получилось я не понял
В ЗП есть возможность выбирать "Порядок сортировки сотрудников" (ЗП - Настройка подсистемы - Бух. настройка). Следовательно этим можно управлять ...
Back to top
Дениска Joined: 26 Feb 2002 Posts: 649
Posted: 09 Jul 2007 13:39 Post subject:
nordk wrote: 1. Для сортировки в физическом порядке искользуйте нулевой ТЭГ
Пишу:
Code:
_aSortSeek :={{"Период и код", "Код формы", "Code_Var",'UPPER(aIn[1])',,,,"Var"},;
{"Имя формы", "Имя формы", "Name_Doc",'UPPER(aIn[1])',,,,"Name"},;
{"Имя и период", {"Имя формы", "Начало периода", "Конец периода"},;
{"Name_Doc", "Period_Sta", "Period_End"},'UPPER(aIn[1]) + DTos(aIn[2]) + DTos(aIn[3])';
,,,,"Code"},;
{"Физический", ,,,,,,};
}
8-м параметром пробовал еще ставить 0, "0","". Не работает. Точнее в некоторых из этих вариантах работает со второй попытки, т.е. первый раз выбираешь сотрировку она не срабатывает, второй раз жмешь F3, курсор стоит на 2-й записи, выбираешь 4-й (физический) запись и срабатывает ...
Это одна проблема. Вторая проблема поиск. Можно убрать этот пунк из поиска (F7) и/или как сделать поиск по физическому номеру записи?
Back to top
Дениска Joined: 26 Feb 2002 Posts: 649
Posted: 09 Jul 2007 14:31 Post subject:
nordk wrote:
2.Для сортировки по временному индексу надо создать временный индекс и включить имя ТЭГа в сортировку
Здесь получилось, но опять срабатывает только со второго раза
Code:
temp_index := F_form_arc -> (CreateTempIndex("DTos(date_calc)"))
_aSortSeek :={{"Период и код", "Код формы", "Code_Var",'UPPER(aIn[1])',,,,"Var"},;
{"Имя формы", "Имя формы", "Name_Doc",'UPPER(aIn[1])',,,,"Name"},;
{"Имя и период", {"Имя формы", "Начало периода", "Конец периода"},;
{"Name_Doc", "Period_Sta", "Period_End"},'UPPER(aIn[1]) + DTos(aIn[2]) + DTos(aIn[3])';
,,,,"Code"},;
{"Дата создания", "Дата создания", "date_calc", "DTos(aIn[1])",,,,"temp_index"};
}
Back to top
Дениска Joined: 26 Feb 2002 Posts: 649
Posted: 09 Jul 2007 14:53 Post subject:
По пути еще один вопрос из другой серии. Как из БЭСТ-а получить путь до каталога Bin?
Back to top
nordk Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
Posted: 10 Jul 2007 10:32 Post subject:
Вообще-то путь до каталога BIN
/BIN
Но вопрос зачем Вам именно этот каталог: используйте лучше PRO
Управлять нельзя, можно просто при старте Инитлиста изощряться
с установкой индекса при входе. Ставьет первым.
ФИзический порядок ставьте просто 0 в имя тега.
Почему и он и временный индекс срабатывает у Вас со второго
раза мне непонятно - надо смотреть всю программу.
Пункт из F7 убирается легко последним (15) параметром aSortSeek
Back to top
Дениска Joined: 26 Feb 2002 Posts: 649
Posted: 11 Jul 2007 09:30 Post subject:
nordk wrote: Вообще-то путь до каталога BIN
/BIN
Но вопрос зачем Вам именно этот каталог: используйте лучше PRO
Выяснилось, что путь не нужен Мне нужно запусть файл frview.exe. Выяснилось, что он доступен так: BIN\frview.exe
Сейчас я запускаю отчет так:
Code:
SETKEY(13,{||xRun ("BIN\frview.exe " + LoadPath() + AllTrim(memoline(F_form_arc->doc_string, 254, 1)))})
Но после выхода из отчета я выхожу и из плагина Как исправить ситуацию?
Back to top
nordk Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
Posted: 11 Jul 2007 12:52 Post subject:
Не могу понять никак: что нужно ?
Осветите поподробнее ситуацию плз.
Back to top
Дениска Joined: 26 Feb 2002 Posts: 649
Posted: 06 Aug 2007 08:55 Post subject:
Код программы:
Code:
Function Main()
LOCAL aSet,aSetKey,nTop,nBot,cColHead,aBlockCols,cCurproc, bDel, _aSortSeek, temp_index
aSetKey:=SaveSetKey()
DBPUSH()
altd()
NETUSE("F_form_arc",LOADPATH()+"form_arc.dbf")
SETKEY(13,{||xRun ("BIN\frview.exe " + LoadPath() + AllTrim(memoline(F_form_arc->doc_string, 254, 1)))})
DISPBOX(1,0,24,79,( CHR( 201 ) + CHR( 205 ) + CHR( 187 ) + CHR( 186 ) + CHR( 188 ) + CHR( 205 ) + CHR( 200 ) + CHR( 186 )+' ' ),;
"W+/B")
nTop := 2
nBot := 23
cColHead:={" Код Наименование формы отчетности Дата Начало Конец ",;
" формы создания периода периода "}
aBlockCols:={{{||SubStr(FIELD->code_var,7,4)}, 1},{{||FIELD->name_doc},7},{{||FIELD->Date_Calc},49},{{||FIELD->Period_Sta},59},{{||FIELD->Period_End},69}}
cCurProc:={||"2"}
bDel:={||.F.}
F_form_arc -> (OrdCreate(GlobalTmpPath+ "cdx_form_arc", "temp_index", "DTos(date_calc)"))
_aSortSeek :={{"Период и код", "Код формы", "Code_Var",'UPPER(aIn[1])',,,,"Var"},;
{"Имя формы", "Имя формы", "Name_Doc",'UPPER(aIn[1])',,,,"Name"},;
{"Имя и период", {"Имя формы", "Начало периода", "Конец периода"},;
{"Name_Doc", "Period_Sta", "Period_End"},'UPPER(aIn[1]) + DTos(aIn[2]) + DTos(aIn[3])';
,,,,"Code"},;
{"Дата создания", "Дата создания", "date_calc", "DTos(aIn[1])",,,,"temp_index"};
}
F_form_arc->( INITLIST(nTop,nBot,cColHead,aBlockCols,cCurProc,;
,,,,,;
,,,_aSortSeek,,))
F_form_arc->( DBCLOSEAREA() )
DbPop()
RestSetKey(aSetkey)
Return
Обращаю внимаение, что реакция на Enter изменина с помощью SETKEY.
По нажатию Enter вызывается ФастРепорт. А после выхода из ФастРепорт выходишь и из программы. Как сделать чтобы при выходе из ФастРепорт возвращаться обратно в плагин?
Back to top
nordk Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
Posted: 06 Aug 2007 13:49 Post subject:
Добавьте после вызова функции xRun в блоке кода через запятую 2
Back to top
Дениска Joined: 26 Feb 2002 Posts: 649
Posted: 06 Aug 2007 15:10 Post subject:
nordk wrote: Добавьте после вызова функции xRun в блоке кода через запятую 2
не понял куда надо добавить 2 Попробывал поставить ее в несколько мест, но это не помогло
Back to top
nordk Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
Posted: 06 Aug 2007 15:45 Post subject:
Это у Вас
Code: SETKEY(13,{||xRun ("BIN\frview.exe " + LoadPath() + AllTrim(memoline(F_form_arc->doc_string, 254, 1)))})
А это я предложил
Code: SETKEY(13,{||xRun ("BIN\frview.exe " + LoadPath() + AllTrim(memoline(F_form_arc->doc_string, 254, 1))),2})
Back to top
nordk Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
Posted: 06 Aug 2007 15:48 Post subject:
Вот здесь тоже
исправьте на
Back to top
Дениска Joined: 26 Feb 2002 Posts: 649
Posted: 06 Aug 2007 15:51 Post subject:
Спасибо, получилось
Back to top
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
Powered by phpBB © phpBB Group