Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как вывести строки таблицы документа в 4-х экзеплярах
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
lolmatrix
Здравствуйте, управляемые формы 1с 8.3.18.1289, подскажите пожалуйста новичку как реализовать вывод 4- х строк из табличной части документа в четырех углах листа четыре этикетки, каждая строка одна этикетка, ничего придумать не получается, посоветуйте как возможно это сделать если возможно,заранее спасибо
Vofka
Если не морочиться с универсальностью, если у вас стабильно 4 этикетки на листе, то рисуете макет с 4 этикетками и заполняете его. Непонятно в чем именно сложность. Обычная печатная форма.
lolmatrix
Vofka @ Вчера, 19:37 необходимо зарегистрироваться для просмотра ссылки ,
Здравствуйте, сложность как вывести именно 2-ю строку на 2-ю этикетку а 3-ю на 3-ю этикетку в цикле они будут идти прост по порядку, не могу придумать как реализовать
и если строк 8 то лист другой

lolmatrix @ Сегодня, 8:42 необходимо зарегистрироваться для просмотра ссылки ,
Спасибо моя основная пробема ис ищу сложные решения там где есть простые решения, так работает, теперь вопрос как реальзовать печать 5-й, 6-й этикетки на другом листе
alexandr_f
lolmatrix @ Сегодня, 9:03 необходимо зарегистрироваться для просмотра ссылки ,
Там есть метод выделения области. Можно напечатать этикетку как выделенную область там где надо
29a
lolmatrix @ Сегодня, 9:03 необходимо зарегистрироваться для просмотра ссылки ,
Что то вроде этого
Инд = 0;
Этикетка1 = "";
Этикетка2 = "";
Этикетка3 = "";
Этикетка4 = "";
Для Каждого Строка Из Таблица Цикл
    Инд = Инд + 1;
    Если Инд = 1 Тогда
        Этикетка1 = Строка.ШК;
    ИначеЕсли Инд = 2 Тогда
        Этикетка2 = Строка.ШК;
    ИначеЕсли Инд = 3 Тогда
        Этикетка3 = Строка.ШК;
    ИначеЕсли Инд = 4 Тогда
        Этикетка4 = Строка.ШК;
        Инд = 0;
        ОбластьМакета.Параметры.Этикетка1 = Этикетка1;
        ОбластьМакета.Параметры.Этикетка2 = Этикетка2;
        ОбластьМакета.Параметры.Этикетка3 = Этикетка3;
        ОбластьМакета.Параметры.Этикетка4 = Этикетка4;
        ТабДокумент.Вывести(ОбластьМакета);
        Этикетка1 = "";
        Этикетка2 = "";
        Этикетка3 = "";
        Этикетка4 = "";
    КонецЕсли;
КонецЦикла;    

Если Инд > 0 Тогда
    ОбластьМакета.Параметры.Этикетка1 = Этикетка1;
    ОбластьМакета.Параметры.Этикетка2 = Этикетка2;
    ОбластьМакета.Параметры.Этикетка3 = Этикетка3;
    ОбластьМакета.Параметры.Этикетка4 = Этикетка4;
    ТабДокумент.Вывести(ОбластьМакета);
КонецЕсли;
lolmatrix
29a @ Сегодня, 10:22 необходимо зарегистрироваться для просмотра ссылки ,
спасибо именно так я и сделал, но вопрос как дальше продолжать если строк больше
29a
lolmatrix @ Сегодня, 13:02 необходимо зарегистрироваться для просмотра ссылки ,
Не совсем понял в чем проблема?
не важно сколько строк в ТЧ, за 4 итерации (строки) производится один вывод в макет, в например при 12 строках в макет выведется 2 раза по 4 значения (строки) и 1 раз после основного цикла 2 значения (строки)
lolmatrix
29a @ Сегодня, 13:31 необходимо зарегистрироваться для просмотра ссылки ,
спасибо, работает, подскажите в какое место в кода вставить ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); чтобы страницы разбивались
29a
lolmatrix @ Сегодня, 14:43 необходимо зарегистрироваться для просмотра ссылки ,
после Инд = 4 после вывода в таб документ
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.