Имя: Пароль:
1C
1С v8
печатная форма шапка
0 KonstantinK90
 
04.08.15
19:54
Добрый вечер! Прошу помощи! Есть печатная форма нужно из табчасти вывести в шапку значения как стороку
    Макет = ПолучитьМакет("Макет1");
    
    ОбластьСтрокаДокумент = Макет.ПолучитьОбласть("СтрокаДокумент");
    ОбластьИтогоДокумент = Макет.ПолучитьОбласть("ИтогоДокумент");
    ОбластьШапкаНоменклатура = Макет.ПолучитьОбласть("ШапкаНоменклатура");
    ОбластьСтрокаНоменклатура = Макет.ПолучитьОбласть("СтрокаНоменклатура");
    ОбластьИтогоНоменклатура = Макет.ПолучитьОбласть("ИтогоНоменклатура");
    ОбластьЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
    
    СписокМаршрутов = Новый СписокЗначений;
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьЗаголовок.Параметры.ДатаНач = Формат(ДатаНач, "ДФ=dd.MM.yy") + ?(ДатаНач <> ДатаКон, " - " + Формат(ДатаКон, "ДФ=dd.MM.yy"), "");
    
    ОбластьЗаголовок.Параметры.Маршрут =  Строка.Маршрут + строка.маршрут;
    ТабДок.Вывести(ОбластьЗаголовок);

    
    ТабДок.Вывести(ОбластьЗаголовокТаблицы);
    
    НомерПоПорядку = 1;
    Сумма = 0;
    Вес   = 0;
    Для каждого Строка ИЗ Маршруты Цикл
        Если Не Строка.Пометка Тогда
            Продолжить;
        КонецЕсли;
        маршрут_ = Строка.Маршрут;
        
        Запрос = Новый Запрос("ВЫБРАТЬ
                              |    РеализацияТоваровУслуг.Ссылка,
                              |    РеализацияТоваровУслуг.Контрагент,
                              |    РеализацияТоваровУслуг.СуммаДокумента КАК Сумма,
                              |    ЕСТЬNULL(ТЧТовары.Вес, 0) КАК Вес
                              |ИЗ
                              |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
                              |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
                              |            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                              |                РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
                              |                СУММА(РеализацияТоваровУслугТовары.Количество * РеализацияТоваровУслугТовары.Коэффициент) КАК Вес
                              |            ИЗ
                              |                Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
                              |            
                              |            СГРУППИРОВАТЬ ПО
                              |                РеализацияТоваровУслугТовары.Ссылка) КАК ТЧТовары
                              |            ПО РеализацияТоваровУслуг.Ссылка = ТЧТовары.Ссылка
                              |        ПО ЗначенияСвойствОбъектов.Объект = РеализацияТоваровУслуг.Контрагент
                              |ГДЕ
                              |    ЗначенияСвойствОбъектов.Свойство = &Свойство
                              |    И ЗначенияСвойствОбъектов.Значение = &Значение
                              |    И РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон
                              |    И РеализацияТоваровУслуг.Проведен = ИСТИНА
                              |    И РеализацияТоваровУслуг.ПометкаУдаления = ЛОЖЬ
                              |
                              |УПОРЯДОЧИТЬ ПО
                              |    РеализацияТоваровУслуг.Дата,
                              |    РеализацияТоваровУслуг.Номер");
        Запрос.УстановитьПараметр("Свойство", ТипСвойства);
        Запрос.УстановитьПараметр("Значение", Строка.Маршрут);
        Запрос.УстановитьПараметр("ДатаНач", НачалоДня(ДатаНач));
        Запрос.УстановитьПараметр("ДатаКон", КонецДня(ДатаКон));
        ТЗ = Запрос.Выполнить().Выгрузить();
1 KonstantinK90
 
04.08.15
19:55
как из табчасти вытащить значения что бы получилось вот так
ОбластьЗаголовок.Параметры.Маршрут =  Строка.Маршрут + строка.маршрут;
2 KonstantinK90
 
04.08.15
20:06
как пройти по циклу и добавлять в шапку
3 Fedor-1971
 
04.08.15
20:09
(0) Код проверь:
вот это:   ОбластьЗаголовок.Параметры.Маршрут =  Строка.Маршрут + строка.маршрут;
неплохо бы поместить после:     Для каждого Строка ИЗ Маршруты Цикл

И "Строка" не лучшее название для переменной, назови хотя бы локСтрока
4 Fedor-1971
 
04.08.15
20:11
3+ по сути алгоритма, создай строковую переменную обойди свою ТЧ заполняя переменную, потом. после цикла один раз заполни параметр макета.
  Так будет логичнее.
5 KonstantinK90
 
04.08.15
20:18
пишу вот так
Для каждого Строка ИЗ Маршруты Цикл
        ПеремСтрока =  ПеремСтрока + Строка.Маршрут.Ссылка.Наименование ;
6 KonstantinK90
 
04.08.15
20:18
Преобразование значения к типу Число не может быть выполнено
        ПеремСтрока =  ПеремСтрока + Строка.Маршрут.Ссылка.Наименование ;
7 ДенисЧ
 
04.08.15
20:20
На заявление по собственному в связи с некомпетентностью твоих талантов хватит?
8 Fedor-1971
 
04.08.15
20:24
ПеремСтрока = "";
Для каждого Строка ИЗ Маршруты Цикл
ПеремСтрока =  ПеремСтрока +Строка.Маршрут.Ссылка.Наименование ;

Как-то слабовато по алгоритмизации. Подтяни общие знания, потом будешь изменять конфигурации
9 KonstantinK90
 
04.08.15
20:32
спасибо! И так над этим работаю