Callback
  • Від місця на ринку до магазину

  • -

  • Від магазину до торговельної мережі

  • -

  • Від торгівлі до виробництва

Ціна друкується лише на першій етикетці: виправлення помилок накладання в FastReport

Володимир Витищенко
Володимир Витищенко

Експерт з автоматизації торгівлі у Торгсофт

Друк ціни та назви товару лише на першій етикетці: причини ситуації та покрокове налаштування шаблону у FastReport

У процесі оприбуткування нового товару, фасування або під час переоцінки підприємці регулярно здійснюють масовий друк етикеток для маркування вітрини чи товарних залишків. Цей режим необхідний для швидкого створення цінників на всю партію товару одночасно. Під час роботи з шаблонами підприємці часто ставлять фахівцям служби технічної підтримки Торгсофт такі питання: «Чому ціна відображається лише на першому ціннику з надрукованої партії?», «З якої причини назва товару та найменування магазину присутні на першій етикетці, а на другій і всіх наступних відсутні?», «Як налаштувати шаблон, щоб уся інформація коректно виводилася на кожен надрукований екземпляр?».

Базові поняття та актуальний стан питання

Для створення та друку етикеток, цінників і чеків у системі Торгсофт використовується інтегрований редактор FastReport. Робота в цьому редакторі базується на використанні спеціальних шаблонів та системних полів (бендів).

  • Шаблон етикетки — це файл, який містить інформацію про те, де і в якому вигляді мають розташовуватися дані про товар (штрихкод, назва, ціна, артикул) на паперовому носії.

  • Текстовий об'єкт (Text Object) — елемент шаблону, який містить змінні бази даних, наприклад, [Етикетка."Ціна"] або [Етикетка."Назва товару"].

  • MasterData (Дані 1 рівня) — ключовий системний елемент (бенд) у FastReport, який відповідає за циклічне виведення даних. Візуально в редакторі він зазвичай виділений жовтим кольором. Уся інформація, яка стосується конкретної одиниці товару, повинна знаходитися строго в межах цього бенду.

Основна суть: причинно-наслідкові зв'язки ситуації

Ситуація, коли інформація (ціна, назва товару, назва магазину) виводиться на друк лише на першому примірнику етикетки, а всі наступні етикетки в партії друкуються напівпорожніми, має чітке технічне пояснення.

Причина полягає у фізичному виході текстових об'єктів за межі системного поля MasterData у редакторі FastReport.

Причинно-наслідкові зв'язки ситуації

Якщо під час самостійного редагування шаблону користувач збільшив шрифт, розтягнув текстове поле з ціною або назвою товару так, що його рамки перетнули нижню чи верхню межу жовтого поля MasterData, генератор звітів FastReport обробляє це специфічним чином.

 Наслідок: під час формування першої етикетки програма зчитує всі об'єкти, які хоча б частково торкаються початкового циклу. Проте під час переходу до генерації другої, третьої та наступних етикеток (наступних циклів бенду MasterData), об'єкт, який «виліз» за межі свого блоку, ігнорується системою, оскільки його координати вже не відповідають активному циклу генерації даних.

Практичний приклад. Підприємець вирішив зробити ціну на ціннику більшою і розтягнув текстовий прямокутник [Етикетка."Ціна"] вниз. Нижня межа прямокутника вийшла за межі жовтого фону MasterData. При відправленні на друк 10 цінників, перший цінник вийде ідеальним, а на наступних дев'яти буде присутній штрихкод, але ціни не буде.

Покрокове керівництво з налаштування шаблону

Для того, щоб інформація виводилася на всі етикетки з партії, необхідно привести шаблон у відповідність до правил редактора FastReport.

  1. Відкриття шаблону на редагування. Зайдіть у пункт меню Налаштування -> Налаштування друку бирок (або Налаштування шаблонів друку). Оберіть потрібний шаблон і натисніть кнопку Змінити.

  2. Запуск FastReport. У відкритому вікні натисніть кнопку Налаштування, після чого запуститься вікно генератора звітів FastReport із візуальним відображенням вашої етикетки.

  3. Ідентифікація поля MasterData. Знайдіть на екрані горизонтальну смугу (бенд) з написом MasterData. Простір під цією смугою (зазвичай жовтого кольору) — це робоча область вашої етикетки.

  4. Перевірка меж об'єктів. Уважно огляньте всі текстові об'єкти (ціна, назва, штрихкод). Знайдіть ті, рамки яких виходять за нижню межу жовтого поля MasterData або накладаються на інші бенди.

  5. Коригування об'єктів. Виділіть проблемний об'єкт мишею. За допомогою маркерів по краях об'єкта зменшіть його висоту або ширину так, щоб він повністю, не торкаючись країв, знаходився всередині жовтого поля MasterData.

  6. Збереження результату. Натисніть кнопку збереження (іконка дискети) у верхньому лівому куті FastReport та закрийте редактор. Зробіть тестовий масовий друк.

Відповіді на часті питання підприємців

? Програма Торгсофт першу етикетку видає з назвою товару, а наступні - ні. Чи пов'язано це зі збоєм у самій програмі або базі даних?

Проблем зі сторони самої програми Торгсофт або бази даних у даному випадку немає. Це виключно питання форматування візуального шаблону. База даних коректно передає інформацію у FastReport, але через те, що поле з назвою товару «залазить» за межі системного поля MasterData, генератор звітів припиняє виводити цю змінну починаючи з другої етикетки.

? На першому ціннику відображається ціна та назва магазину, на послідуючих - ні. Чому зникає саме ця інформація, а штрихкод залишається?

Штрихкод залишається, оскільки його графічні межі розташовані коректно всередині жовтого бенду. Назва магазину та ціна зникають виключно тому, що під час попереднього редагування ці конкретні поля були розтягнуті або зміщені так, що перетнули межі MasterData. Рішення полягає у поверненні рамок цих полів у допустимі межі.

? Що робити, якщо довга назва товару фізично не поміщається у відведені межі прямокутника, і через це доводиться розтягувати його за рамки MasterData?

Розтягувати поле за межі бенду не можна. Щоб довгий текст коректно відображався і не зникав на наступних етикетках, необхідно виділити текстовий об'єкт у FastReport та налаштувати його властивості. Зменшіть розмір шрифту тексту, або в інспекторі об'єктів для цього поля налаштуйте властивість StretchMode (Режим розтягування), обравши значення smActualHeight (Фактична висота) або smMaxHeight (Максимальна висота). Також переконайтеся, що активовано властивість WordWrap (Перенесення за словами), щоб текст автоматично переносився на новий рядок у межах існуючого поля.


Програма обліку товару | Торгсофт



Facebook Instagram YouTube Twitter Google News Apple Podcast SounCloud

Додати коментар

Додати коментар
Дякуємо за ваш відгук! Він буде опублікований після перевірки модератором.

Схожі статті