Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 мая 2025, 21:10

Запрос к нескольким документам

Автор eXstyle, 22 апр 2025, 10:53

0 Пользователей и 1 гость просматривают эту тему.

eXstyle

Здравствуйте. Есть 3 документа: электроэнергия, водоснабжение, аренда помещений. В обработке через запрос подтянул только один документ. Подскажите, пожалуйста, как подтянуть все 3, чтобы группировались по контрагенту?
Условно: Док электроэнергия - Контрагент|Сумма
         Док Водоснабжение - Контрагент|Сумма1
         Док Аренда - Контрагент|Сумма3
Процедура Выполнить()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с '01.04.2025' по '30.04.2025';
|Контр = Документ.Электроэнергия.Контрагенты.Наименование;
|Сумма = Документ.Электроэнергия.Сумма;
|Группировка Контр;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Сумма
Таб.ВывестиСекцию("Сумма");
КонецЦикла;
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("таблица", "");
КонецПроцедуры

alexandr_ll

eXstyle, Вот эти документы - они делают какие-то движения по регистрам или бухгалтерским счетам? Тогда делайте запрос не к документам, а к движениям.
Или так
    |Контр = Документ.Электроэнергия.Контрагенты.Наименование,Документ.Водоснабжение.Контрагенты.Наименование,Документ.Аренда.Контрагенты.Наименование;
    |Сумма = Документ.Электроэнергия.Сумма;
    |Сумма1 = Документ.Водоснабжение.Сумма;
    |Сумма2 = Документ.Аренда.Сумма;
    |Группировка Контр;

sali

Цитата: alexandr_ll от 22 апр 2025, 11:06|Контр = Документ.Электроэнергия.Контрагенты.Наименование,Документ.Водоснабжение.Контрагенты.Наименование,Документ.Аренда.Контрагенты.Наименование;     |Сумма = Документ.Электроэнергия.Сумма;
а че так можно что ли запрос писать? в каком случае так пишется??

alexandr_ll

sali, Это для 7.7. Вызовите конструктор запросов. В качестве Переменной запроса "Контрагент" выбирайте последовательно нужные реквизиты документов. Они запишутся через запятую.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск