Как создать отчет в 1С 7.7, объединяющий данные из разных счетов?

Программист 1С v7.7 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

Работа с платформой 1С:Предприятие 7.7 требует специфических знаний, особенно если перед вами стоит задача создания собственного отчета для анализа оборотов по нескольким счетам, таким как Касса и Контрагенты. Давайте разберем этот процесс по шагам, чтобы вы могли самостоятельно сформировать нужную отчетность, даже если в штате нет программиста.

Подготовка рабочей среды: Конфигуратор

Все изменения в структуре базы 1С:Предприятие 7.7 происходят в режиме Конфигуратор. Важно помнить, что любые манипуляции с конфигурацией требуют осторожности. Чтобы не нарушить работу основной конфигурации, которую поддерживает ваш главный бухгалтер, мы рекомендуем создавать Внешний отчет.

  1. Откройте 1С в режиме Конфигуратор.
  2. Перейдите в меню Файл -> Новый -> Внешний отчет.
  3. Сохраните файл под понятным именем, например, ОтчетПоСчетам.ert.

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

Использование объекта Запрос

Сердцем любого отчета в 1С 7.7 является объект Запрос. Именно с помощью запроса мы будем «вытаскивать» данные из проводок. Рассмотрим, как построить логику получения суммы по двум счетам.

Для начала работы с запросом в модуле отчета необходимо инициализировать объект:


Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = 
"//{{ЗАПРОС(Сформировать)
|Счет = Регистр.ЖурналПроводок.Счет;
|Сумма = Регистр.ЖурналПроводок.Сумма;
|Функция СуммаКонОст = КонОст(Сумма);
|Группировка Счет;
|Условие(Счет В СписокСчетов);
|//}}ЗАПРОС
;

Разберем подробнее, что здесь происходит. Мы обращаемся к регистру ЖурналПроводок, который хранит все данные о движениях по счетам. Функция КонОст позволяет рассчитать итоговое сальдо, а Условие фильтрует данные только по тем счетам, которые нам интересны.

Настройка фильтрации по счетам

Чтобы отчет брал данные именно по «Кассе» и «Контрагентам», нам нужно передать в запрос список этих счетов. В коде это реализуется через объект СписокЗначений:


СписокСчетов = СоздатьОбъект("СписокЗначений");
// Находим счета в плане счетов (укажите коды ваших счетов)
СписокСчетов.ДобавитьЗначение(СчетПоКоду("50.1")); 
СписокСчетов.ДобавитьЗначение(СчетПоКоду("60.1"));

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

Использование метода СчетПоКоду — это самый надежный способ найти нужный счет в плане счетов, так как коды счетов в 1С 7.7 обычно фиксированы.

Вывод данных в печатную форму

После того как запрос выполнен и данные собраны в объекте Запрос, нам нужно вывести их в табличную форму, чтобы отчет можно было увидеть на экране или распечатать. Для этого используется объект Таблица.

Рассмотрим пример цикла обхода результата запроса:


Таб = СоздатьОбъект("Таблица");
Таб.ВывестиСекцию("Шапка");
Пока Запрос.Группировка(1) = 1 Цикл
    Таб.ВывестиСекцию("Строка");
КонецЦикла;
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("Отчет по счетам", "");

В этом блоке мы создаем объект Таблица, выводим секцию заголовка, а затем в цикле Пока перебираем все счета, которые попали в выборку, выводя соответствующие строки. Метод Показать открывает готовый отчет пользователю.

Советы по безопасности и отладке

Работа с 1С 7.7 требует внимательности к деталям. Вот несколько рекомендаций, которые помогут избежать ошибок:

Следуя этим шагам, вы сможете создать гибкий и удобный отчет, который удовлетворит потребности вашего учета. Главное — последовательно изучать возможности конфигуратора, так как 1С 7.7 — это мощный инструмент, который при должном подходе позволяет решать любые задачи отчетности.

← На главную