Имя: Пароль:
1C
 
Реализовать периодичность 6 месяцев от даты начала
0 ALexey_
Ayaganov
 
09.11.23
11:09
Всем доброго времени суток. Подскажите, пожалуйста, как можно в запросе или в СКД реализовать периодичность 6 месяцев.

Подробности:

Конфигурация КА 2, данные тянутся из регистра ВыручкаИСебестоимостьПродаж. В отчете выводится выручка по периодам. Есть стандартная периодичность (день, месяц, полугодие и т.д), но она не подходит для решения задачи.

Необходимо выводить выручку по периодам в 6 месяцев начиная с даты начала, указанной пользователем в отчете. Т.е. нужны не полугодия, а именно 6 месяцев, например, если дата начала 01.02.2023, то в отчете в первом периоде должна быть выведена выручка за период 01.02.2023 - 31.07.2023.

Если кто-то подобное уже делал, то поделитесь, пожалуйста, знаниями. Необязательно с указанным регистром, хотя бы пример того как можно период разбить на определённое количество месяцев.

Заранее всех благодарю за помощь.
1 yzimin
 
09.11.23
11:27
(0) Если вопрос с точки зрения программиста, то в общей форме отчета есть подключаемые команды
Подключаемый_Период_ПриИзменении
Подключаемый_ВыбратьПериод
Подключаемый_СдвинутьПериодНазад
Подключаемый_СдвинутьПериодВперед

можно расширением модернизировать логику в общем модуле "ОтчетыКлиент"
2 Fedor-1971
 
09.11.23
11:29
(1) Можно и запросом
(0) Держи запрос для формирования периодов
ВЫБРАТЬ
    0 КАК Цифра
ПОМЕСТИТЬ табЦифр

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    3

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    4

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    5

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    6

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    7

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    8

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    9
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    таб.Цифра * 10 + табЦифр.Цифра КАК локЧисло
ПОМЕСТИТЬ табЧисел
ИЗ
    табЦифр КАК таб
        ЛЕВОЕ СОЕДИНЕНИЕ табЦифр КАК табЦифр
        ПО (ИСТИНА)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(&дтНачала, МЕСЯЦ, 6 * табЧисел.локЧисло) КАК начПериода,
    ДОБАВИТЬКДАТЕ(&дтНачала, МЕСЯЦ, 6 * (табЧисел.локЧисло + 1)) КАК конпериода
ИЗ
    табЧисел КАК табЧисел
3 Fedor-1971
 
09.11.23
11:31
2+ дальше сообразишь как отнести к периоду и сделать конец периода с нужным временем
4 yzimin
 
09.11.23
11:32
(2) я так понял вопрос про типовой отчет, как-то жалко пилить запрос, если можно через форму отчета решить задачу
5 Fedor-1971
 
09.11.23
11:35
(4) так ТС хотел в СКД или запросом, наверно, будет свой отчёт делать
6 ALexey_
Ayaganov
 
09.11.23
11:41
(1) (2) Спасибо всем, буду пробовать