Добрый вечер. Создал макет печати табличного документа. Ценники располагаются только в один столбик и переносятся потом на следующий лист, а не в новый столбик. Как сделать так, что бы на странице печаталось столько ценников, сколько вмещается (в 3 столбика)?
Команда ТабДок.вывести() добавляет область снизу предыдущей, а команда ТабДок.Присоединить() добавляет область справа от предыдущей.
У тебя везде Табдок.Вывести(), соответственно ценники печатаются в один столбец.
Вот вечно народ что-то нарыл, там сцылки, там тоже сцылки и т.д. Я вот не люблю такую мутотень, но куда деваться, если интересов много, живешь под линухом, а под виндой это вообще никак...
Итак, для того, чтобы вывести шаблон макета в табличный документ справа от текущего, нужно (* вспомнить первый класс школы 1С-негов) использовать метод "Присоединить" табличного документа после метода "Вывести". Тогда выводимая область будет присоединена к уже выведенной справа.
Также стоит проверять, хватит ли места на странице, для этого есть соответствующий метод таличного документа "ПроверитьВывод()", который проверяет, нет ли выхода печатаемого за пределы текущей страницы.
В итоге код для flexy-вывода ценников и этикеток будет примерно таким:
МакетЭтикеткиЦенника = МойМакет.ПолучитьОбласть("ЭтикеткаЦенник");
ТабДокРезультата = Новый ТабличныйДокумент();
ПервыйНах = Истина;
Для каждого Этикеточка ИЗ СписокЭтикеточек Цикл
МакетЭтикеткиЦенника.Параметры.Заполнить( Этикеточка );
Если ПервыйНах ИЛИ НЕ ТабДокРезультата.ПроверитьВывод() Тогда
ТабДокРезультата.Вывести( МакетЭтикеткиЦенника );
ПервыйНах = Ложь;
Иначе
ТабДокРезультата.Присоединить( МакетЭтикеткиЦенника );
КонецЕсли;
КонецЦикла;
Показать
Написал на скорую руку, нигде не проверял, так что отлажтивать - это ваша забота...
ЗЫ: в качестве домашнего задания можете еще и вертикальный вывод проверять, чтобы вставлять разделитель страницы, а не выводить полценника в конце страницы... ЗЫЗЫ:
Метод табличного документа ПроверитьПрисоединение() Метод табличного документа ПроверитьПрисоединение() работает аналогично методу ПроверитьВывод(), с тем отличием, что данный метод проверяет, изменится ли количество страниц по горизонтали при выводе в отчет областей при помощи метода Присоединить().