Имя: Пароль:
1C
 
Запрос в УТ 10.3
0 Ruslan-9031
 
27.08.14
06:59
Добрый день!

Есть запрос, в нем указывается период. Как сделать так, чтобы запрос выполнялся на каждый день периода?
1 Wobland
 
27.08.14
07:01
запускать запрос каждый день. с прошлым периодом, конечно, не получится
2 al_zzz
 
27.08.14
07:04
Можно сгенерировать таблицу дней периода: http://1c77-1c8x.ru/understanding-1s8/request/188-days-availables.html и сделать соединение с данным запросом.
3 DrZombi
 
гуру
27.08.14
07:12
(0) Запрос покажи, а то гадать можно вечно :)
4 Ruslan-9031
 
27.08.14
07:20
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.ТорговаяТочка.Ссылка КАК Точка
ПОМЕСТИТЬ ВТ_Точки
ИЗ
    РегистрСведений.мт_ПлановыеТорговыеТочкиМаршрута.СрезПоследних(
            &ДК,
            ВЫБОР
                КОГДА &ПроектЗаполненно
                    ТОГДА Маршрут В (&Проект)
                ИНАЧЕ ИСТИНА
            КОНЕЦ) КАК мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ДоговорыКонтрагентов.Наименование КАК Представление,
            ДоговорыКонтрагентов.Ссылка КАК ОбъектСсылка
        ИЗ
            Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        ГДЕ
            ДоговорыКонтрагентов.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)
            И НЕ ДоговорыКонтрагентов.ПометкаУдаления) КАК ВложенныйЗапрос
        ПО мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.ТорговаяТочка.Ссылка = ВложенныйЗапрос.ОбъектСсылка
ГДЕ
    мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.Порядок > 0
    И НЕ мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.ТорговаяТочка.ПометкаУдаления
    И мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.Неделя = 0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    Маршруты.День,
    Маршруты.Проект КАК Проект,
    Маршруты.Адрес,
    Маршруты.КонтрагентМаршрут КАК Контрагент,
    Документы.СуммаДокумента КАК СуммаДокумента,
    НАЧАЛОПЕРИОДА(Документы.ДатаДокумента, ДЕНЬ) КАК ДатаДокумента
ИЗ
    (ВЫБРАТЬ
        мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.День КАК День,
        мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.Маршрут КАК Проект,
        мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.ТорговаяТочка.Владелец КАК КонтрагентМаршрут,
        мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.ТорговаяТочка КАК Адрес,
        мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.ТорговаяТочка.Организация КАК Организация
    ИЗ
        РегистрСведений.мт_ПлановыеТорговыеТочкиМаршрута.СрезПоследних(
                &ДК,
                ТорговаяТочка В
                    (ВЫБРАТЬ
                        ВТ_Точки.Точка
                    ИЗ
                        ВТ_точки КАК ВТ_Точки)) КАК мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних
    ГДЕ
        мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.Порядок > 0
        И мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.ТорговаяТочка.Владелец.ПометкаУдаления = ЛОЖЬ
        И мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.ТорговаяТочка.ПометкаУдаления = ЛОЖЬ
        И ВЫБОР
                КОГДА мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.День = ""
                        ИЛИ мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.День = NULL
                        ИЛИ мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.День = ЗНАЧЕНИЕ(Перечисление.ДниНедели.ПустаяСсылка)
                    ТОГДА ЛОЖЬ
                ИНАЧЕ ИСТИНА
            КОНЕЦ = ИСТИНА
        И ВЫБОР
                КОГДА &ПроектЗаполненно
                    ТОГДА мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.Маршрут В (&Проект)
                ИНАЧЕ ИСТИНА
            КОНЕЦ
        И ВЫБОР
                КОГДА &ДеньЗаполненно
                    ТОГДА мт_ПлановыеТорговыеТочкиМаршрутаСрезПоследних.День В (&День)
                ИНАЧЕ ИСТИНА
            КОНЕЦ) КАК Маршруты
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказПокупателя.Ссылка КАК Документ,
            ЗаказПокупателя.Контрагент КАК Контрагент,
            ЗаказПокупателя.ДоговорКонтрагента КАК ДоговорКонтрагента,
            ЗаказПокупателя.СуммаДокумента КАК СуммаДокумента,
            ЗаказПокупателя.Дата КАК Дата,
            ВЫБОР
                КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.День)
                    ТОГДА НАЧАЛОПЕРИОДА(ЗаказПокупателя.Дата, ДЕНЬ)
                КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Неделя)
                    ТОГДА НАЧАЛОПЕРИОДА(ЗаказПокупателя.Дата, НЕДЕЛЯ)
                КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Декада)
                    ТОГДА НАЧАЛОПЕРИОДА(ЗаказПокупателя.Дата, ДЕКАДА)
                КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Месяц)
                    ТОГДА НАЧАЛОПЕРИОДА(ЗаказПокупателя.Дата, МЕСЯЦ)
                КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Год)
                    ТОГДА НАЧАЛОПЕРИОДА(ЗаказПокупателя.Дата, ГОД)
                КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.Полугодие)
                    ТОГДА НАЧАЛОПЕРИОДА(ЗаказПокупателя.Дата, ПОЛУГОДИЕ)
            КОНЕЦ КАК ДатаДокумента
        ИЗ
            Документ.ЗаказПокупателя КАК ЗаказПокупателя
        ГДЕ
            ЗаказПокупателя.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&ДН, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДК, ДЕНЬ)
            И ЗаказПокупателя.ПометкаУдаления = ЛОЖЬ) КАК Документы
        ПО Маршруты.Адрес = Документы.ДоговорКонтрагента

СГРУППИРОВАТЬ ПО
    Маршруты.День,
    Маршруты.Проект,
    Маршруты.Адрес,
    Маршруты.КонтрагентМаршрут,
    Документы.СуммаДокумента,
    Документы.ДатаДокумента

УПОРЯДОЧИТЬ ПО
    Проект
5 Wobland
 
27.08.14
07:22
срез последних на каждую дату. на здоровье
6 Ruslan-9031
 
27.08.14
07:58
Большое спасибо, буду пробовать!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший