Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> выбрать период по месяцу          
4andriy Подменю пользователя
сообщение 26.05.22, 16:47
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 177
Спасибо сказали: 1 раз
Рейтинг: 1

на форме 2 значения:
ВыбНачПериода - я выбираю 22.01.2022
ВыбКонПериода - я выбираю 18.02.2022

в запросе у меня это описано таким условием:

Запрос = СоздатьОбъект("Запрос");
.........................
|Условие(отпуск > ВыбНачПериода);
|Условие(отпуск < ВыбКонПериода);
.........................


все работает. но мне нужно что-бы в запросе учитывались все значения где месяц с 01 по 02, и что-бы дату и год не учитывались
тоесть если я выбрал 22.01.2022 до 18.02.2022 в результате я хочу увидеть

01-02 - 2020 года
01-02 - 2021 года
01-02 - 2022 года

volodya1122 Подменю пользователя
сообщение 26.05.22, 17:30
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 336
Из: Тернопіль
Спасибо сказали: 133 раз
Рейтинг: 135.7

В 1с8 я б зробив так: Текст умови програмно сформував.
В циклі
1. Перевів введені дати на початок і кінець місяця. На кожній ітерації циклу добавляти рік до кожної з дат (в обидві сторони)
2. умови обєднати приблизно так: ГДЕ (Отпуск>Д1 и Отпуск<Д2) Или (Отпуск>Д1 и Отпуск<Д2) Или (Отпуск>Д1 и Отпуск<Д2) - цей текст звичайно формується програмно в циклі . Де Д1 і Д2 на кожній ітерації вже конкретні визначені в циклі значення

3. В 1с7 незнаю чи подібним методом можна сформувати умову.
Тут скоріше потрібно формувати в циклі на кожен період повнісю текст запросу і обєднати ці запроси

p.s.
Ще можливо дуже спростити, якщо в запросі можна використати функцію (Месяц(Дата1). Поді просто порівняти номера місяців

Сообщение отредактировал volodya1122 - 26.05.22, 17:40

4andriy Подменю пользователя
сообщение 27.05.22, 13:47
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 177
Спасибо сказали: 1 раз
Рейтинг: 1

volodya1122 @ Вчера, 18:30 * ,
в версії 7.7 якраз треба

Profi_1C77 Подменю пользователя
сообщение 03.06.22, 12:32
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 21
Спасибо сказали: 4 раз
Рейтинг: 0

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

    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        Если (ДатаМесяц(Запрос.ДатаДок) = МаскаОтбораНачало)  или (ДатаМесяц(Запрос.ДатаДок) = МаскаОтбораКонец) Тогда
            
        Таб.ВывестиСекцию("Месяц");
    КонецЕсли;
        
        // Заполнение полей Месяц
        
    КонецЦикла;


это хотели ?

Сообщение отредактировал Vofka - 06.06.22, 8:51

Спасибо сказали: 4andriy,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 18.04.24, 10:12
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!