7.7 отчёт 1С справочник контрагентов

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем ApB, 13 ноя 2009.

  1. TopicStarter Overlay
    ApB
    Offline

    ApB

    Регистрация:
    21 сен 2009
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Бодрого времени суток :unsure:

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

    А вопрос вот в чём:
    1) как проверить принадлежность значения справочника контрагентов к типу группы, подгруппы или просто контрагента?
    2) Принадлежность конрагента к той или иной группе и вывод этих значений для последующей записи их отдельными столбцами?
    3) Как грамотно вывести всё это дело с учётом группы, подгруппы в табличный документ, так как цель - перевести данные в 8.2 посредством экспорта через табличный документ. Пока до иного варианта мне недопетрить. :(


    Спасибо
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Для фильтрации используйте условие в запросе

    Код:
    Условие (Контрагенты в МойВыборГруппы);
    
    

Поделиться этой страницей