Имя: Пароль:
1C
1С v8
Как вывести область под присоединенной в ТабДоке?
0 Boudybuilder
 
10.08.13
23:37
Мучаюсь с печатью ценников со свойствами.
Ценник из двух областей:
1)Шапка (Строка 1|Столбец)
2)Свойства(Строка 1|Столбец).

Вывожу Шапку , под ней вывожу свойства.Дальше присоединяю еще одну Шапку , но как под уже под этой присоединенной справа шапкой выводить область Свойств???
1 andreymongol82
 
10.08.13
23:42
Господя... Вывести. Присоединить. Вывести
2 AS_DANCE
 
10.08.13
23:45
эмм, смотря что хочет ТС
может он хочет выводить под послежней присоединенной областью вывести?
3 Boudybuilder
 
10.08.13
23:48
(2) я же так и описал
4 Boudybuilder
 
10.08.13
23:49
1) Вывел шапку
   Вывел свойства
2) Присоединил шапку
   Под ней надо ее свойства вывести
5 Boudybuilder
 
10.08.13
23:51
Или может можно как то шапку соединить со Свойствами и потом уже выводить или присоединять?
6 Boudybuilder
 
11.08.13
13:56
Решил проблему следующим образом:
Сначала ценник собирается в одном ТабДоке.
Все методом "Вывести".
Вывожу шапку,
Циклом вывожу все свойства,
Вывожу подвал.

Потом это собираю уже на другом табличном документе и вывожу!
Если выводить - то все ценники один под другим ,
Если присоединять - то тоже все в ряд в строку выкладываются,
но если вывести первый , а потом присоединить , то присоединенный будет уже внизу. То есть присоединить за вывести работает не правильно . В чем дело.?

Вот макет https://www.dropbox.com/s/w4ujemsccn1xu3l/Макет%20Ценника.PNG

А вот что получается: https://www.dropbox.com/s/ijczhd01dbf1q6r/Снимок.PNG

ТабДок.Вывести(ТабДок1);        ТабДок.Присоединить(ТабДок1);
ТабДок.Присоединить(ТабДок1);
ТабДок.Присоединить(ТабДок1);
7 Boudybuilder
 
11.08.13
15:42
????
8 hhhh
 
11.08.13
18:06
(7) надо в вывести прямоугольник выводить. А вы наверно бесконечные строки фигачите.
9 Boudybuilder
 
11.08.13
18:40
(8) Скорее всего это так!
Буду проверять. Отпишусь. Вы меня не раз уже выручаете. Спасибо Вам.
10 Boudybuilder
 
