интерфейс множественного выбора сотрудников
Модераторы: m0p3e, edward_K, Модераторы
- 
				Дмитрий_Н
 - Сообщения: 13
 - Зарегистрирован: 26 июн 2008, 16:40
 - Откуда: Казахстан
 - Контактная информация:
 
интерфейс множественного выбора сотрудников
Добрый день уважаемые знатоки галактики, будьте добры подскажите пожалуйста какой стандартный интерфейс галактики можно использовать в своей программе для множественного выбора сотрудников, покопавшись в документации я нашел SelectPersons но какие параметры нужно ему передать и где получить выбранных сотрудников я не знаю, помогите пожалуйста.
			
			
									
						
										
						Посмотрите здесь:
http://www.tyumbit.ru/gal_forum/viewtopic.php?t=9578
			
			
									
						
										
						http://www.tyumbit.ru/gal_forum/viewtopic.php?t=9578
Что-то у меня не получается...
Расскажите мне про вот эти параметры.
Interface Z_STAFF::SelectPsn
Выбор сотрудников
Параметры
cDepSelect : Comp
cPar2 : Comp
bUpdateSertCat : Boolean
DeptMarker : LongInt
StatPers : Word
Куда происходит запись выбранных сотрудников? Маркер PsnMarker пустой. Может, я что-то не так делаю?
В сообщении выходит "Выбрано 0", лог не формируется.
Заранее благодарен.
			
			
									
						
										
						Расскажите мне про вот эти параметры.
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');
Заранее благодарен.
- 
				k_vit
 - Постоянный обитатель
 - Сообщения: 143
 - Зарегистрирован: 09 авг 2006, 16:40
 - Откуда: Россия, Тюмень, ОАО "Сибирский Научно-Аналитический Центр"
 
Наверное что-то не так делаете.
Как-то писал отчёт. Сейчас посмотрел - работает.
Кол-во в PersCount меняется.
			
			
													Как-то писал отчёт. Сейчас посмотрел - работает.
Код: Выделить всё
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');
  }
					Последний раз редактировалось k_vit 01 мар 2010, 10:46, всего редактировалось 1 раз.
									
			
						
										
						Да, PsnMarkers, оказывается, хотя в Z_STAFF.chm чёрным по белому PsnMarker указан.
Интересно, что после отработки этого интерфейса картотека сотрудников открывается с этим же установленным фильтром, что не есть хорошо. Как можно избежать такого поведения?
			
			
									
						
										
						Да ну?! )) У нас б/о.вы "кушаете" 1 лицензию УП
Интересно, что после отработки этого интерфейса картотека сотрудников открывается с этим же установленным фильтром, что не есть хорошо. Как можно избежать такого поведения?
Сохранить состояние маркера 'PsnMarkers' (и возможно 'SelectPsn_DeptMarker' ) перед запуском интерфейса выбора и восстановить их после обработки.RAJAH писал(а): Интересно, что после отработки этого интерфейса картотека сотрудников открывается с этим же установленным фильтром, что не есть хорошо. Как можно избежать такого поведения?
Код: Выделить всё
 SavePsn := InitMarker('', 8, 200, 10);
 CopyMarker ( SavePsn, PsnMarker );
 и так далее...
