Вход | Регистрация

1С:Предприятие ::

Метки: 

Метод Присоединить() ?

Я
   Сергей333
 
18.09.17 - 13:13
Всем здравствуйте. Подскажите пожалуйста, есть макет http://s016.radikal.ru/i334/1709/8f/283b43ba0a1b.png

в нем областьУпаковка, а в областиСтрокаТЧ есть параметр Характеристики. Как сделать что бы количество колонок было столько, сколько характеристик?
 
  Рекламное место пустует
   Сергей333
 
1 - 18.09.17 - 13:14
Вроде можно методом Присоединить(), вот только я новичок и с таким не сталкивался. Прошу Вашей помощи.
   Волшебник
 
Модератор
2 - 18.09.17 - 13:15
Откройте Синтакс-помощник и столкнитесь
   Рэйв
 
3 - 18.09.17 - 13:15
>>бы количество колонок было столько, сколько характеристик

Сначала считаешь характиристики, сортируешь и ваыводишь шапку.Потом по тойже сортировке будешь выводить значения в колонки
   mistеr
 
4 - 18.09.17 - 13:16
(1) Залей в другое место, не видно ни фига. Imgur рекомендую.
   aka AMIGO
 
5 - 18.09.17 - 13:17
»
   Сергей333
 
6 - 18.09.17 - 14:48
(2) Смотрел, но к сожалению ничего не пойму. "Присоединяет табличный документ к результирующему табличному документу, помещая его в следующей колонке правее самой правой выведенной колонки, начиная со строки, с которой выводился предыдущий табличный документ".
   Ёпрст
 
7 - 18.09.17 - 15:43
(0)Наслаждайся:

ОбластьЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Наименование");
ОбластьУпаковка = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Упаковка");
ТабДок.Вывести(ОбластьЗаголовокТаблицы);
Для к = 1 По КоличествоХарактеристик Цикл
   ТабДок.Присоединить(ОбластьУпаковка); 
КонецЦикла;

//аналогично, для строк таблицы + заполнение параметров Областей
   Сергей333
 
8 - 19.09.17 - 08:34
(7) Ошибка "КоличествоХарактеристик " переменная не определена.
У меня в макете две разные колонки (параметр) КоличествоЗаказано и Характеристики, может Вам показалось что это одно слово. Или я чет не так сделал?
   Jokerman
 
9 - 19.09.17 - 08:38
Естесственно ..
   Рэйв
 
10 - 19.09.17 - 08:38
(8)
вставь

КоличествоХарактеристик =ТутНадоПосчитатьИх();
 
  Рекламное место пустует
   Сергей333
 
11 - 19.09.17 - 08:47
(10) Так? КоличествоХарактеристик = 10;
   Рэйв
 
12 - 19.09.17 - 08:59
(11)Ну если их у тебя всегда 10, то можно и так как костыль.
Но по нормальному все таки надо их считать программно а не на пальцах.потому что если вдруг характеристик станет не 10, то у тебя все расползется.
   Сергей333
 
13 - 19.09.17 - 09:03
(12) Функция ПечатьПогрузочныйЛист(ИмяМакета)
    
    ТабДок = новый ТабличныйДокумент;
    //Макет = ПолучитьМакет("Печать");

    Макет = ПолучитьМакет("ПогрузочныйЛист");
    
    ОбластьШапки            = Макет.ПолучитьОбласть("Шапка");
    ОбластьСтрокаТЧ         = Макет.ПолучитьОбласть("СтрокаТЧ");
    ОбластьПодвал           = Макет.ПолучитьОбласть("Подвал");
    //ОбластьУпаковка         = Макет.ПолучитьОбласть("Упаковка");

    //ОбластьЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы");

    //ОбластьНаименование     = Макет.ПолучитьОбласть("Наименование");

    
    ОбластьЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Наименование"); 
    ОбластьУпаковка = Макет.ПолучитьОбласть("ЗаголовокТаблицы|Упаковка"); 
    ТабДок.Вывести(ОбластьЗаголовокТаблицы);
    КоличествоХарактеристик = 10;
    Для к = 1 По КоличествоХарактеристик  Цикл
        ТабДок.Присоединить(ОбластьУпаковка); 
    КонецЦикла;    

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

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

            СтрокаТЧ = Макет.ПолучитьОбласть("СтрокаТЧ");
            СтрокаТЧ.Параметры.Номенклатура = ВыборкаНоменклатура.Номенклатура;
            СтрокаТЧ.Параметры.КоличествоЗаказано = ВыборкаНоменклатура.КоличествоЗаказано;
            СтрокаТЧ.Параметры.Характеристики = ВыборкаНоменклатура.ХарактеристикаНоменклатуры;
            ТабДок.Вывести(СтрокаТЧ);                
        КонецЦикла;
        //Подвал

        Подвал = Макет.ПолучитьОбласть("Подвал");
        Подвал.Параметры.Заполнить(ЭтотОбъект);
        Подвал.Параметры.Кладовщик = Ответственный;
        ТабДок.Вывести(Подвал);
    КонецЦикла;

    ТабДок.Показать();
    Возврат 0;
    
КонецФункции

Правильно я вставляю? Ток в макете хрень выходит, ща скрин залью.
   Сергей333
 
14 - 19.09.17 - 09:09
   dezss
 
15 - 19.09.17 - 09:14
(14) при выводе СтрокаТЧ надо делать так же, как и при выводе шапки.
   Рэйв
 
16 - 19.09.17 - 09:15
(13)
Выводишь сначала фиксированную шапку, где название даты и тд

потом в цикле перебираешь характиристики и рисуешь шапку таблицы с названиями колонок.

И только потом перебираешь результат хапроса и выводишь строку, причем  храктеристики должны выводиться динамически ровно в том же порядке как и при формирования шапки таблицы.

Короче если ты этого не понимаешь то объяснять тебе письменно бесполезно. Позови специалиста, пусть тебе один раз покажет.
   Сергей333
 
17 - 19.09.17 - 09:17
(16) Спасибо большое.


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует