Работа с платформой 1С:Предприятие 7.7 требует специфических знаний, особенно если перед вами стоит задача создания собственного отчета для анализа оборотов по нескольким счетам, таким как Касса и Контрагенты. Давайте разберем этот процесс по шагам, чтобы вы могли самостоятельно сформировать нужную отчетность, даже если в штате нет программиста.
Все изменения в структуре базы 1С:Предприятие 7.7 происходят в режиме Конфигуратор. Важно помнить, что любые манипуляции с конфигурацией требуют осторожности. Чтобы не нарушить работу основной конфигурации, которую поддерживает ваш главный бухгалтер, мы рекомендуем создавать Внешний отчет.
Конфигуратор.Файл -> Новый -> Внешний отчет.ОтчетПоСчетам.ert.Работая с внешним файлом, вы можете свободно проводить любые эксперименты, не опасаясь за сохранность данных основной базы.
Сердцем любого отчета в 1С 7.7 является объект Запрос. Именно с помощью запроса мы будем «вытаскивать» данные из проводок. Рассмотрим, как построить логику получения суммы по двум счетам.
Для начала работы с запросом в модуле отчета необходимо инициализировать объект:
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Счет = Регистр.ЖурналПроводок.Счет;
|Сумма = Регистр.ЖурналПроводок.Сумма;
|Функция СуммаКонОст = КонОст(Сумма);
|Группировка Счет;
|Условие(Счет В СписокСчетов);
|//}}ЗАПРОС
;
Разберем подробнее, что здесь происходит. Мы обращаемся к регистру ЖурналПроводок, который хранит все данные о движениях по счетам. Функция КонОст позволяет рассчитать итоговое сальдо, а Условие фильтрует данные только по тем счетам, которые нам интересны.
Чтобы отчет брал данные именно по «Кассе» и «Контрагентам», нам нужно передать в запрос список этих счетов. В коде это реализуется через объект СписокЗначений:
СписокСчетов = СоздатьОбъект("СписокЗначений");
// Находим счета в плане счетов (укажите коды ваших счетов)
СписокСчетов.ДобавитьЗначение(СчетПоКоду("50.1"));
СписокСчетов.ДобавитьЗначение(СчетПоКоду("60.1"));
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат; // Запрос не выполнен
КонецЕсли;
Использование метода СчетПоКоду — это самый надежный способ найти нужный счет в плане счетов, так как коды счетов в 1С 7.7 обычно фиксированы.
После того как запрос выполнен и данные собраны в объекте Запрос, нам нужно вывести их в табличную форму, чтобы отчет можно было увидеть на экране или распечатать. Для этого используется объект Таблица.
Рассмотрим пример цикла обхода результата запроса:
Таб = СоздатьОбъект("Таблица");
Таб.ВывестиСекцию("Шапка");
Пока Запрос.Группировка(1) = 1 Цикл
Таб.ВывестиСекцию("Строка");
КонецЦикла;
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("Отчет по счетам", "");
В этом блоке мы создаем объект Таблица, выводим секцию заголовка, а затем в цикле Пока перебираем все счета, которые попали в выборку, выводя соответствующие строки. Метод Показать открывает готовый отчет пользователю.
Работа с 1С 7.7 требует внимательности к деталям. Вот несколько рекомендаций, которые помогут избежать ошибок:
Счет.Субконто.Период с ДатаНач по ДатаКон), иначе отчет может формироваться слишком долго, выгружая данные за всю историю базы.Следуя этим шагам, вы сможете создать гибкий и удобный отчет, который удовлетворит потребности вашего учета. Главное — последовательно изучать возможности конфигуратора, так как 1С 7.7 — это мощный инструмент, который при должном подходе позволяет решать любые задачи отчетности.