|  29.11.2007, 14:33 | #1 | 
| Участник | предвычисление полей (не кеширование методов) 
			
			Есть форма, есть набор долговычисляемых полей, которые используют значения друг друга. Соответственно, возникает хотелка: предвычислить все значения при смене записи, в грид выводить уже готовые значения. Вопрос: в каком методе вызывать вычисление? Если cursorNotify - он тогда для всех строк вычисляет значения для текущей строки. Active и linkActive - нули всегда отдает... | 
|  | 
|  29.11.2007, 14:42 | #2 | 
| Участник | 
			
			postLoad вызывается после считывания каждой записи.
		 | 
|  | 
|  29.11.2007, 15:09 | #3 | 
| SAP | 
			
			а может попробовать слаживать расчитаные значения во временную таблицу, и display методом их выводить. Если запись во временной таблице существует брать расчитаные значения из нее, если нет то рассчитать значения и вставить во временную таблицу, связь между обычной таблицей и временной можно сделать по recid.  Цитата: 
		
			Вопрос: в каком методе вызывать вычисление?
		
	 | 
|  | 
|  29.11.2007, 16:04 | #4 | 
| Участник | 
			
			2konopello: какая разница, где хранить. главное, когда рассчитать. Мой метод хранения мне нравится больше - он однозначно быстрее 2kashperuk - postLoad - это чей метод? я его найти не могу среди методов формы | 
|  | 
|  29.11.2007, 16:06 | #5 | 
| Участник | Цитата: см для примера LedgerTrans но быстрым такой подход не назовешь   | 
|  | 
|  29.11.2007, 16:10 | #6 | 
| Участник | 
			
			Я бы сделал так: 1. Есть кеш (ннапример, MAP) recID --> (набор вычисляемых полей) 2. При попытке получить значение одного из дисплей методов, вычисляются они все, если их нет в кеше или берутся из кеша, если есть. | 
|  | 
|  29.11.2007, 16:13 | #7 | 
| SAP | Цитата: 
		
			2konopello: какая разница, где хранить. главное, когда рассчитать. Мой метод хранения мне нравится больше - он однозначно быстрее
		
	 не вижу смысла рассчитывать все предварительно, мой метод производил бы расчет по мере необходимости, т.е. при поподании данных в grid. Последний раз редактировалось konopello; 29.11.2007 в 16:14. Причина: ошибки...... | 
|  | 
|  29.11.2007, 16:16 | #8 | 
| SAP | Цитата: 
		
			Я бы сделал так: 1. Есть кеш (ннапример, MAP) recID --> (набор вычисляемых полей) 2. При попытке получить значение одного из дисплей методов, вычисляются они все, если их нет в кеше или берутся из кеша, если есть. | 
|  | 
|  29.11.2007, 17:37 | #9 | 
| Участник | 
			
			2konopello - я просто сразу не понял сути предложения. В принципе, действительно интересный вариант. 2belugin - имеющиюся готовую реализацию в системе не подскажете? | 
|  | 
|  29.11.2007, 17:43 | #10 | 
| Участник | 
			
			не. не знаю.
		 | 
|  | 
|  29.11.2007, 17:49 | #11 | 
| SAP | Цитата: 
		
			2belugin - имеющиюся готовую реализацию в системе не подскажете?
		
	 только тут слегка по калечному сделано | 
|  | 
|  29.11.2007, 18:23 | #12 | 
| Участник | 
			
			Еще можно сделать так, как на форме Закупок, к примеру. закладка Разноска или История разноски (там где последний документ и его дата) | 
|  | 
|  29.11.2007, 18:32 | #13 | 
| Участник | |
|  | 
|  29.11.2007, 19:10 | #14 | 
| Участник | 
			
			Главная книга \ План счетов. Сальдо "предвычисленное" поле | 
|  | 
|  29.11.2007, 20:18 | #15 | 
| Участник | |
|  | 
|  30.11.2007, 10:08 | #16 | 
| SAP | Цитата: 
		
			Главная книга \ План счетов. Сальдо "предвычисленное" поле   | 
|  | 
|  | 
| 
 |