8.х Как присоединить две области

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

  1. TopicStarter Overlay
    denzo
    Offline

    denzo

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

    Код:
    ТабДокумент                    = Новый ТабличныйДокумент;
    Макет                          = ПолучитьМакет("Ценник");
    //ОбластьЦенника2                 = Макет.ПолучитьОбласть("Строка|Столбец");
    
    ОбластьЦенника                 = Макет.ПолучитьОбласть("Строка1|Столбец");
    ТекСтолбец = 0;
    ТекСтрока  = 0;
    //ТабДокумент.НачатьГруппуКолонок();
    Для Каждого СтрокаТаблицы Из Товары Цикл
    //Если СтрокаТаблицы.Печать Тогда
    //    Для Тмп = 1 По СтрокаТаблицы.Количество Цикл
    ОбластьЦенника.Параметры.Заполнить(СтрокаТаблицы);
    ОбластьЦенника.Параметры.НаименованиеМакета        = СтрокаТаблицы.НаименованиеТовары.Наименование;
    ОбластьЦенника.Параметры.ШкафМакета                = СтрокаТаблицы.НаименованиеТовары.Шкаф;
    ОбластьЦенника.Параметры.СекцияМакета              = СтрокаТаблицы.НаименованиеТовары.Секция;
    ТабДокумент.Вывести(ОбластьЦенника,1, "Строка1",Истина);
    
    //ТабДокумент.НачатьГруппуСтрок("Строка2",Истина);
    ОбластьЦенника1                  = Макет.ПолучитьОбласть("Строка2|Столбец");
    Для каждого Стр из СтрокаТаблицы.НаименованиеТовары.Содержание цикл
    ОбластьЦенника1.Параметры.Заполнить(Стр);
    ОбластьЦенника1.Параметры.ДатаМакета          = Стр.Дата;
    ОбластьЦенника1.Параметры.ИмяЗаписиМакета     = Стр.НаименованиеЗаписи;
    ТабДокумент.Вывести(ОбластьЦенника1,1, "Строка2",Истина);
    КонецЦикла;
    
    //ТабДокумент.ЗакончитьГруппуСтрок();
    //Область  = ТабДокумент.Область(1,1,2,1);
    
    //Область.Объединить();
    //Область.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;
    
    Если ТекСтолбец = 0 Тогда
    
    ----"Вот здесь загвоздка"///////-
    Какое должно-быть условие здесь, чтобы здесь сформированный столбец прикреплялся справа
    
    ТабДокумент.Вывести(ОбластьЦенника1);
    //    
    Иначе
    //
    ТабДокумент.Присоединить(ОбластьЦенника1);
    
    
    КонецЕсли;
    
    
    ТекСтолбец = ТекСтолбец + 1;
    
    Если ТекСтолбец = 3 Тогда
    ТекСтрока  = ТекСтрока + 1;
    ТекСтолбец = 0;
    КонецЕсли;
    
    Если ТекСтрока = 5 Тогда
    ТекСтрока = 0;
    ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли;
    //КонецЦикла;
    //КонецЦикла; 
    //КонецЕсли;
    КонецЦикла;
    //ТабДокумент.ЗакончитьАвтогруппировкуКолонок();
    
    
    
    ТабДокумент.ТолькоПросмотр = Истина;
    
    Возврат ТабДокумент;
    
    
    
    Смысл должен быть таким Посмотреть вложение 5457


    Получается лишь вот так Посмотреть вложение 5458

    Вот мой макет Посмотреть вложение 5460

    Вложения:

    • форма.JPG
      форма.JPG
      Размер файла:
      34,2 КБ
      Просмотров:
      141
    • макет.JPG
      макет.JPG
      Размер файла:
      26 КБ
      Просмотров:
      112
    • макет3.JPG
      макет3.JPG
      Размер файла:
      18,3 КБ
      Просмотров:
      107
  2. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Вы, видимо, неправильно понимаете назначение метода "Присоединить". Он не добавляет колонку в табличный документ, а присоединяет справа к последней выведенной области таблицу, указанную у него в параметре. Т.е. в Вашем случае целесообразно сначала сформировать весь ценник (область "Строка|Столбец"), а не двумя областями его выводить. Ну, и определять перед выводом какой метод использовать "Вывести" или "Присоединить".

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