Внешняя обработка 1С 8.3. На макете перенос из левой области в правую при переполнении.

1. jekill71 24.07.18 09:08 Сейчас в теме
Все доброго времени суток. Такой вопрос. Имеется внешняя печатная форма в ней есть несколько областей, в том числе и области "Левая часть" и "Правая часть", в левой и в правой части имеются одинаковые таблицы с одинаковыми переменными. Подскажите пожалуйста что написать что бы Количество строк более половины уже писались в правую часть. Прикладываю макет "НДФЛ 2" именно с ним проблема. Но хочу изучить и понять как это делается...
Прикрепленные файлы:
Найденные решения
2. amaksimov 24.07.18 09:15 Сейчас в теме
Доброго времени суток.
Думаю, что нужно заранее подготовить две коллекции (массива) для левой и правой стороны, короче говоря исходя из количества строк, нужно его поделить на два целочисленно и получится число итоговых строк с двумя колонками, например K.

Потом нужно выводить сразу данные 1-ого элемента в левую область и K+1 в правую,
2ого элемента в левую и K+2 ого в правую
и т.п.

То есть как мне кажется, волшебной таблетки нет, нужно заранее структуры данных подготовить перед выводом табдока.
jekill71; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. amaksimov 24.07.18 09:15 Сейчас в теме
Доброго времени суток.
Думаю, что нужно заранее подготовить две коллекции (массива) для левой и правой стороны, короче говоря исходя из количества строк, нужно его поделить на два целочисленно и получится число итоговых строк с двумя колонками, например K.

Потом нужно выводить сразу данные 1-ого элемента в левую область и K+1 в правую,
2ого элемента в левую и K+2 ого в правую
и т.п.

То есть как мне кажется, волшебной таблетки нет, нужно заранее структуры данных подготовить перед выводом табдока.
jekill71; +1 Ответить
3. jekill71 24.07.18 09:21 Сейчас в теме
(2)
правой
Тоже вот об этом подумал. А вот вопрос я получу массив уже сразу после запроса, где данные получаю? ну то есть вот этйо части кода сделать массивом?
Выбираю - у меня из запроса получаю)
//Лево.Параметры.МесяцНалоговогоПериода = Выбираю.МесяцНалоговогоПериода;
//Лево.Параметры.КодДоходаСтрокой = Выбираю.КодДоходаКод;
//Лево.Параметры.СуммаДохода = Выбираю.СуммаДохода;
//Лево.Параметры.КодВычетаСтрокой = Выбираю.КодВычетаКод;
//Лево.Параметры.СуммаВычета = Выбираю.СуммаВычета;
4. amaksimov 24.07.18 09:27 Сейчас в теме
Там лучше попробовать, если позволяет всё остальное, сделать не выборку, а таблицу значений из запроса.
То есть не

Получаю = Запрос.Выполнить().Выбрать()

а

МояТаблица = Запрос.Выполнить().Выгрузить()

тогда у МояТаблица будет метод Количество(): МояТаблица.Количество()

и возможности обращаться по номеру строки, например, МояТаблица[ии-1] - обращение к ии-ой строке таблицы (нужен сдвиг на одну позицию, т.к. пронумерованы строки в таблице значений с нуля)
jekill71; +1 Ответить
5. jekill71 24.07.18 11:34 Сейчас в теме
Все получилось) Ну точнее пока массив понял..заполнение в процессе
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот