Имя: Пароль:
1C
1С v8
Метод присоединить
,
0 selvador
 
05.03.13
13:55
Пока ВыборкаРЛ.Следующий() Цикл
           Если ВыборкаРЛ.ВидНачисления.ВидНачисления   <> Перечисления.лирсиВидНачисленийИВыплат.Выплата   И
                ВыборкаРЛ.ВидНачисления.ВидНачисления   <> Перечисления.лирсиВидНачисленийИВыплат.Удержание Тогда
                Область1.Параметры.Параметр1              = ВыборкаРЛ.ВидНачисления;
                Область1.Параметры.Сумма1                 = ВыборкаРЛ.Начислено;
                Область1.Параметры.Период                 = ВыборкаРЛ.Период;
                ТабличныйДокумент.Вывести(Область1);
           КонецЕсли;
       КонецЦикла;
       ВыборкаРЛ.Сбросить();
       
       
       Пока ВыборкаРЛ.Следующий() Цикл
           Если ВыборкаРЛ.ВидНачисления.ВидНачисления      = Перечисления.лирсиВидНачисленийИВыплат.Удержание Тогда                  
                Область2.Параметры.Параметр2               = ВыборкаРЛ.ВидНачисления;
                Область2.Параметры.Сумма2                  = ВыборкаРЛ.Удержано;
                ТабличныйДокумент.Вывести(Область1);
                ТабличныйДокумент.Присоединить(Область2);
           КонецЕсли;
       КонецЦикла;

получается так:

наисление                                  удержание
xxxxxxxxxxxx1
xxxxxxxxxxxx2
xxxxxxxxxxxx3
xxxxxxxxxxxx3                             yyyyyyyyyyy1
xxxxxxxxxxxx3                             yyyyyyyyyyy2

как сделать ,чтобы получилось
наисление                                  удержание
xxxxxxxxxxxx1                              yyyyyyyyyyy1
xxxxxxxxxxxx2                              yyyyyyyyyyy2
xxxxxxxxxxxx3

что-то не могу разобраться как в СП написано.подскажите пожалуйста.
1 RomaH
 
naïve
05.03.13
14:00
сформировать две отдельные области
сначала начислене. потом удержание

вывести начисление
присоединить удержние
2 selvador
 
05.03.13
14:05
можно подробнее, если не сложно?
3 RomaH
 
naïve
05.03.13
14:08
что не понятно?
4 selvador
 
05.03.13
14:08
как сформировать их по отдельности
5 RomaH
 
naïve
05.03.13
14:10
вывести в разные табличные документы
из документов получить области
вывести эти области в третий документ
6 fisher
 
05.03.13
14:11
(4) Присоединять можно только построчно.
Т.е. структуру строки придется просчитывать заранее и выводить сразу обе части.
7 selvador
 
05.03.13
14:12
т.е. у меня уже есть 2 отдельные области "начисление" и "удержание", мне нужно создать еще 1 облать которая будет их оъединять?
8 fisher
 
05.03.13
14:14
(7) Чтобы сформировать строку вида
xxxxxxxxxxxx1                              yyyyyyyyyyy1
Нужно сразу после Вывести(xxxxxxxxxxxx1) делать Присоединить(yyyyyyyyyyy1).
Не получится вывести сначала все xxxxxx, а потом присоединить все yyyyyy
9 Рэйв
 
05.03.13
14:14
сделалай 2 тз  Начмсления и удержания

потом

Для н=0 по КолСтрокВБольшейТЗ-1 Цикл
    //получить строку тз начислений
   //Заполнитьобласть Начисления
   //вывести
   //получить строку тз  удержаний
    //Заполнить Область удержания
   //присоединить
КонецЕсли;

//------
ну и следи когда в меньшей кончатся строки естественно
10 RomaH
 
naïve
05.03.13
14:15
(7) у тебя есть область с одной строкой
надо получить две области содержащие ВСЕ строки соответсвующие
потом с учетом (6)
обход строк в цикле от 1 по максимума из двух
и вывод

вот как пример (но тут выводится тот же ТД справа)
11 RomaH
 
naïve
05.03.13
14:15
Процедура ПродублироватьМакетСправа(ТабличныйДокумент, ПервичныйДокумент, Середина) Экспорт
   
   Для К = 1 По ПервичныйДокумент.ВысотаТаблицы Цикл
       
       СтрокаТД = ПервичныйДокумент.ПолучитьОбласть(К,,К);
       
       ОбластьВывода = ПервичныйДокумент.ПолучитьОбласть(К,1,К,СтрокаТД.ШиринаТаблицы);    
       
       ШиринаСтроки = 0;
       
       Для Н = 1 По СтрокаТД.ШиринаТаблицы Цикл
           Область = ОбластьВывода.Область(1,Н,1,Н);
           ШиринаСтроки = ШиринаСтроки + Область.ШиринаКолонки;
       КонецЦикла;
       
       ШиринаЛевойКолонки = Середина - ШиринаСтроки;
       
       ОбластьЛинииОтреза = СтрокаТД.ПолучитьОбласть("R1C100:R1C101");
       
       ОбластьЛинииОтреза.Область(,1,,1).ШиринаКолонки = ШиринаЛевойКолонки;
       ОбластьЛинииОтреза.Область(,2,,2).ШиринаКолонки = 2.7;
       ОбластьЛинииОтреза.Область(1,2,1,2).ГраницаСлева = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Точечная,1);
       
       ТабличныйДокумент.Вывести(ОбластьВывода);
       
       ТабличныйДокумент.Присоединить(ОбластьЛинииОтреза);
       
       ТабличныйДокумент.Присоединить(ОбластьВывода);
       
   КонецЦикла;
   
КонецПроцедуры
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn