(5) Да, конструктор в общем случае не работает, т.к. текст запроса надо формировать динамически. Но для простых случаев, чтобы и вашим и нашим - можно легко выкрутиться. Если у тебя по отдельному запросу на каждый вид документов, то можно написать "конструкторосовместимый" запрос для одного вида документов, а для остальных модифицировать его через СтрЗаменить().
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший