Помогите по запросу

Новая тема
"Подскажите как сформировать дополнительный запрос в готовом запросе т.е. сформировали 1 запроспо данным за месяц и теперь надо к ним добавить данные среднее за три месяца, я что-то сделал но что-то не так , подскажите в чем мой косяк:
ТекстЗапроса =
"//{{ЗАПРОС(НачислениеОтпускных)
|Период с Мес3 по Мес1;
|Обрабатывать НеПомеченныеНаУдаление;
|Сумма = Документ.НачислениеОтпускных.Сумма;
|Функция СуммаСреднее = Среднее(Сумма);
|"//}}ЗАПРОС
;
Получается он сортирует сотрудников у которых есть -их и выводит а остальных нет."
"Вообще, обычно принято обрабатывать результат проведения документов, а не сами документы, то есть записи в журналах расчетов, движения регистров, проводки... ну да ладно, раз вас такое устраивает, пробуйте так:

//НачДата1 и КонДата1 описывают диапазон выборки сведений за месяцы, по которым вычисляется средний
НачДата1=Дата("01.01.2009");
КонДата1=Дата("31.03.2009");

//НачДата2 и КонДата2 описывают диапазон выборки сведений за месяц, по которому нужно получить отдельные данные
НачДата2=Дата("01.04.2009");
КонДата2=Дата("30.04.2009");

//НачДата и КонДата - вычисляем так, чтобы они полностью охватили весь нужный диапазон и у нас получилось бы получить нужные нам данные в одном запросе, а не в двух, хотя не факт, что это быстрее
НачДата=Мин(НачДата1,НачДата2);
КонДата=Макс(КонДата1,КонДата2);

ТекстЗапроса="Период с НачДата По КонДата;
|ОбрабатыватьДокументы Проведенные;
|НачислениеОтпускных=Документ.НачислениеОтпускных.ТекущийДокумент;
|Сотрудник=Документ.НачислениеОтпускных.Сотрудник;
|Сумма=Документ.НачислениеОтпускных.Сумма;
|Функция СуммаСреднее=Среднее(Сумма) когда ((НачислениеОтпускных.ДатаДок>=НачДата1) и (НачислениеОтпускных.ДатаДок<=КонДата1));
|Функция СуммаЗаОтдельныйМесяц=Сумма(Сумма) когда ((НачислениеОтпускных.ДатаДок>=НачДата2) и (НачислениеОтпускных.ДатаДок<=КонДата2));
|Группировка Сотрудник без групп упорядочить по Сотрудник.Наименование;";

P.S. Не тестирую, но, наверное, работать должно"
А расскажите, что это за запросы такие хитрые?.. Я с такими не сталкивалась
это не ко мне, это к спрашивающему... я не знаю зачем ему это надо :)
"Я пишу отдельную программку для хитрых расчетов, которые не поддерживает 1с.
написано очень хорошо но у меня загвоздка вот такая, мне надо взять среднее за 3 месяца:
ИначеЕсли ЗначениеМесяца = 6 Тогда
КЧ = "167 часов";
Дни = "21 день";
Мес1 =ЗначениеМесяца;
Мес2 =Мес1-1 ;//5
Мес3 =Мес2-1 ; //4  т.е. делаю проверку на месяц и нахожу  период, т.е. если июнь тогда нам надо : июнь, май, апрель, получаем период с Мес3 по Мес1(с апреля по июнь), , находим нужные документы и получаем среднее, а сотрудник у нас идет из первого запроса, т.е. находим по готовому сотруднику его средний.
А если делать как вы написали, то плучается мне надо прописать сравнение сотрудника с сотрудником.Мне кажется я неправильно делаю выборку на месяц."
Это 7-рошные :)
""сотрудник у нас идет из первого запроса" + "находим по готовому сотруднику его средний", значит можно не мудрить(?):

ТекстЗапроса="Период с Мес3 По Мес1;
|ОбрабатыватьДокументы Проведенные;
|НачислениеОтпускных=Документ.НачислениеОтпускных.ТекущийДокумент;
|Сотрудник=Документ.НачислениеОтпускных.Сотрудник;
|Сумма=Документ.НачислениеОтпускных.Сумма;
|Функция СуммаСреднее=Среднее(Сумма);
|Условие(Сотрудник=НужныйСотрудник);
|Группировка Сотрудник без групп без упорядочивания;";

Запрос=СоздатьОбъект("Запрос");
Если Запрос.Выполнить(ТекстЗапроса)=1 Тогда
  СуммаСреднее=Запрос.СуммаСреднее;
...
"
А, спасибо, теперь понятно)))
Я с 7-кой не работала. Надо же, насколько действительно сильно она отличается
Читают тему
(гостей: 1)

Быстрый переход