Иллюстрированный самоучитель по языку системы 1С:Предприятие

Примеры использования Запросов

Анализ счета

Приводим пример использования запроса для работы с бухгалтерскими операциями и проводками. Запрос обрабатывает корреспонденции счета Сч по счетам КорСч за расчетный период. Значение счета для анализа задается в диалоге установкой ВыбСч.

Процедура АнализСчета()

Перем Запрос, ТекстЗапроса, Таб;

//Создание объекта типа Запрос

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса = "//{{ЗАПРОС(Сформировать)

|Период с ДатаС по ДатаПо;

|Сч = Операция.Счет;

|КорСч = Операция.КорСчет;

|Сумма = Операция.Сумма;

|Группировка Сч упорядочить по Сч.Код;

|Группировка КорСч упорядочить по КорСч.Код;

|Функция КорДо = КорДО(Сумма);

|Функция КорКо = КорКО(Сумма);

|Условие(Сч = ВыбСч);

|"//}}ЗАПРОС

;

// Если ошибка в запросе, то выход из процедуры

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

Возврат;

КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Сформировать");

// Заполнение полей "Заголовок"

Таб.ВывестиСекцию("Заголовок");

Состояние("Заполнение выходной таблицы...");

Пока Запрос.Группировка("Сч") = 1 Цикл

// Заполнение полей Сч

Таб.ВывестиСекцию("Сч");

Пока Запрос.Группировка("КорСч") = 1 Цикл

// Заполнение полей КорСч

Таб.ВывестиСекцию("КорСч");

КонецЦикла;

КонецЦикла;

// Заполнение полей "Итого"

Таб.ВывестиСекцию("Итого");

// Вывод заполненной формы

Таб.Опции(1, 0. 1, 0);

Таб.Показать("Сформировать", "");

КонецПроцедуры
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.