Показать сообщение отдельно
Старый 04.02.2015, 17:34   #5  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
677 / 517 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Я не очень понял те танцы с бубнами, которые вы исполняете. Зачем вам два Query? Отображайте пользователю тот запрос по которому потом будете работать, пусть пользователь прямо в него добавляет всё что хочет.
именно, что не понял. (давай на ты, интернет всё-таки).

пользователь видит тот запрос, по которому всё выводится, и все нужные фильтры туда добавляет.

проблема в том, чтобы потом из таблицы reqTrans мне нужно разложить строки во временную таблицу, которая "кормит" отчёт, по столбцам в соответствии со значением refType.

среди прочих параметров, доступных пользователю есть "показывать пустые строки", который решает, выводить ли всё содержимое или только те, где колонка "запланировано" не пуста.

сейчас я запускаю запрос как есть, а потом "прибиваю" ненужные строки прямо во времянке.

X++:
/// <summary>
/// Gets the data from <c>cgiCutOrderReportTmp</c> for those only with planned transactions.
/// </summary>
/// <returns>
/// The <c>cgiCutOrderReportTmp</c> temporary table.
/// </returns>
private void getCgiCutOrderReportTmpPlannedOnly()
{
    cgiCutOrderReportTmp    cgiCutOrderReportTmpPlanned;
    delete_from cgiCutOrderReportTmp
    notexists join cgiCutOrderReportTmpPlanned
        where   cgiCutOrderReportTmpPlanned.ItemId  == cgiCutOrderReportTmp.ItemId
             && cgiCutOrderReportTmpPlanned.cgiInventColorId  == cgiCutOrderReportTmp.cgiInventColorId
             && cgiCutOrderReportTmpPlanned.cgiQtyPlanned;
}
но мой вопрос более общ: можно ли проделать такой трюк с любыми запросами.
__________________
Felix nihil admirari