Создание кастомных отчетов в типовых конфигурациях 1С — это базовая и одновременно ответственная задача для разработчика. Сегодня мы разберем процесс построения отчета «Поступление на расчетный счет по БухУчету» для конфигурации «Бухгалтерия предприятия 3.0». Мы пройдем путь от выбора источника данных до настройки полей компоновки данных, учитывая специфику бухгалтерских регистров.
Проанализируем задачу. Нам необходимо получить данные о поступлении денежных средств. В 1С:Бухгалтерии все движения по расчетным счетам отражаются на счете 51 «Расчетные счета». Следовательно, основным источником данных для нас будет выступать регистр бухгалтерии Хозрасчетный.
Для построения отчета на СКД наиболее эффективно использовать виртуальные таблицы. Рассмотрим два варианта:
Выясним причину выбора: так как в условии задачи фигурирует поле «Контрагент кор.», нам придется обращаться к корреспонденции счетов. Разберем по шагам создание запроса.
Откроем конструктор схемы компоновки данных и создадим новый набор данных — запрос. Нам потребуется обратиться к таблице Хозрасчетный.Обороты. Выберем следующие поля:
Организация — стандартное измерение регистра.Счет — в параметрах виртуальной таблицы мы укажем фильтр по счету 51.Субконто1 — в типовой БП 3.0 это поле на 51 счете всегда хранит ссылку на справочник БанковскиеСчета.Субконто2 — это поле отвечает за Статьи движения денежных средств (ДДС).СуммаОборотДт — это и есть сумма нашего поступления.Период — дата операции.Регистратор — документ, создавший проводку (например, «Поступление на расчетный счет»).Проанализируем ситуацию с контрагентом. На 51 счете контрагента нет. Он находится в «противоположной» части проводки. Для его получения в запросе СКД мы будем использовать обращение к КорСубконто1 (при условии, что мы используем таблицу ОборотыДтКт). Посмотрим на пример оформления текста запроса:
ВЫБРАТЬ
ХозрасчетныйОборотыДтКт.Период КАК Дата,
ХозрасчетныйОборотыДтКт.Регистратор КАК ДокументОснование,
ХозрасчетныйОборотыДтКт.Организация КАК ОрганизацияБух,
ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК БанковскийСчет,
ХозрасчетныйОборотыДтКт.СубконтоДт2 КАК СтатьяДДС,
ХозрасчетныйОборотыДтКт.Сумма КАК Сумма,
ВЫРАЗИТЬ(ХозрасчетныйОборотыДтКт.КорСубконто1 КАК Справочник.Контрагенты) КАК Контрагент
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, Запись, СчетДт = &Счет51, , , , ) КАК ХозрасчетныйОборотыДтКт
Разберем важный нюанс, упомянутый в обсуждении: в типовой «Бухгалтерии предприятия 3.0» нет встроенного измерения ЦФО (Центр финансовой ответственности). Как нам быть в этой ситуации? Рассмотрим возможные решения:
ПодразделениеДт может выступать в роли ЦФО.В простейшем случае, если заказчик имеет в виду структуру компании, выберем поле ПодразделениеДт и переименуем его в настройках СКД на вкладке «Наборы данных» в «ЦФО».
Перейдем на закладку «Ресурсы». Нам нужно суммировать поле Сумма, чтобы в итогах отчета мы видели общие объемы поступлений. Просто перетащим поле Сумма в правую колонку и назначим функцию Сумма(Сумма).
На закладке «Параметры» убедимся, что:
НачалоПериода и КонецПериода доступны пользователю для редактирования.Счет51 скрыт от пользователя, а в его значении по умолчанию указан предопределенный счет ПланыСчетов.Хозрасчетный.РасчетныеСчета.Рассмотрим подробнее настройки внешнего вида на вкладке «Настройки». Для реализации структуры отчета нам необходимо:
ОрганизацияБух.Контрагенту и Банковскому счету.Дата, ДокументОснование, Контрагент, СтатьяДДС, БанковскийСчет и Сумма.Важный момент при работе с полем «Основание — ДДС»: помните, что статья ДДС является субконто. Если в настройках параметров учета 1С:Бухгалтерии выключено ведение аналитики по статьям движения денежных средств, это поле в отчете всегда будет пустым. Перед формированием отчета проверим настройки программы.
Выясним причину возможных сложностей при использовании платформы версии 8.3.8.1933 (учебная). Данная версия имеет ограничения на объем данных в таблицах. Если ваша база содержит много документов, запрос к виртуальным таблицам может вызывать ошибку. В таком случае рекомендуем максимально сужать период отчета (например, формировать за один день) или использовать отборы прямо в параметрах виртуальной таблицы для уменьшения выборки.
Мы проанализировали структуру регистра бухгалтерии и выяснили, как правильно сопоставить требования заказчика с реальной архитектурой 1С:БП 3.0. Подведем итог:
КорСубконто1).СуммаОборотДт.Используя этот подход, вы сможете создать гибкий и надежный отчет, который будет корректно отображать поступление денежных средств в разрезе аналитики, требуемой для управленческого анализа внутри бухгалтерской системы.