Страница 1 из 1
интерфейс множественного выбора сотрудников
Добавлено: 04 дек 2008, 10:29
Дмитрий_Н
Добрый день уважаемые знатоки галактики, будьте добры подскажите пожалуйста какой стандартный интерфейс галактики можно использовать в своей программе для множественного выбора сотрудников, покопавшись в документации я нашел SelectPersons но какие параметры нужно ему передать и где получить выбранных сотрудников я не знаю, помогите пожалуйста.
Добавлено: 04 дек 2008, 11:12
Polimer
Добавлено: 04 дек 2008, 14:35
Дмитрий_Н
да, но мне нужен интерфейс для множественного выбора сотрудников
Добавлено: 04 дек 2008, 15:00
Den
см. документацию на програм интер-с Z_Staff.chm.
А там SelectPsn...
Добавлено: 04 дек 2008, 15:13
Дмитрий_Н
Огромное спасибо! все получилось!
Добавлено: 01 мар 2010, 09:39
RAJAH
Что-то у меня не получается...
Расскажите мне про вот эти параметры.
Interface Z_STAFF::SelectPsn
Выбор сотрудников
Параметры
cDepSelect : Comp
cPar2 : Comp
bUpdateSertCat : Boolean
DeptMarker : LongInt
StatPers : Word
Куда происходит запись выбранных сотрудников? Маркер PsnMarker пустой. Может, я что-то не так делаю?
Код: Выделить всё
RunInterface('Z_STAFF::SELECTPSN');
MarkSt:=InitMarker('PsnMarker', 8, 200, 10);
Message('Выбрано '+GetMarkerCount(MarkSt));
for(MarkIn:=0; MarkIn<=GetMarkerCount(MarkSt)-1; MarkIn:=MarkIn+1)
begin
Message(tmpn);
if GetMarker(MarkSt, MarkIn, tmpn) then
{
LogStrToFile('1.txt', tmpn);
}
end;
ClearMarker(MarkSt);
DoneMarker(MarkSt, 'PsnMarker');
В сообщении выходит "Выбрано 0", лог не формируется.
Заранее благодарен.
Добавлено: 01 мар 2010, 10:46
k_vit
Наверное что-то не так делаете.
Как-то писал отчёт. Сейчас посмотрел - работает.
Код: Выделить всё
if (RunInterface('Z_STAFF::SelectPsn', Comp(0), Comp(0), False, longint(0), word(0)) <> cmCancel)
{
MPersons := InitMarker('PsnMarkers',8,100,10);
PersCount := GetMarkerCount(MPersons);
.........
DoneMarker(MPersons, 'PsnMarkers');
}
Кол-во в PersCount меняется.
Добавлено: 01 мар 2010, 10:46
m0p3e
Markers := InitMarker('PsnMarkers', 8, 200, 10); - имя маркера заканчивается на "s".
Добавлено: 01 мар 2010, 12:16
Maverick
Только учтите одну вещь.. юзая данный интерфейс, вы "кушаете" 1 лицензию УП
Добавлено: 01 мар 2010, 12:33
RAJAH
Да, PsnMarkers, оказывается, хотя в Z_STAFF.chm чёрным по белому PsnMarker указан.
вы "кушаете" 1 лицензию УП
Да ну?! )) У нас б/о.
Интересно, что после отработки этого интерфейса картотека сотрудников открывается с этим же установленным фильтром, что не есть хорошо. Как можно избежать такого поведения?
Добавлено: 01 мар 2010, 12:55
m0p3e
RAJAH писал(а):
Интересно, что после отработки этого интерфейса картотека сотрудников открывается с этим же установленным фильтром, что не есть хорошо. Как можно избежать такого поведения?
Сохранить состояние маркера 'PsnMarkers' (и возможно 'SelectPsn_DeptMarker' ) перед запуском интерфейса выбора и восстановить их после обработки.
Код: Выделить всё
SavePsn := InitMarker('', 8, 200, 10);
CopyMarker ( SavePsn, PsnMarker );
и так далее...