Печать в строчку

1. user1698931 06.12.21 19:49 Сейчас в теме
Добрый вечер. Создал макет печати табличного документа. Ценники располагаются только в один столбик и переносятся потом на следующий лист, а не в новый столбик. Как сделать так, что бы на странице печаталось столько ценников, сколько вмещается (в 3 столбика)?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ishelper 06.12.21 21:09 Сейчас в теме
3. grumpi 07.12.21 09:23 Сейчас в теме
Команда ТабДок.вывести() добавляет область снизу предыдущей, а команда ТабДок.Присоединить() добавляет область справа от предыдущей.
У тебя везде Табдок.Вывести(), соответственно ценники печатаются в один столбец.
4. starik-2005 3094 07.12.21 09:26 Сейчас в теме
Вот вечно народ что-то нарыл, там сцылки, там тоже сцылки и т.д. Я вот не люблю такую мутотень, но куда деваться, если интересов много, живешь под линухом, а под виндой это вообще никак...


Итак, для того, чтобы вывести шаблон макета в табличный документ справа от текущего, нужно (* вспомнить первый класс школы 1С-негов) использовать метод "Присоединить" табличного документа после метода "Вывести". Тогда выводимая область будет присоединена к уже выведенной справа.

Также стоит проверять, хватит ли места на странице, для этого есть соответствующий метод таличного документа "ПроверитьВывод()", который проверяет, нет ли выхода печатаемого за пределы текущей страницы.

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

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