| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Дождались! :) Feature Pack 1 for the Russian HRM and Payroll modules
			 
			
			Доступен на partnersource: 
		
		
		
		
		
		
			https://mbs.microsoft.com/partnersou...rintpage=false 
 
				__________________ 
		
		
		
		
		
			Ivanhoe as is.. Последний раз редактировалось Ivanhoe; 18.02.2008 в 15:56. Причина: поправил список  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: mazzy (5), SerAl (1). | |
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			а куда дели вид отпуска? что по законодательству его запретили?  
		
		
		
		
		
		
		
	![]() зачем полю PayVacationType в таблице Расчет ср.заработка работника надо было ставить префикс DEL_ а все вызовы оставить прежними? теперь код дажене компилится!!! В частности форма ввода отпуска  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Если у вас перестал компилироваться какой-то код, то либо у вас криво встало обновление, либо были какие-то модификации, которые использовали поле RPayAverageEarnEmplPeriodTable.PayVacationType. У меня на чистое приложение все встало без проблем, никаких ошибок компиляции нет  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Peter Savintsev
			 
 
			Если у вас перестал компилироваться какой-то код, то либо у вас криво встало обновление, либо были какие-то модификации, которые использовали поле RPayAverageEarnEmplPeriodTable.PayVacationType. У меня на чистое приложение все встало без проблем, никаких ошибок компиляции нет 
		
	метод RpayAverageEarnEmplPeriodTable_ds.write() X++: if (origTable.StartDate         != rPayAverageEarnEmplPeriodTable.StartDate ||
   origTable.EndDate           != rPayAverageEarnEmplPeriodTable.EndDate   ||
   origTable.PayVacationType   != rPayAverageEarnEmplPeriodTable.PayVacationType )врезультате есессно код не компилится!  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			и это не единственное место где осталось обращение к  полю PayVacationType ... 
		
		
		
		
		
		
		
	самое интересное, что глобальная компиляция промолчала!!! а вот потом... при попытке пользовать функционал... получаем то что получаем...  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Peter Savintsev
			 
 
			Вид отпуска никуда не делся. Наоборот, появился. Если раньше в форме ввода отпусков указывался Тип отпуска (т.е. значение енума), то теперь выбирается Вид отпуска (значение из справочника). Сам тип отпуска теперь является признаком вида отпуска и указывается в соответствующем справочнике. Соответственно в таблице Расчет среднего заработка (RPayAverageEarnEmplPeriodTable), которая используется для ввода отпусков, поле PayVacationType зааменили на VacationTypeId 
		
	 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от sparur
			 
 
			ага, про енум уже понятно... непонятно почемуна форме ввода отпуска вот такой код: 
		
	метод RpayAverageEarnEmplPeriodTable_ds.write() X++: if (origTable.StartDate         != rPayAverageEarnEmplPeriodTable.StartDate ||
   origTable.EndDate           != rPayAverageEarnEmplPeriodTable.EndDate   ||
   origTable.PayVacationType   != rPayAverageEarnEmplPeriodTable.PayVacationType )врезультате есессно код не компилится! X++:         if (origTable.StartDate      != rPayAverageEarnEmplPeriodTable.StartDate ||
            origTable.EndDate        != rPayAverageEarnEmplPeriodTable.EndDate   ||
            origTable.VacationTypeId != rPayAverageEarnEmplPeriodTable.VacationTypeId)Еще раз повторюсь, у меня на чистом приложении никаких ошибок компиляции нет. Их не было при глобальной компиляции, их нет и при ручной компиляции всех объектов RPay*  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Все там есть, см скриншот. Вместо поля Тип отпуска теперь Вид отпуска. Еще раз повторяю, разберитесь с вашими модификациями этой формы.
		 
		
		
		
			 | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		
		
		
		
		
		
		
			 
				__________________ 
		
		
		
		
	Ivanhoe as is..  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			По поводу Видов отпусков: судя по документации есть возможность указать разные Time'ы для различных видов отпусков, чтобы корректно формировать табель.  
		
		
		
		
		
		
			Но сам функционал это не позволяет - в таблице спец. времен как и раньше можно указать только одно время по отпуску. Если отключить проверку, то все равно табель формируется только по одному Time'у. 
				__________________ 
		
		
		
		
	Ivanhoe as is..  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 MCTS 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Ivanhoe
			 
 
			По поводу Видов отпусков: судя по документации есть возможность указать разные Time'ы для различных видов отпусков, чтобы корректно формировать табель.  
		
	Но сам функционал это не позволяет - в таблице спец. времен как и раньше можно указать только одно время по отпуску. Если отключить проверку, то все равно табель формируется только по одному Time'у. 
				__________________ 
		
		
		
		
		
			farlander.ru Последний раз редактировалось farlander; 29.05.2008 в 15:21.  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			В форме Виды отпусков можно указать только те Time'ы, которые указаны в форме "Общие настройки учета рабочего времени" (Расчеты с персоналом / Учет рабочего времени / Настройка / Настройка) на вкладке "Учет спец. времен" для отпуска. Но! на таблице RpayTblSpecTimeTable в методе validateWrite стоит проверка: 
		
		
		
		
		
		
			X++: RpayTblSpecTimeType != RPayTblSpecTimeType::SickList У Вас не так? У меня стоит DAX 4.0 SP2 + RHRM FP1 
				__________________ 
		
		
		
		
	Ivanhoe as is..  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Да, у меня так же 
		
		
		
		
		
		
		
	Скорее всего это ошибка и должно быть примерно так: X++: public boolean validateWrite() { boolean ret; RpayTblSpecTimeTable rPayTblSpecTimeTableLocal; ret = super(); if (ret && this.RpayTblSpecTimeType == RPayTblSpecTimeType::Mission) { select firstonly rPayTblSpecTimeTableLocal where rPayTblSpecTimeTableLocal.RpayTblSpecTimeType == this.RpayTblSpecTimeType && rPayTblSpecTimeTableLocal.RpayCalendarTimeCode != this.RpayCalendarTimeCode; if (rPayTblSpecTimeTableLocal) { ret = checkFailed("@HRP2355"); } } return ret; }  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: SerAl (1). | |
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Исправлял именно так, но в итоге при создании табеля времена брались неверно. Сейчас уже примера под рукой нет, на следующей неделе поставлю чистую Аксапту, постараюсь повторить.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Ivanhoe as is..  | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 MCTS 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Нужно дописывать код, чтобы в табелях проставлялся правильный тайм отпуска?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	farlander.ru  | 
| 
	
 | 
| 
			
			 | 
		#17 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Нет, по идее ничего не нужно больше дописывать
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 MCTS 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Функционал работает... просто есть ньюансик... 
		
		
		
		
		
		
			Если после обновления табеля меняешь тип бл или отпуска - то тайм не меняется, а остается прежним... потому при вводе бл желательно тип бл проставлять сразу после создания строки... 
				__________________ 
		
		
		
		
	farlander.ru  | 
| 
	
 |