7.7 Вывод из ТЗ

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Margo, 4 окт 2013.

  1. TopicStarter Overlay
    Margo
    Offline

    Margo

    Регистрация:
    31 май 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Всем привет!
    Что то совсем запарилась с выводом из таблицы значений, помогите.
    Код:
     ТЗ = СоздатьОбъект("ТаблицаЗначений"); 
    
    ВыгрузитьТабличнуюЧасть(ТЗ);
    ТЗ.НоваяКолонка("Марка");
    ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку() = 1 Цикл
    ТЗ.Марка = ТЗ.НомерПутевогоЛиста.Транспорт.Марка;
    Марка = ТЗ.Марка;
    ТЗ.Свернуть("Марка","Машина,Пробег,Вес,ТарифЗаКм,ТарифЗаЧас");		
    Таб.ВывестиСекцию("Группа");
    //Если Марка = 1 Тогда
    //// Машина = ТЗ.Машина;
    Таб.ВывестиСекцию("Строка");
    //  Иначе
    //	    Продолжить;
    //КонецЕсли;
    
    КонецЦикла; 
    суть в том чтоб из табличной части выгружалась в макет группировка и подстроки к данной группировки в секцию строка. Группировка Марка выводится а строка нет, как вывести чтроку?
  2. Herby
    Offline

    Herby Опытный в 1С

    Регистрация:
    21 фев 2013
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    строка у вас выводится - Таб.ВывестиСекцию("Строка");

    проблема, я так понимаю, в том что секция "Строка" выводится с пустыми данными?
  3. TopicStarter Overlay
    Margo
    Offline

    Margo

    Регистрация:
    31 май 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    или с пустыми или вообще не выводится, в зависимости от того куда поставить Таб.ВывестиСекцию("Строка")

    должно быть так :
    марка
    Машина Пробег,Вес,ТарифЗаКм,ТарифЗаЧас
    марка2
    Машина,Пробег,Вес,ТарифЗаКм,ТарифЗаЧасМарка 2
    а сейчас видно только марку, и строка выводится пустая
  4. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    412
    Симпатии:
    72
    Баллы:
    54
    Здравствуйте.
    Не пробовали сделать печать без сворачивания таблицы? А секцию "Группа" выводить при смене текущей марки.
  5. TopicStarter Overlay
    Margo
    Offline

    Margo

    Регистрация:
    31 май 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    нет, не пробовала, я уже и тз делала и запросом, и что то никак, а пример можете показать как это реализовать?
  6. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    412
    Симпатии:
    72
    Баллы:
    54
    Я бы сделала так:

    Код:
    ТЗ = СоздатьОбъект("ТаблицаЗначений");
    ВыгрузитьТабличнуюЧасть(ТЗ);
    ТЗ.НоваяКолонка("Марка");
    ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку() = 1 Цикл
    ТЗ.Марка = ТЗ.НомерПутевогоЛиста.Транспорт.Марка;
    КонецЦикла;
    ТЗ.Сортировать("Марка");
    Марка = "";
    ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку() = 1 Цикл
    Если ТЗ.Марка <> Марка Тогда
    Марка = ТЗ.Марка;
    Таб.ВывестиСекцию("Группа");
    КонецЕсли;
    Таб.ВывестиСекцию("Строка");
    КонецЦикла;
    Код не проверяла.
  7. TopicStarter Overlay
    Margo
    Offline

    Margo

    Регистрация:
    31 май 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    сделала все почти так же, все выводится, огромное спасибо
  8. TopicStarter Overlay
    Margo
    Offline

    Margo

    Регистрация:
    31 май 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    а как можно сделать итоги по марке с использованием этого кода?
  9. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    412
    Симпатии:
    72
    Баллы:
    54
    Код:
    ТЗ = СоздатьОбъект("ТаблицаЗначений");
    ВыгрузитьТабличнуюЧасть(ТЗ);
    ТЗ.НоваяКолонка("Марка");
    ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку() = 1 Цикл
    ТЗ.Марка = ТЗ.НомерПутевогоЛиста.Транспорт.Марка;
    КонецЦикла;
    ТЗ.Сортировать("Марка");
    Марка = "";
    Сум = 0;
    Нач = 1;
    ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку() = 1 Цикл
    Если ТЗ.Марка <> Марка Тогда
    Если Нач = 0 Тогда
    ВывестиСекцию("Итог");
    Сум = 0;
    Иначе
    Нач = 0;
    КонецЕсли;
    Марка = ТЗ.Марка;
    Таб.ВывестиСекцию("Группа");
    КонецЕсли;
    Таб.ВывестиСекцию("Строка");
    Сум = Сум + ТЗ.Вес; //колонка суммирования
    КонецЦикла;
    ВывестиСекцию("Итог");

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