8.х Нужен пример вывода данных в таб. док.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Alex_Staf, 29 апр 2010.

  1. TopicStarter Overlay
    Alex_Staf
    Offline

    Alex_Staf

    Регистрация:
    8 мар 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Добрый день, если есть у кого, дайте пример или ссылку:
    как вывести данные в табличный документ с возможность сворачивания или разворачивания данных по группировкам.
    Спасибо.
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Вот

    Код:
    Макет = ВнешняяОбработкаОбъект.ПолучитьМакет("Отчет");
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |	ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот,
    |	ПродажиОбороты.Номенклатура КАК Номенклатура
    |ИЗ
    |	РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
    |ИТОГИ
    |	СУММА(СтоимостьОборот)
    |ПО
    |	ОБЩИЕ,
    |	Номенклатура";
    
    Результат = Запрос.Выполнить();
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");
    ОбластьНоменклатура = Макет.ПолучитьОбласть("Номенклатура");
    
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();
    
    ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    ВыборкаОбщийИтог.Следующий();		// Общий итог
    ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
    ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());
    
    ВыборкаНоменклатура = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    Пока ВыборкаНоменклатура.Следующий() Цикл
    ОбластьНоменклатура.Параметры.Заполнить(ВыборкаНоменклатура);
    ТабДок.Вывести(ОбластьНоменклатура, ВыборкаНоменклатура.Уровень());
    КонецЦикла;
    
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);
    
    Что бы была группировка за это отвечает

    Код:
    ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());
    
    А именно Уровень группировки
  3. Доктор Руфус Бейли
    Offline

    Доктор Руфус Бейли Опытный в 1С

    Регистрация:
    7 апр 2010
    Сообщения:
    277
    Симпатии:
    0
    Баллы:
    26
    Наслаждайтесь: конфигурация у меня нетиповая, но смысл, думаю, будет понятен.

    Хм, чуток запоздал.

    Вложения:

  4. TopicStarter Overlay
    Alex_Staf
    Offline

    Alex_Staf

    Регистрация:
    8 мар 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Хочу вывести в табличный документ справочник товаров.
    Подскажите что не так делаю:

    Код:
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Очистить();
    ТабДок.НачатьАвтогруппировкуСтрок();
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Группа", Группа);
    Запрос.Текст = "
    |ВЫБРАТЬ
    |Товар.Ссылка КАК Товар
    |ИЗ Справочник.Товары КАК Товар
    |ГДЕ 
    |Товар.Родитель В ИЕРАРХИИ(&Группа)";
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Макет = ПолучитьМакет("Товар");
    ОбластьСправочникТоваров = Макет.ПолучитьОбласть("СправочникТоваров");
    Пока Выборка.Следующий() Цикл
    ОбластьСправочникТоваров.Параметры.Заполнить(Выборка);
    ТабДок.Вывести(ОбластьСправочникТоваров,Выборка.Уровень());
    КонецЦикла;
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Показать();
    
  5. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Так а в чем проблема?
    Показывайте макет (а лучше обработку прикрепляйте), и что вы хотите получить в итоге.
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    проблема в том что у вас в запросе нет никаких группировок и итогов....по этому у вас у всех строк один уровень. у вас запрос просто возвращает таблицу и все

    для такй задачи можно использовать и
    Код:
    Товары = Справочники.Номенклатура;
    ВыборкаСправочника = Товары.ВыбратьИерархически();
    
    Про ВыбратьИерархически() можете в синтаксис помошнике почитать
  7. TopicStarter Overlay
    Alex_Staf
    Offline

    Alex_Staf

    Регистрация:
    8 мар 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Обработку выложил.
    Про ВыбратьИерархически() посмотрю, спасибо.

    Вложения:

  8. TopicStarter Overlay
    Alex_Staf
    Offline

    Alex_Staf

    Регистрация:
    8 мар 2010
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Хочу получить структуру справочника в табличном документе:

    Группа1
    Группа2
    товар1
    товар2
    товар3
    товарN
    Группа3
    товар1
    товар2
    товар3
    товарN
    Группа4
    Группа5
    Группа6
    товар1
    товар2
    товар3
    товарN
  9. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Вот Глянь тема с твоей схожа.Почему Через конструктор не хочешь сделать?

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