Разбить период по месяцам 1с

Допустим, нам нужно построить отчёт об ожидаемых оплатах от клиентов таким образом, чтобы эти оплаты были сгруппированы по месяцам. Заголовки колонок отчёта должны выглядеть так: "Июль 2017", "Август 2017", "Сентябрь 2017".

В качестве источника данных для отчёта мы используем запрос. Уже в запросе мы получаем данные, сгруппированные по месяцам, с помощью конструкции:

Весь запрос (в несколько сокращённом виде, для наглядности) выглядит так:

На вкладке "Наборы данных" настроим формат поля "ПериодПлатежа":

В колонке "Оформление" зададим формат даты таким образом: ДФ=’ММММ гггг’. Это даст нужное нам отображение месяца, вида "Июль 2017".

Поле "КОплате" мы делаем ресурсом в нашем отчёте, а настройки отчёта выполняем так:

Всё бы хорошо, но при формировании отчёта наблюдаем такую вещь: если в каком-то месяце не ожидаются оплаты клиентов, то этот месяц не попадает в колонки отчёта. То есть, за колонкой "Август 2017" может идти колонка "Октябрь 2017". Чтобы в отчёт попал и "Сентябрь 2017", в котором не ожидается оплат, нужно настроить тип дополнения для группировки "ПериодПлатежа". Делается это в свойствах группировки. Тип дополнения выбираем "Месяц". После этого в отчёт попадут все месяцы по порядку.

Часто перед программистом 1с возникает следующая задача: в запросе требуется взять остатки регистра бухгалтерии или накопления по периодам.

Пример: Есть определенный временной интервал (полгода к примеру) и на начало каждого месяца нужно получить остатки по дебиторской задолженности с разрезами Организация, Контрагент, Договор контрагента.

Казалось бы сделать это внутри запроса несложно: нужно взять виртуальную таблицу ОстаткиИОбороты, выбрать разбивку на нужные периоды и все. Но такой метод не сработает из-за одной неприятной особенности ОстатковИОборотов, в ней не хранятся остатки по периодам для тех позиций, по которым не было оборотов.

Читайте также:  Memory runs at dual channel interleaved

Пример: Контрагент Иванов должен нам 100 рублей на начало года, в январе, феврале и марте его задолженность оставалась неизменной. Берем таблицу Остатки и обороты регистра бухгалтерии Хозрасчетный по счету 62 за первый квартал, в периодичности указываем значение Месяц. Выполняем запрос и получаем следующий результат:

Месяц Нач. остаток Приход Расход Кон. остаток
Январь 100 100
Март 100 100

Как мы видим взялись остатки только крайних периодов, а остатки февраля выпали. Что бы решить данную проблему, остатки на каждый период придется рассчитывать.

Ниже приведен запрос для конфигурации Бухгалтерия 2.0 (он также заработает для Бухгалтерии 3.0 если в запросе заменить регистр РегламентированныйПроизводственныйКалендарь на регистр ДанныеПроизводственногоКалендаря) в котором считаются остатки с разбивкой по месяцам по счету 62.

Разберем приведенный запрос по пакетам:

Здесь мы используя регистр РегламентированныйПроизводственныйКалендарь получаем все нужные нам периоды.
ОстаткиНаНачало

Получаем остатки на начало выбранного периода, а так же если остатков не было, а обороты за весь период были, добавляем нулевые остатки.
ОборотыЗаПериод

Получаем обороты за весь период с разбивкой по месяцам.
РасчетОстатковНаНачало

Сводим в одну таблицу начальный остаток и обороты за каждый месяц для расчета начальных остатков по периодам.
РасчетОстатковНаКонец

Сводим в одну таблицу начальный остаток и обороты за каждый месяц для расчета конечных остатков по периодам.
ОбщиеОстатки

Рассчитываем начальные и конечные остатки по периодам путем прибавления оборотов.

• 1С8 примеры запросов 1С8. » 1С8 пример запроса. Функция ПЕРИОДАМИ().

Пример использования функции ПЕРИОДАМИ( , &Дата1, &Дата2) в запросе 1с.

В консоле запросов это выглядит так:

В конструкторе запросов настройка
". ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&Дата1, &Дата2, День, ДвиженияИГраницыПериода, )
КАК ПартииТоваровНаСкладахОстаткиИОбороты "

выглядит как

Предлагаем решение Ваших задач 1С.

Внедрение 1С:

  • Организуем вам индивидуальное экспресс обучение программам 1С.
  • Мы поможем Вам начать работать с программами 1С.
  • Мы поможем Вам настроить ваши отчеты в 1С.
  • Установим и настроим 1С под ваши задачи.
  • Поможем сделать ввод начальных остатков по складам и контрагентам
  • Перенесем данные из старых систем.
  • Подскажем как избежать ошибок.
Читайте также:  Intel crestline gm gm965

Доработка и сопровождение 1С:

  • Доработаем существующие или создадим новые печатных формы и документы.
  • Разработаем внешние отчеты по Вашим требованиям.
  • Напишем внешние обработоки по загрузке документов из учетных (торговых) систем в бухгалтерию.
  • Разработаем приложения для выгрузки данных на сайты.

Ориентировочная стоимость работ программиста 1С : 500 р. за 1 час работы.

Звоните: 8 916 710 83 51 Ольга

© j008.ru 2014 Обратная связь: j008@j008.ru

Оцените статью
ПК Знаток
Добавить комментарий

Adblock
detector