pavlika2
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору yuraskas Не вариант - в запросе используются временные таблицы. Сам алгоритм можно признать рабочим, так как регламентные операции которые он выполняет уже месяцев 5-6 проходили успешно - ошибка всплыла только сейчас. Выглядит это примерно так: Цитата: ЗапросПроекты = Новый Запрос; ЗапросПроекты.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; ЗапросПроекты.Текст = "ВЫБРАТЬ | Проекты.Проект, | Проекты.Стадия, | СУММА(Проекты.РабочихДней) КАК РабочихДней |ПОМЕСТИТЬ ДниПоПроектам |ИЗ | (ВЫБРАТЬ | ... |ГДЕ | Проекты.Стадия <> ЗНАЧЕНИЕ(Перечисление.ПР_СтадииПроектов.ЗакрытиеРабот) | |СГРУППИРОВАТЬ ПО | Проекты.Проект, | Проекты.Стадия"; ЗапросПроекты.УстановитьПараметр("НачДата", НачалоМесяца(ПериодРегистрации)); ЗапросПроекты.УстановитьПараметр("КонДата", КонецМесяца(ПериодРегистрации)); ЗапросПроекты.Выполнить(); ЗапросПроекты.Текст = "ВЫБРАТЬ | Проекты.Проект, | Проекты.Стадия, | ВЫБОР | КОГДА ЕСТЬNULL(ПроектыИтоги.РабочихДней, 0) = 0 | ТОГДА 1 | ИНАЧЕ ЕСТЬNULL(Проекты.РабочихДней, 0) / ПроектыИтоги.РабочихДней | КОНЕЦ КАК КоэффициентПоСтадии |ПОМЕСТИТЬ Проекты |ИЗ | ... | ПО (ПроектыИтоги.Проект = Проекты.Проект)"; ЗапросПроекты.Выполнить(); ЗапросПроекты.Текст = "ВЫБРАТЬ | Проекты.Проект, | НоменклатурныеГруппы.Ссылка КАК Договор, | ВЫРАЗИТЬ(НоменклатурныеГруппы.ПР_Сумма / ВЫБОР | ... | КОНЕЦ КАК ЧИСЛО(15, 2)) КАК СредняяВыручка |ПОМЕСТИТЬ СредняяВыручкаПоДоговорам |ИЗ | Проекты КАК Проекты | ... | КОНЕЦ КАК ЧИСЛО(15, 2))"; ЗапросПроекты.Выполнить(); // вот это и не выполняется - хочу узнать какие таблицы запрос тут получает // вопрос - как это сделать? ЗапросПроекты.Текст = "ВЫБРАТЬ | Договоры.Проект, | Договоры.Договор, | ВЫБОР | КОГДА ЕСТЬNULL(ДоговорыИтого.СредняяВыручка, 0) = 0 | ТОГДА 1 | ИНАЧЕ ЕСТЬNULL(Договоры.СредняяВыручка, 0) / ДоговорыИтого.СредняяВыручка | КОНЕЦ КАК КоэффициентПоДоговору |ПОМЕСТИТЬ Договоры |ИЗ | СредняяВыручкаПоДоговорам КАК Договоры | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | Договоры.Проект КАК Проект, | СУММА(Договоры.СредняяВыручка) КАК СредняяВыручка | ИЗ | СредняяВыручкаПоДоговорам КАК Договоры | | СГРУППИРОВАТЬ ПО | Договоры.Проект) КАК ДоговорыИтого | ПО Договоры.Проект = ДоговорыИтого.Проект"; ЗапросПроекты.Выполнить(); | сорри за такую портянку.. | Всего записей: 626 | Зарегистр. 08-10-2004 | Отправлено: 13:30 15-12-2009 | Исправлено: pavlika2, 13:40 15-12-2009 |
|