Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 ноя 2024, 05:34

Запрос

Автор nikolau, 17 фев 2017, 04:06

0 Пользователей и 1 гость просматривают эту тему.

nikolau

Всем привет, есть вот такой запрос:

//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|Сотрудник = Регистр.ДвиженияПЛА.Сотрудник;
|Маршрут = Регистр.ДвиженияПЛА.Маршрут;
|ВыручкаПлан = Регистр.ДвиженияПЛА.ВыручкаПлан;
|ВыручкаПригород = Регистр.ДвиженияПЛА.ВыручкаПригород;
|Функция ВыручкаПланСумма = Сумма(ВыручкаПлан);
|Функция ВыручкаПригородСумма = Сумма(ВыручкаПригород);
|Группировка Сотрудник;
|Группировка Маршрут;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");

// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл

// Заполнение полей Сотрудник
//Таб.ВывестиСекцию("Сотрудник");
Таб.ВывестиСекцию("Разд");
тмпстр1=Таб.ВысотаТаблицы();

Пока Запрос.Группировка(2) = 1 Цикл
// Заполнение полей Маршрут
Таб.ВывестиСекцию("Маршрут");

КонецЦикла;
тмпстр2=Таб.ВысотаТаблицы();
// Сообщить(""+Запрос.ЗначениеУпорядочивания(1)+" / "+тмпстр1+"-"+тмпстр2);
обл=Таб.Область(тмпстр1+1,2,тмпстр2,2);
обл.Объединить();
КонецЦикла;
// Заполнение полей "Итого"
Таб.ВывестиСекцию("Разд");
Таб.ВывестиСекцию("Итого");
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.ПараметрыСтраницы(1,,,,,,,,,1,,);
Таб.Показать("Сформировать", "");

КонецПроцедуры

сделал я его давно работает он нормально, но недавно в голову им пришла дичь, чтобы определенные маршруты только показывало. То есть надо чтоб он как-то по строкам выбирал как это сделать я не знаю и возможно ли это.

Mitay_D

 На форму реквизит со справочником маршруты, будет выбираться маршрут.
Условие в запросе.
|Условие (Маршрут в ВыбМаршрут); // где ВыбМаршрут - реквизит.
Если выбирается всегда только один то тогда реквизит диалога, если список маршрутов  - тогда Список

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск