Друк штрих-коду в керованому додатку 8

Друк штрих-коду в керованому додатку 8.2

Програмуючи під 8.2, що працює в режимі керованого застосування, я зіткнувся з проблемою друку штрих-коду. Для платформи 8.1 і платформи 8.2 в режимі звичайного застосування такої проблеми не було: встановлюємо елемент «1С: Друк штрих-кодів» в макет і насолоджуємося вертикальними рисками. У режимі керованого застосування вивалюється помилка:

Що ж трапилося?

Справа в тому, що для керованого застосування зовнішні компоненти розробляються за іншою технологією. Приклад зовнішньої компоненти для друку штрих-коду в 8.2 є в демонстраційній конфігурації "Керована додаток" в макетах довідника Товари або в конфігурації «1С: Управління торгівлею» версії 11, макети обробки «Друк етикеток і цінників».

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

Тепер як це зробити.

Всього обробок аж чотири штуки:

Всі вони завантажені в однойменні макети. Функція, що підключає зовнішню компоненту в залежності від платформи може виглядати так:

У коді вище все компоненти завантажені в макети обробки «ПечатьЕтікетокІЦенніков». В принципі ніщо не заважає помістити їх в будь-яке інше місце. Виклик функції здійснюється командою:

Якщо щось не вийшло - повертає не визначено.

Далі опишемо функцію, яка, отримавши дані, сформує потрібну нам картинку з штрихкодом:

У даній функції використовується автовизначення типу штрихкоду командою

Можна тип штрих-коду вказати вручну:

ТіпКода - число від 0 до 15: 0 - EAN8, 1 - EAN13, 2 - EAN128. Ось повний список типів по порядку:

EAN8, EAN13, EAN128, Code39, Code128, Code16k, PDF417, Standart (Industrial) 2 of 5, Interleaved 2 of 5, Розширення Code39, Code93, ITF14, RSS14, CodaBar, EAN13 AddOn 2, EAN13 AddOn 5.

Крім типу штрихкоду, компонента має ряд інших властивостей, наприклад ВнешняяКомпонента.ОтображатьТекст, ВнешняяКомпонента.РазмерШріфта та інші, можна подивитися у властивостях.

Нарешті останнє - висновок штрих-коду. Для цього в макет помістимо картинку з ім'ям «Штрихкод». Отримуємо і виводимо штрихкод в область командою:

Де Штрихкод - змінна, що містить рядок штрихкоду номенклатури, 50 - необхідна ширина, 30 - висота картинки. У макеті розмір картинки найкраще поставити «Реальний розмір».

Зауваження. Відразу впадає в око те, що я вручну вказую розмір необхідної картинки - 50 на 30. Виникає питання, а чи не можна розміри необхідної картинки отримати з картинки на макеті? Звичайно можна:

На жаль, цифри одержувані цими командами чомусь занадто малі. Як отримати реальний видимий розмір картинки я поки не знаю, може хто підкаже?