|  10.02.2010, 16:01 | #1 | 
| Участник | Формирование табеля 
			
			AX 4.0 SP2 EE FP1 + Payrol FP3 День добрый! Очень долго формируется табель учета рабочего времени. Выяснилось, что долго выполняется метод getTblCon класса RPayTblTransFormCreate, который в свою очередь вызывается из метода createTblLine этого же класса. В этом методе заполняется контейнер, который, видимо, получается очень большой и, соответственно, занимает много оперативной памяти, и время его заполнения увеличивается с каждым компонентом. Кто-нибудь сталкивался с этой проблемой? | 
|  | 
|  10.02.2010, 16:36 | #2 | 
| Злыдни | 
			
			Сталкивались. Там еще и данные заполнялись не верно (что-то с учетом по дням/часам и неявками было - сейчас уже точно не вспомню). Плюнули - и переписали формирование отчета с нуля по-человечески. В данном случае, это мне представляется оптимальным вариантом.
		 | 
|  | 
|  10.02.2010, 16:52 | #3 | 
| Участник | 
			
			Немножко про другое)) Я про создание табеля, когда всем ставятся 8-ки. Форма Журнал табелей/ кнопка Создание табелей. Или это тоже переписали? | 
|  | 
|  11.02.2010, 10:43 | #4 | 
| Злыдни | 
			
			Нет, это не переписывали. Да и контейнер там большим быть не должен - откуда? В нем же только значения ставок хранятся, причем только для текущего сотрудника. Копайте дальше - вряд ли в этом проблема.
		 | 
|  | 
|  11.02.2010, 10:48 | #5 | 
| Участник | 
			
			Как долго у вас строится табель? Какое количество сотрудников, какое количество табель-ставок, какое количество времен?
		 
				__________________ Ivanhoe as is.. | 
|  | 
|  11.02.2010, 12:41 | #6 | 
| Участник | 
			
			Операция у заказчика выполняется 18,5  часов. При выявлении причин  на нашем сервере  на данных заказчика  обнаружили, что если  в  методе createTblLine  класса  RPayTblTransFormCreate в коде осуществлять выход из функции по return перед или после строки tblCon   = this.getTblCon(_emplTable.EmplId, _startDateReverse, _endDateReverse); получили прогнозируемое время выполнения  операции в 1.5 часа и 13 часов соответственно.  Табель-ставки - 2 штуки, кодов времен - 49 шт, сотрудников больше 4000 человек. | 
|  | 
|  11.02.2010, 17:36 | #7 | 
| Участник | 
			
			Скорее всего где-то не работает индекс. Это надо искать профайлером. В стандарте нет кэша на таблице RPayHistory, это может существенно замедлять работу системы. | 
|  |