JohnyDeath писал(а) 24. Июля 2008 :: 12:04:О результатах сообщи!
Предварительные результаты.
1. Объект тестирования - значения периодического реквизита "Курс" всех элементов справочника "Валюты". В справочнике 5 валют, одна из них - национальная (на тест не повлияла), из остальных четырех по одной (Евро) курс имеется на каждый рабочий день в течение 4 лет, по остальным заполнение от 1 до 10 значений в месяц.
2. Тесты Было выполнено 3 теста, результат сравнивался с образцом -
ТекЭлемент.Курс.Получить(ТекДата). Тесты различаются условиями отбора по дате периодического значения -
1.
WHERE objid=спр.id AND id=' E' AND date<= '"+ДатаСтр+"'
2.
WHERE objid=спр.id AND id=' E' AND (date< '"+ДатаСтр+"' OR date= '"+ДатаСтр+"')
3.
WHERE idx_ID_OBJID_DATE_TIME_DOCID_PARTNO <
|(' E' || спр.id || '"+ДатаСтр+"Я')
3. Результаты теста.
Сражу скажу, что второй тест выдал полное совпадение по всей выборке (отдельный респект
Chieftain )
Первый тест выдавал расхождения на датах, у которых день заказчивался на 9 - 9, 19 и 29 числа месяца. Причем влияет только число - 9-ка в месяце (сентябрь) не добавила расхождений.
Третий тест выдал расхождения по всем валютам, кроме национальной и Евро, причем возвращались значения, относящиеся к курсам других валют
. Скорей всего причина в том, что в 3-м тесте ключ сравнения составной, т.е. выполнение условия происходит на значениях валюты с меньшим внутренним идентификатором (национальная валюта и евро имеют наименьшие идентификаторы).
Вот такие результаты. Имеет смысл дальше тестировать?