Страница 1 из 1
					
				Замена табельного номера
				Добавлено: 06 июл 2006, 23:19
				 Vlad
				Подскажите функцию, которая бы заменяла старый табельный номер сотрудника на новый и ее можно было юзать в своем интерфейсе?
P.s. В галактике есть интерфейс CHANGETABN (Управление персоналом-Администратор-Замена табельных номеров), я так думаю, нужная мне функция привязана к кнопке [Продолжить]. 
Галактика 7.12
			 
			
					
				
				Добавлено: 07 июл 2006, 11:53
				 Max_Fin
				Код: Выделить всё
function ChangeClockNumber(
  AccountID: Comp; // nrec лицевого счета
  NewTabN: LongInt; // новое значение табельного номера
  NewCex: Comp; // новое значение ссылки на подразделение
  StrictChange:  boolean; // выполнять замену также в переходах в межпериод и постоянных доплатах
  SilentChange: boolean // подавить выдачу сообщений об ошибках во время работы функции
  ): Boolean;
 
			
					
				
				Добавлено: 10 июл 2006, 15:10
				 Vlad
				Ошибка: недопустимый тип параметра. 
Если указать 4 параметра, то ошибки нет. Но методом перебора не удалось подобрать нужные параметры, все время функция возращает false.
p.s. стоит зар12. использую в ард отчете:
...
.begin
  AccountID:=comp(6);
  NewTabN:=2222;
  //NewCex:=comp(10);
  StrictChange:=true;
  SilentChange:=false;
  a1.getfirst lschet where ((AccountID==nrec))
     if ChangeClockNumber(AccountID,newtabn,a1.lschet.cex,StrictChange)  message('замена прошла')
else message('замена не прошла');
end.
...
			 
			
					
				
				Добавлено: 10 июл 2006, 15:32
				 Max_Fin
				На самом деле не смотря на то, что функция зарегистрирована с 5-ю параметрами, на VIP`е описаны только первые 4-ре.
Проверьте свои значения, которые вы передаете, возможно ошиблись со значением AccountID, функция рабочая
			 
			
					
				
				Добавлено: 13 июл 2006, 13:52
				 Screw
				Для нормальной работы функции требуется предварительная установка контекста (инициализация таблиц и некоторых рабочих структур). Инициализация контекста производится с помощью вызова 
, финализация - с помощью вызова
Эти две рутины образуют т. н. "процедурные скобки", т. е., всегда встречаются парами, как "begin" и "end" в паскале. Если функция замены табельного номера вызывается несколько раз кряду, имеет смысл инициализацию контекста выполнить до первой замены, а финализацию - после последней.
Функция может также модифицировать кадровские данные. Какие именно - определяется настройками из раздела "Управление персоналом" - "Общие настройки" - "Автообновление данных "Кадров"".
 
			
					
				
				Добавлено: 14 июл 2006, 12:08
				 Vlad
				Спасибо, все получилось