12.08.13
03:33
(8)
Переделал области на прямоугольники , но картина не изменилась.

    // Функция формирует табличный документ - печатная форма ценника.
    //
    // Возвращаемое значение:
    //  ТабличныйДокумент - сформированный табличный документ или Неопределено, если есть ошибки.
    //
    Функция ПечатьЦенникаСоСвойствами() Экспорт//Фантич
        
        Если НЕ ЗначениеЗаполнено(Организация) Тогда
            Предупреждение("Не выбрана организация!");
            Возврат Неопределено;
        КонецЕсли;
        
        ТабДок                          = Новый ТабличныйДокумент;
        ТабДок1                         = Новый ТабличныйДокумент;
        ТабДок.ИмяПараметровПечати      = "ПАРАМЕТРЫ_ПЕЧАТИ_Ценник";
        Макет                           = ПолучитьМакет("ЦенникСоСвойствами");
        ОблШапка                        = Макет.ПолучитьОбласть("Шапка");
        ОблСвойств                      = Макет.ПолучитьОбласть("Свойства");
        ОблПодвал                       = Макет.ПолучитьОбласть("Подвал");
        
        ДатаПечати = РабочаяДата;
        
        ТекСтолбец = 0;
        ТекСтрока  = 0;
        
        Для Каждого СтрокаТаблицы Из Товары Цикл
            Если СтрокаТаблицы.Печать Тогда
                Для Тмп = 1 По СтрокаТаблицы.Количество Цикл
                    
                    ТабДок1.Очистить();
                    
                    ОблШапка.Параметры.Заполнить(СтрокаТаблицы);
                    ОблШапка.Параметры.НоменклатураНаименование          = СтрокаТаблицы.Номенклатура.НаименованиеПолное;
                    ОблШапка.Параметры.НоменклатураКод                   = СтрокаТаблицы.Номенклатура.Код;
                    ОблШапка.Параметры.ХарактеристикаНаименование        = СтрокаТаблицы.ХарактеристикаНоменклатуры;
                    ОблПодвал.Параметры.ЕдиницаНаименование              = СтрокаТаблицы.ЕдиницаИзмерения;
                    ОблПодвал.Параметры.Цена                             = ОбщегоНазначения.ФорматСумм(СтрокаТаблицы.Цена, Валюта, "00");
                    ОблШапка.Параметры.ДатаПечати                        = ДатаПечати;
                    ОблШапка.Параметры.ОрганизацияНаименование           = Организация;
                    
                    ТабДок1.Вывести(ОблШапка);
                    
                    ЗП = Новый Запрос;                
                    МВТ = Новый МенеджерВременныхТаблиц;
                    ЗП.МенеджерВременныхТаблиц = МВТ;
                    ЗП.Текст =  "ВЫБРАТЬ
                    |    Свойства.Свойство,
                    |    Свойства.Значение,
                    |    Свойства.Категория
                    |ПОМЕСТИТЬ ВТСвойсва
                    |ИЗ
                    |    &Свойства КАК Свойства
                    |ГДЕ
                    |    Свойства.Печать = ИСТИНА
                    |;
                    |
                    |////////////////////////////////////////////////////////////////////////////////
                    |ВЫБРАТЬ
                    |    Категории.Категория,
                    |    Категории.НомерСтроки
                    |ПОМЕСТИТЬ ВТКатегории
                    |ИЗ
                    |    &Категории КАК Категории
                    |ГДЕ
                    |    Категории.Печать = ИСТИНА
                    |;
                    |
                    |////////////////////////////////////////////////////////////////////////////////
                    |ВЫБРАТЬ
                    |    ВТСвойсва.Свойство КАК Свойство,
                    |    ВТСвойсва.Значение,
                    |    ВТСвойсва.Категория,
                    |    ВТКатегории.НомерСтроки КАК НомерСтроки
                    |ИЗ
                    |    ВТСвойсва КАК ВТСвойсва
                    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКатегории КАК ВТКатегории
                    |        ПО ВТСвойсва.Категория = ВТКатегории.Категория
                    |
                    |УПОРЯДОЧИТЬ ПО
                    |    НомерСтроки,
                    |    Свойство";;
                    ЗП.УстановитьПараметр("Свойства",Свойства.Выгрузить());
                    ЗП.УстановитьПараметр("Категории",Категории.Выгрузить());
                    Рез = ЗП.Выполнить();
                    //
                    Если Не Рез.Пустой() Тогда
                        Выб = Рез.Выбрать();
                        Пока Выб.Следующий() Цикл
                            ОблСвойств.Параметры.Свойство = ""+Выб.Свойство+":";
                            ОблСвойств.Параметры.Значение = Выб.Значение;
                            ТабДок1.Вывести(ОблСвойств);
                        КонецЦикла;
                    КонецЕсли;
                    
                    ТабДок1.Вывести(ОблПодвал);
                    
                    Если ТекСтолбец = 0 Тогда
                        ТабДок.Вывести(ТабДок1);
                    Иначе
                        ТабДок.Присоединить(ТабДок1);
                    КонецЕсли;
                    
                    ТекСтолбец = ТекСтолбец + 1;
                    
                    Если ТекСтолбец = 4 Тогда
                        ТекСтрока  = ТекСтрока + 1;
                        ТекСтолбец = 0;
                    КонецЕсли;
                    
                    Если ТекСтрока = 2 Тогда
                        ТекСтрока = 0;
                        ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
                    КонецЕсли;
                    
                КонецЦикла;
            КонецЕсли;
        КонецЦикла;
        
        ТабДок.ТолькоПросмотр = Истина;
        
        Возврат ТабДок;
        
    КонецФункции // ПечатьЦенника()
11 Boudybuilder
 
12.08.13
10:54
Ладно , предыдущие вопросы решил.
Теперь остался еще один. Наверное последний.

Середина ценника со свойствами может иметь разное количество свойств. Каждое выводится методом Вывести(). Как мне не смотря на это сконструировать эту серединку одинаковой высоты? Да так чтобы получилось все по центру?
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой