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

Хранилище

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

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



> Как организовать выборку по датам из запроса          
vol235 Подменю пользователя
сообщение 20.08.21, 10:41
Сообщение #1

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

Есть такой запрос
ТекстЗапр = "
    |Период с Дата1 по Дата1;
    |Фир = Регистр.Остатки.Фирма;
    |Скл = Регистр.Остатки.Склад;
    |ТМЦ = Регистр.Остатки.ТМЦ;
    |Кво = Регистр.Остатки.Кво;
    |Сум = Регистр.Остатки.СуммаОсн;
    |Условие (Фир.Выбран()=0);
       |Условие (ТМЦ в выбТМЦ);
       |Условие (Скл в выбСкл1);
    |Группировка ТМЦ;
    |Функция ККво = КонОст(Кво);
    |Функция КСум = КонОст(Сум);";
    

    Состояние("Обрабатываются остатки");

    Пока Дата1 <= Дата2 Цикл
        Если Запр.Выполнить(ТекстЗапр)=0 Тогда
            Возврат;
        КонецЕсли;
        

        Пока Запр.Группировка("ТМЦ")=1 Цикл


и т.д......
Это долгий способ.
Есть ли варианты задать
|Период с Дата1 по Дата2;

а потом из запроса выбирать уже данные за одну дату?

Сообщение отредактировал Vofka - 20.08.21, 11:21

denis84 Подменю пользователя
сообщение 20.08.21, 10:50
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 421
Из: Украина
Спасибо сказали: 133 раз
Рейтинг: 132.5

vol235 @ Сегодня, 11:41 * ,
а в запросе добавить группировка день? Если правильно понял Вашу задачу

Сообщение отредактировал denis84 - 20.08.21, 10:54

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

vol235 Подменю пользователя
сообщение 20.08.21, 12:24
Сообщение #3

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

denis84 @ Сегодня, 11:50 * ,
Я правильно понимаю
.............
|Группировка День;
..............

Пока Запр.Группировка("День" = День1 Цикл
...........
?

denis84 @ Сегодня, 11:50 * ,
Я правильно понимаю
.............
|Группировка День;
..............

Пока Запр.Группировка("День")= 1 Цикл
Если Запр.День <> Дата1 Тогда
Продолжить;
КонецЕсли;
...........
?

vol235 @ Сегодня, 12:24 * ,
СПАСИБО.

29a Подменю пользователя
сообщение 20.08.21, 12:30
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 94
Спасибо сказали: 31 раз
Рейтинг: 33.3

vol235 @ Сегодня, 13:24 * ,
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Запрос)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Товар = Регистр.ОстаткиТоваров.Товар;
    |Группировка День;
    |Группировка Товар;
    |"//}}ЗАПРОС
;

    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    Пока Запрос.Группировка(1) = 1 Цикл
        Пока Запрос.Группировка(2) = 1 Цикл
        КонецЦикла;
    КонецЦикла;

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

mut Подменю пользователя
сообщение 20.08.21, 14:42
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 199
Из: Новая Каховка
Спасибо сказали: 203 раз
Рейтинг: 237.5

если в запросе две группировки: День, Товар, то по-красивому так:

Если Запрос.Получить(Дата1)=1 Тогда
    Пока Запрос.Группировка(2)=1 Цикл
        ...
    КонецЦикла;
КонецЕсли;

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


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

 

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