Как получить данные за год?

1. Terabaytus 02.08.24 15:39 Сейчас в теме
Добрый день, подскажите что в условие
|ГДЕ
    |    РаботаОбороты.Прод = &Прод И РаботаОбороты.Код <> ""Б01""
прописать что бы выборку сделать за год?

Процедура КнопкаСформироватьНажатие(Кнопка)  
        
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |   Работа.Код,
    |   РаботаОбороты.Период,
    |  СУММА(РаботаОбороты.УзнавшийИзДругихИсточниковОборот),
    |    СУММА(РаботаОбороты.ПришедшийПоПриглашениюОборот)
    |ПОМЕСТИТЬ
    |   ВремТабКод
    |ИЗ
    |   РегистрНакопления.Работа КАК Работа
    |ГДЕ
    |    РаботаОбороты.Прод = &Прод И РаботаОбороты.Код <> ""Б01""
    |;
    |ВЫБРАТЬ
    |   РаботаОбороты.Период,
    |  СУММА(РаботаОбороты.УзнавшийИзДругихИсточниковОборот),
    |    СУММА(РаботаОбороты.ПришедшийПоПриглашениюОборот)
    |     ВремТабКод.Код,
    |     ВремТабКод.УзнавшийИзДругихИсточниковОборот
    |     ВремТабКод.ПришедшийПоПриглашениюОборот
    |ИЗ
    |    РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, , ) КАК РаботаОбороты
    |ЛЕВОЕ СОЕДЕНЕНИЕ
    |    ВремТабКод КАК ВремТабКод
    |ПО
    |    (РаботаОбороты.ПришедшийПоПриглашениюОборот = ВремТабКод.Код)";
    
    Если НЕ Прод.Пустая() Тогда
        Запрос.Текст = Запрос.Текст + "
        |ГДЕ
        |    РаботаОбороты.Прод = &Прод
        |СГРУППИРОВАТЬ ПО
        |    Работа обороты.Период,
        | РаботаОбороты.УзнавшийИзДругихИсточниковОборот,
        |    РаботаОбороты.ПришедшийПоПриглашениюОборот
        |     ВремТабКод.Код,
        |     ВремТабКод.УзнавшийИзДругихИсточниковОборот
        |     ВремТабКод.ПришедшийПоПриглашениюОборот";
        Запрос.УстановитьПараметр("Прод", Прод);
    КонецЕсли;
    
    Запрос.УстановитьПараметр("Дата1", НачалоДня(Дата1));
    Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2));
    ВыборкаЗапроса = Запрос.Выполнить().Выбрать();
    
    ТабДок = Новый ТабличныйДокумент;
    Макет = Отчеты.УчётаРаботы.ПолучитьМакет("МакетОтчёт");
    МакетОтчёт = ЭтотОбъект.ПолучитьМакет(МакетОтчёт);
    МакетОтчёт.Параметры.Дата1 = Формат(Дата1, "ДЛФ=D");
    МакетОтчёт.Параметры.Дата2 = Формат(Дата2, "ДЛФ=D");
    
    Шапка = Макет.ПолучитьОбласть("Шапка");
    СтрокаОтчёта = Макет.ПолучитьОбласть("Строка");  
    Подвал = Макет.ПолучитьОбласть("Подвал");     

    Шапка.Параметры.Дата1 = Дата1;    
    Шапка.Параметры.Дата2 = Дата2;
    Шапка.Параметры.Продавец = Строка(Прод) + " " + Прод.Отдел;    
    ТабДок.Вывести(Шапка);

    Данные = Новый Структура;
    
    Пока ВыборкаЗапроса.Следующий() Цикл
         
            
            Данные.Вставить("УзнавшийИзДругихИсточников", ВыборкаЗапроса.УзнавшийИзДругихИсточниковОборот);
            Данные.Вставить("ПришедшийПоПриглашению", ВыборкаЗапроса.ПришедшийПоПриглашениюОборот);
            
                        
        Для Каждого ТекущаяСтрока Из Данные Цикл
            
            СтрокаОтчёта.Параметры.УзнавшийИзДругихИсточников = Данные.УзнавшийИзДругихИсточников;
            СтрокаОтчёта.Параметры.ПришедшийПоПриглашению = Данные.ПришедшийПоПриглашению;
                                       
        
        КонецЦикла;
        
        ТабДок.Вывести(СтрокаОтчёта);
        
    КонецЦикла;    
                    
    ТабДок.ОтображатьСетку = Ложь;    
    ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область("R11:R14");    
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    ТабДок.АвтоМасштаб = Истина;    
    ТабДок.Защита = Ложь;    
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.ОтображатьЗаголовки = Ложь;    
    ТабДок.Показать("Ведомость за период с " + Формат(Дата1, "ДФ=dd.MM.yyyy") + " по " + Формат(Дата2, "ДФ=dd.MM.yyyy"));
    
КонецПроцедуры


Показать
По теме из базы знаний
Найденные решения
2. yispepotri 02.08.24 16:26 Сейчас в теме
у вас же есть РаботаОбороты.Период Период, просто добавить отбор по периоду

Где РаботаОбороты.Период Между &НачалоГода и &КонецГода

НачалоГода - 1 января нужного года, КонецГода - 31 декабря нужного года соответственно
Terabaytus; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. yispepotri 02.08.24 16:26 Сейчас в теме
у вас же есть РаботаОбороты.Период Период, просто добавить отбор по периоду

Где РаботаОбороты.Период Между &НачалоГода и &КонецГода

НачалоГода - 1 января нужного года, КонецГода - 31 декабря нужного года соответственно
Terabaytus; +1 Ответить
3. Terabaytus 02.08.24 16:29 Сейчас в теме
(2) Тоесть просто дату указать 2024, 1,1 по 2024,12,31?
4. yispepotri 02.08.24 16:30 Сейчас в теме
(3) любой период можно указать, если нужно за год, то да
5. Terabaytus 02.08.24 16:36 Сейчас в теме
(4) а возможно в запросе из параметра &НачалоГода выдернуть год по типу ЛЕВ() чтобы дата на начала года была постаянной, а год бы мог меняться на пример так
&МеняемТолькоГод,1,1 по &МеняемТолькоГод1,12,31
?
6. homer_ 79 02.08.24 16:46 Сейчас в теме
Где Год(РаботаОбороты.Период) = Год(&НачалоГода)
(5)
Terabaytus; +1 Ответить
7. Zevzm 02.08.24 16:47 Сейчас в теме
(5) Ощущение, что Вас за работу со справкой линейкой по пальцам бьют...
Прикрепленные файлы:
user1936667; Terabaytus; +2 Ответить
8. user1936667 02.08.24 16:56 Сейчас в теме
Продолжаем поиск любопытных мест.
Когда же оно заработает?
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот