Re: Динамическая селекция фактов в ФБП



Posted by Бутченко Игорь on June 10, 1999 at 22:01:53:

In Reply to: Динамическая селекция фактов в ФБП posted by Анатолий Анимица on June 10, 1999 at 03:04:51:

: сделают точно то же, что предлагает Игорь. Путем явной передачи управления нужному селектору. Сказано: "не порождайте сущностей без
: крайней нужды в оных". То, что я предложил на замену, пока существенно быстрее, чем компиляция строки search на этапе исполнения, а также
: разумно ограничивает программиста, требуя от него эффективного кода. Например, не 2 в 15 степени, а три..пять строк селекции кодируются
: легко и приятно, и читать такую программу внешнему читателю намного проще. Легко догадаться, что динамическая строка search потребует
: компиляции на этапе непосредственно исполнения, а это сильно замедлит ФБП.
------------------------------------------------------
Позволю себе не согласится с уважаемым А.
Если даже ограничиниться набором из 3 критериев отбора, например:

а = номер док-та
в = контрагент
с = склад

то строк селекции будет 2 в кубе = 8 (a,ab,ac,abc,b,bc,c, и нет критериев)
Если добавляем еще один критерий (например "тип документа")- строк будет 16.

А ведь не учтены еще такие критерии например, как "менеджер", "товар","вид кредита"...и т.п.
По ним все равно приходится производить поиск, но в теле формы, сравнивая переменную в поле факта с критерием, если он задан, а это еще дополнительные строки кода.

Вообще то не проблема все строки селекции записать в файл - руки не отвалятся, но когда кол-во фактов движения ТМЦ порядка 10000 в месяц а нужно вывести какую-нибудь статистику за приличный период времени задумываешься: как быстро будет работать в цикле IF,Elseif и, например, [ps] по сравнению с быстрым search и не поглотиться ли все ускорение, даваемое "быстрыми фактами" дополнительным временем на проверку заданных критериев. Да и как-то некрасиво так программировать.

А что касается времени на компиляцию динамической строки search, так это же не архисложный запрос SQL

У меня сожалению, не хватает времени на подобные тестирования,да и я не знаю все тонкости работы ФБП и "быстрых фактов", поэтому буду рад, если кто-нибудь поделится своим опытом или соображениями по этому поводу.




Пpишедшие ответы: