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

24.09.13

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

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

Скачать файл

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

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

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

Такого вида:

 

Т.е.  на листе по 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.х Большое разнообразие шаблонов печатных форм. Управляемая форма (Такси) + Обычный режим.

3588 руб.

11.11.2020    50380    63    48    

72

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

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

5 стартмани

09.10.2024    801    3    user2105876    0    

3

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

Решение позволяет в шаблон этикетки с типом "Этикетка (обувь, одежда, табак...)" добавлять штрих-коды другого типа, например, GTIN в Code128.

4000 руб.

09.06.2021    16676    11    11    

15

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

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

2000 руб.

04.11.2019    29705    116    88    

55

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

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

10 стартмани

30.10.2024    720    7    Miket78    4    

6

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

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

1 стартмани

29.10.2024    628    11    independ    1    

7

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

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

1 стартмани

20.06.2024    1616    3    Alexei_Siva    4    

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