Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 15:27

Работа с макетом

Автор 1СЛайт, 03 июн 2020, 22:29

0 Пользователей и 1 гость просматривают эту тему.

1СЛайт

Ребят, помогите реализовать причуды заказчика
сейчас в таблицу заносятся номера документов, с увеличением номера по строке (в таблице должно быть не более 5 столбцов)

1   2   3   4   5
6   7   8   9   10
11  12  13  14  15
16  17  18  19

а нужно чтобы по столбцу по увеличению
1   6   10   14   18
2   7   11   15   19
3   8   12   16
5   9   13   17

ДОкументов может быть несколько  сотен (переменная КолДокПоПапке),
есть переменная КолСтрок  = количество док-в делим на стобцы, получаем максимальное кол-во строк в таблице
не могу правильно выразить в коде: выводить номера в столбец пока в таблице не будет строк =КолСтрок, чтобы запись пошла в следующий столбец
Пока Выборка.Следующий() Цикл
                ОбластьЗначенияТабл.Параметры.Папка = Выборка.Папка;           
                ВыборкаДокументов = Выборка.Выбрать();
                КолСтрок = Выборка.КолДокПоПапке/5;
                //Сообщить (КолСтрок);

                к=0;
                ТабДок.Вывести(ОбластьЗначенияТабл);
                Пока ВыборкаДокументов.Следующий() Цикл
                    ОбластьЗначенияТаблРегНом = ОбъектМакет.ПолучитьОбласть("ЗначенияТаблРегНом|Колонка1");
                    Если ВыборкаДокументов.КолЭкз > 1 Тогда
                        ОбластьЗначенияТаблРегНом.Параметры.РегНомер = ВыборкаДокументов.РегНомер + " " + Формат(ВыборкаДокументов.КолЭкз,"ЧГ=0") + " экз.";
                    Иначе
                        ОбластьЗначенияТаблРегНом.Параметры.РегНомер = ВыборкаДокументов.РегНомер;
                    КонецЕсли; 
                           
                    Если к = 0 Тогда 
                        ТабДок.Вывести(ОбластьЗначенияТаблРегНом);
                        к=1;
                    Иначе
                        ТабДок.Присоединить(ОбластьЗначенияТаблРегНом);
                        к=к+1;
                    КонецЕсли; 
                    Если к=5 Тогда
                        к=0;
                    КонецЕсли;
                КонецЦикла;

LexaK

табдок очень гибкая шутка, в вашем примере, попробуйте не строчками выводить, а именно столбцами
под каждый столбец формируете свой табДок/область, а потом эти 5 областей выводите в общий табДок
попробуйте, если не получится пишите, попробую пример вам написать
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск