Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
27 ноя 2024, 23:43

Как автоматически посчитать объем закупок в предыдущем месяце?

Автор EvgeniyaJ, 17 сен 2019, 10:28

0 Пользователей и 1 гость просматривают эту тему.

EvgeniyaJ

Есть документ оказание услуги. Нужно чтобы при изменении клиента в поле объем закупок автоматически считалась сумма его закупок за прошлый календарный месяц. То есть общая сумма по полю сумма в табличной части. Что нужно написать в процедуре ПриИзменении? Как указать, что нужно считать именно за прошлый месяц сумму?

KOI8-R

Цитата: EvgeniyaJ от 17 сен 2019, 10:28
Как указать, что нужно считать именно за прошлый месяц сумму?
У вас есть дата документа. Если документ новый, то соответственно - ТекущаяДата().
От этой даты отнимаете месяц:
НачалоПредыдущегоМесяца = НачалоМесяца(ДобавитьМесяц(ДатаДокумента, -1));
КонецПредыдущегоМесяца = КонецМесяца(НачалоПредыдущегоМесяца);

А дальше пишете запрос к данным, которые лежат между этими периодами.

EvgeniyaJ

Цитата: KOI8-R от 17 сен 2019, 11:02
Цитата: EvgeniyaJ от 17 сен 2019, 10:28
Как указать, что нужно считать именно за прошлый месяц сумму?
У вас есть дата документа. Если документ новый, то соответственно - ТекущаяДата().
От этой даты отнимаете месяц:
НачалоПредыдущегоМесяца = НачалоМесяца(ДобавитьМесяц(ДатаДокумента, -1));
КонецПредыдущегоМесяца = КонецМесяца(НачалоПредыдущегоМесяца);

А дальше пишете запрос к данным, которые лежат между этими периодами.

А как составить этот запрос? Чтобы мне считалось по каждому клиенту его сумма за прошлый месяц. То есть при изменении поля "Клиент" у меня должно записываться значение в поле "Объем закупок за прошлый месяц". Я ещё новичок, и не могу разобраться.

alexandr_ll

Цитата: EvgeniyaJ от 17 сен 2019, 11:31
Цитата: KOI8-R от 17 сен 2019, 11:02
Цитата: EvgeniyaJ от 17 сен 2019, 10:28
Как указать, что нужно считать именно за прошлый месяц сумму?
У вас есть дата документа. Если документ новый, то соответственно - ТекущаяДата().
От этой даты отнимаете месяц:
НачалоПредыдущегоМесяца = НачалоМесяца(ДобавитьМесяц(ДатаДокумента, -1));
КонецПредыдущегоМесяца = КонецМесяца(НачалоПредыдущегоМесяца);

А дальше пишете запрос к данным, которые лежат между этими периодами.

А как составить этот запрос? Чтобы мне считалось по каждому клиенту его сумма за прошлый месяц. То есть при изменении поля "Клиент" у меня должно записываться значение в поле "Объем закупок за прошлый месяц". Я ещё новичок, и не могу разобраться.
У вас должен быть соответствующий регистр накопления (например, "Продажи"), из которого запросом получать обороты за нужный период.
https://helpme1c.ru/registry-nakopleniya-v-yazyke-1s-8-v-primerax

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск