Вывод области печати разных размеров в этикетках

24.09.13

Задачи пользователя - Этикетки, ценники

Как вывести этикетку (паспорт качества) с разным количеством параметров

Платные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Обработка печать паспортов качества
.epf 18,56Kb
10 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний за 2430 руб. в месяц

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Не знаю, будет ли полезна кому-либо эта статья, но для меня явилось открытием, что не так просто вывести области табличной части в виде этикеток размером, к примеру, в пол-листа, если лист у нас в положении ландшафт.

Такого вида:

 

Т.е.  на листе по 2 штуки в нашем случае(можно 3, 4, ...). Общее количество этикеток произвольное .

Вы скажете - нет ничего проще: используй метод Вывести(), далее Присоединить () , далее опять Вывести() и т.д.

Но не так то все просто:  наша область этикетки состоит не из 1 секции, а из нескольких, причем средняя часть каждый раз может содержать различное количество строк, т.е. выводятся некие параметры, количество которых может меняться.

После того как были прочесаны просторы интернета, удалось найти способ, который подойдет всем.

 

ТабДокумент        = Новый ТабличныйДокумент();
ТабДокумент1      = Новый ТабличныйДокумент();    //            Создаем 2 таблицы
ТекСтолбец = 0;
 
ОбластьШапка = Макет.ПолучитьОбласть("Шапка|Столбец");        // по вертикали необходимо чтобы граница какая-то присутствовала в макете
ОбластьСтрока = Макет.ПолучитьОбласть("Строка|Столбец");      // в данном варианте поле Столбец ограничивает макет по вертикали
ОбластьПараметры = Макет.ПолучитьОбласть("Параметры|Столбец");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал|Столбец");
ОбластьКоличество = Макет.ПолучитьОбласть("Количество|Столбец");
Для Каждого СтрокаТЧ ИзСерии Цикл
                ТабДокумент1.Очистить();                                     //очищать обязательно!!!
                ТабДокумент1.Вывести(ОбластьШапка);
                  Анализы=СтрокаТЧ.Документ.Анализы;
                Для Каждого Индекс Из Анализы Цикл
                ОбластьСтрока.Параметры.РезультатАнализа =Индекс.ЗначениеПоказателя;
                ТабДокумент1.Вывести(ОбластьСтрока);       // вот количество этих строк разное
КонецЦикла;
ТабДокумент1.Вывести(ОбластьПодвал);
Если ТекСтолбец =0 Тогда
ТабДокумент.Вывести(ТабДокумент1.ПолучитьОбласть(1, 1, ТабДокумент1.ВысотаТаблицы,   ТабДокумент1.ШиринаТаблицы));     // Высота таблицы и Ширина рассчитываются системно
        ТекСтолбец = ТекСтолбец + 1;
  Иначе
  ТабДокумент.Присоединить(ТабДокумент1.ПолучитьОбласть(1, 1, ТабДокумент1.ВысотаТаблицы, ТабДокумент1.ШиринаТаблицы));
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
          ТекСтолбец =0;
КонецЕсли;

   

Главная фишка в использовании «ПолучитьОбласть(1, 1, ТабДокумент1.ВысотаТаблицы, ТабДокумент1.ШиринаТаблицы)», без этого чудо-оператора постоянно получалось не то, что нужно, области скакали как им было угодно, то они выводились все на одной странице, то каждый раз выводились с новой. Можно было использовать размеры выводимой области, но это подходит только для макетов, где ты точно знаешь размер выводимой области, в нашем варианте и строки разные, и количество их может отличаться.

Приложена обработка на основании документа Сертификация номенклатуры, потому что проблема возникла именно для печати паспортов качества. Понимаю, что не у всех используется данный документ, но, как говорится, у кого что болит..

Надеюсь, все же кому-то эта статья пригодится.  Когда у меня возникла эта проблема, я рванула на Инфостарт, но, к сожалению, в этом вопросе здесь был пробел. Давайте сделаем сайт Инфостарт без пробелов :)

область печати этикетки паспорт качества

См. также

Этикетки, ценники Пользователь 1С v8.3 1C:Бухгалтерия Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Беларусь Украина Россия Управленческий учет Платные (руб)

Простая в использовании обработка для формирования и печати ценников и этикеток со штрих-кодом, с дополнительной ценой, для 1С8.х Большое разнообразие шаблонов печатных форм. Управляемая форма (Такси) + Обычный режим.

3600 руб.

11.11.2020    51455    65    48    

75

Этикетки, ценники Пользователь 1С v8.3 Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 Платные (руб)

Встроенная в конфигурации Розница 2.3 и УНФ 1.6 подсистема печати ценников по мне слишком неповоротлива и с усилиями поддается тонкой настройке, решил с нуля написать свою универсальную печать ценников для этих конфигураций.

2000 руб.

04.11.2019    30467    117    89    

56

Этикетки, ценники Пользователь 1С v8.3 1С:Розница 2 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Абонемент ($m)

Расширение "Контроль ценников". Позволяет автоматизировать контроль над устаревшими ценниками в магазине при изменении цен на товары. Продавцы или товароведы получают список товаров с измененными ценами для замены ценников в режиме онлайн.

10 стартмани

30.10.2024    1365    16    Miket78    23    

7

Этикетки, ценники Пользователь 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Внешняя обработка для 1С Розница 2.2.ХХХ - 2.3.ХХХ для печати формирования штрихкодов весового товара и печати на принтере термоэтикеток или кассовом аппарате.

1 стартмани

29.10.2024    1341    14    independ    5    

8

Этикетки, ценники Пользователь 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Обработка для печати кодов марок, полученных из системы "Честный знак".

3 стартмани

09.10.2024    1705    21    user2105876    2    

4

Логистика, склад и ТМЦ Этикетки, ценники Пользователь 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Абонемент ($m)

Выводит при печати этикетки складской ячейки в качестве штрихкода адрес ячейки вместо уникального идентификатора

1 стартмани

20.06.2024    2410    7    Alexei_Siva    4    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. makas 44 16.02.15 10:08 Сейчас в теме
Симпатичная форма печатается +
2. masik85 21 19.02.15 09:12 Сейчас в теме
(1) makas, спасибки, хоть кому-то пригодилась :))
Оставьте свое сообщение