Имя: Пароль:
1C
 
вывод табличного документа программно. вывести и присоединить
0 lamme
 
17.03.20
14:40
Макет вот такой
https://clip2net.com/s/46u1Yo5

В итоге должно получится
- слева табличка - статья ддс/ сумма
- и справа табличка - статья ддс / сумма
---

Слева табличка имеет свое количество строк
Справа - свое.
-------
И тут собственно, туплю..

ОблТелоТаблНаше = Макет .получитьОбласть("ТелоТаблицы|ДляНас");
ОблТелоТаблКлиент = Макет .получитьОбласть("ТелоТаблицы|ДляКлиента");

для каждого Стр из ТаблЧасть цикл
//.. тут заполнение. не интересно
ТабличныйДокумент.Вывести( ОблТелоТаблНаше)
конеццикла;


для каждого Стр из ТаблЧасть цикл
//.. тут заполнение. не интересно
ТабличныйДокумент.Присоединить( ОблТелоТаблКлиент)
конеццикла;


в итоге - хрень.

как правильно вывести 2 таблицы слева/справа  с разным количеством строк в каждой ?
1 FIXXXL
 
17.03.20
14:44
Описание:

Присоединяет табличный документ к результирующему табличному документу, помещая его в следующей колонке правее самой правой выведенной колонки, начиная со строки, с которой выводился предыдущий табличный документ.

начиная со строки, с которой выводился предыдущий табличный документ.
начиная со строки, с которой выводился предыдущий табличный документ.
начиная со строки, с которой выводился предыдущий табличный документ.
2 lamme
 
17.03.20
14:44
это и так понятно.
и ?
3 lamme
 
17.03.20
14:46
для каждого Стр из ТаблЧасть цикл
//.. тут заполнение. не интересно
ТабличныйДокумент.Вывести( ОблТелоТаблНаше)
конеццикла;


для каждого Стр из ТаблЧасть цикл
//.. тут заполнение. не интересно
ТабличныйДокумент.Присоединить( ОблТелоТаблКлиент)
конеццикла;


в такой ситуации сначала выводятся 10 строк одной таблицы
а потом пошли присоединятся (!) 4 строки второй таблицы
т.е. на 10-ой строке идут вправо 4 строки второй таблицы
4 lamme
 
17.03.20
14:47
тут только если
ОблТелоТаблНаше - заполнять как одну строку
те формировать ее где-то ранее и за один раз выводить

тогда вторую таьблицу  - формировать так же - в одну строку все данные с разделителем Символы.ПС - и выводить 1 раз
тогда сработает.

косяк - будет не читабельно (
5 FIXXXL
 
17.03.20
14:47
6 lamme
 
17.03.20
14:55
аээээ..
а в чем логика того кода ?
7 lamme
 
17.03.20
14:59
не понял как пользоваться ..
чего надо то сделать ?
8 ejikbeznojek
 
17.03.20
17:40
(7) Выводи и присоединяй в одном цикле, а не в 2х
9 ejikbeznojek
 
17.03.20
17:44
+(8)
Например:
Если таблички разные
Для сч = 1 по Макс(ЛеваяТабличка.Количество(),ПраваяТабличка.Количество()) цикл
//Проверяем что сч не превышает кол. строк левой таблички, выводим строку левой таблички или пустую строку
//Проверяем что сч не превышает кол. строк правой таблички, присоединяем строку правой таблички


конеццикла
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший