Зовнішня компонента "1C:Фіскальний реєстратор OPOS"
Для роботи "1С:Підприємства" з фіскальними реєстраторами, підключеними через OPOS драйвер "Фіскальний реєстратор "Мебіус" від компанії "Терліс", застосовується зовнішня компонента (ЗК) системи 1С:Підприємство "1С:Фіскальний реєстратор OPOS". Поточна версія ЗК — 8.0.1.1. Основні можливості. Робота із зовнішньою компонентою. Властивості. Приклади роботи із зовнішньою компонентою
Робота із зовнішньою компонентою
Приклади роботи із зовнішньою компонентою
Для роботи "1С:Підприємства" з фіскальними реєстраторами, підключеними через OPOS драйвер "Фіскальний реєстратор "Мебіус" від компанії "Терліс", застосовується зовнішня компонента (ЗК) системи 1С:Підприємство "1С:Фіскальний реєстратор OPOS". Поточна версія ЗК — 8.0.1.1.
Основні можливості
Зовнішня компонента, використовуючи драйвер фіскального реєстратора, дає змогу налаштувати реєстратор, підготувати чек до друку та надрукувати його, а також повертає поточний стан та інформацію про помилки для обробки в 1С:Підприємство. Компонента підтримує стандарт OPOS для типу пристроїв «Фіскальний реєстратор» і може використовуватися для роботи з іншими пристроями, драйвери яких також підтримують стандарт OPOS для типу пристроїв «Фіскальний реєстратор».
Робота із зовнішньою компонентою
ЗК дає змогу зареєструвати касира (відкрити зміну), зняти проміжний підсумок (Х-звіт), закрити зміну (Z-звіт), а також формувати та виводити на друк товарні чеки таких типів:
- чек продажу (простий);
- чек повернення (простий);
- чек ПКО;
- чек РКО;
- чек внесення суми;
- чек вилучення суми;
У чеках продажу (простий) і повернення (простий) відображається така інформація:
- товарні позиції з цілою та дробовою (ваговий товар) кількістю;
- ціна за одиницю товару;
- сума товарної позиції без знижок/націнок;
- найменування товару;
- знижки або націнки на товар;
- проміжний підсумок з урахуванням знижки/націнки;
- загальна кількість позицій товарів у чеку (для цілої кількості товару одна позиція дорівнює одній одиниці товару, для дробового (вагового) товару одна позиція дорівнює одному найменуванню товару)
- підсумкова сума;
- тип оплати (готівковий та/або безготівковий);
- решта;
Властивості
| Назва (alias) | Тип | R | W | Опис |
|---|---|---|---|---|
| Порт (Port) | Число | + | + | Один із параметрів налаштування послідовного порту (номер COM-порту). |
| Швидкість (Speed) | Число | + | + | Один із параметрів налаштування послідовного порту (швидкість передавання даних). |
| Результат (ResultCode) | Число | + | - | Властивість містить код результату останньої операції. |
| ДодРезультат (ResultCodeExtended) | Число | + | - | Властивість містить розширений код результату останньої операції. |
| ПристрійЗайнято (ClaimedDevice) | Число | + | - | Властивість містить ознаку монопольного використання пристрою. |
| ПристрійУвімкнено (DeviceEnabled) | Число | + | + | Властивість, що вказує на використання пристрою. Має бути встановлена в «Істина»(1) після зайняття пристрою та в «Хибність»(0) перед звільненням. |
| ОписКонтролОб’єкта (ControlObjectDescription) | Рядок | + | - | Властивість містить опис керуючого об’єкта (Control Object - CO) (об’єкт верхнього рівня в архітектурі OPOS). |
| ВерсіяКонтролОб’єкта (ControlObjectVersion) | Число | + | - | Властивість містить версію OPOS, яку підтримує керуючий об’єкт. |
| ОписСервісОб’єкта (ServiceObjectDescription) | Рядок | + | - | Властивість містить опис виконуваного об’єкта (Service Object - SO) (об’єкт нижнього рівня архітектури OPOS). |
| ВерсіяСервісОб’єкта (ServiceObjectVersion) | Число | + | - | Властивість містить версію OPOS, яку підтримує виконуваний об’єкт. |
| Ім’яПристрою (DeviceName) | Рядок | + | - | Властивість містить рядок, що ідентифікує пристрій. Цей рядок встановлюється в момент відкриття пристрою. |
| ОписПристрою (DeviceDescription) | Рядок | + | + | Властивість містить текстовий опис пристрою, який може бути змінений користувачем. |
| НомерФіскальноїЗміни (RemainingFiscalMemory) | Число | + | - | Номер зміни, що зберігається в пам’яті реєстратора (збільшується на 1 під час чергового відкриття зміни). |
| ТипФіскальногоЧека (FiscalReceiptType) | Число | + | + | Властивість, у якій встановлюється тип чека. Необхідно встановити до виклику методу ПочатокФіскальногоЧека(…). |
| ПоложенняЦіновоїДесКоми (amountDecimalPlaces) | Число | + | - | Властивість містить вказівку на спосіб передавання грошових сум. 0 - для передавання суми копійок відводиться лише ціла частина, воно відповідає значенням від 0 до 2147483647.00 і збігається з реально передаваними в цьому полі даними від 0 до 2147483647 копійок; 2 - для передавання суми копійок відводиться не лише ціла частина, а й два розряди після коми від 0 до 21474836.47, воно відповідає значенням копійок від 0 до 2147483647. |
| ПоложенняКількДесКоми (QuantityDecimalPlaces) | Число | + | - | Властивість містить вказівку на спосіб передавання кількості. 0 - у кількості все відводиться лише для цілої частини товару; 3 - у кількості передається ціла частина товару та ще три розряди під дробове значення. Примітка: якщо після виклику методу Управління(8, ПозиціяКомиЗаЗамовчуванням, "") змінна ПозиціяКомиЗаЗамовчуванням = 1, то кількість товару передається як за значення властивості, що дорівнює 0. |
| РядокПередТП (PreLine) | Рядок | + | + | Властивість використовується в таких випадках:
|
| РядокПісляТП (PostLine) | Рядок | + | + | Властивість використовується в таких випадках:
|
| ЗмінаВідкрита (DayOpened) | Булеве | + | - | Показує реальний стан зміни. |
| СтанПринтера (PrinterState) | Число | + | - | Властивість містить код поточного стану пристрою. |
| СтанЖивлення (PowerState) | Число | + | - | Властивість містить поточний стан живлення пристрою. |
Методи
| Назва (alias) | Параметри | Повертане значення | Опис |
|---|---|---|---|
| Відкрити (Open) | Ім’яПристрою (Рядок, що відповідає імені пристрою) | Результат у форматі OPOS | Відкрити пристрій. |
| Закрити (Close) | - | Результат у форматі OPOS | Метод завершує роботу з пристроєм. |
| ЗайнятиПристрій (ClaimDevice) | Тайм-аут (Число, максимальний час очікування) | Результат у форматі OPOS | Метод здійснює спробу отримання монопольного доступу до пристрою (пристрій має бути відкритий). |
| ЗвільнитиПристрій (ReleaseDevice) | - | Результат у форматі OPOS | Метод звільняє пристрій (метод виконує дії, протилежні «ЗайнятиПристрій»). |
| Управління (DirectIO) | Команда (Число, код команди), ЧислПарам (Число, числовий параметр), РядкПарам (Рядок, рядковий параметр) | Результат у форматі OPOS | Загальний метод OPOS. Використовується для взаємодії із сервіс-об’єктом безпосередньо. |
| ДрукЗвітуБезГасіння (XReport) |
- | Результат у форматі OPOS | Друк Х-звіту. |
| ДрукЗвітуЗГасінням (ZReport) |
- | Результат у форматі OPOS | Друк Z-звіту. |
| ПочатокФіскальногоЧека (BeginFiscalReceipt) |
ДрукЗаголовка (Булеве) | Результат у форматі OPOS | Відкриває фіскальний чек (зміна має бути відкрита). |
| КінецьФіскальногоЧека (EndFiscalReceipt) |
ДрукЗаголовка (Булеве) | Результат у форматі OPOS | Завершення фіскального чека (якщо друк чека не було завершено, відбудеться скидання чека). |
| ДрукВнесенняВилучення (PrintRecCash) |
Сума (Число, сума, що вноситься, вигляд відповідно до параметра ПоложенняЦіновоїДесКоми) | Результат у форматі OPOS | Друк у чеку рядка внесення або вилучення суми (чек має бути відкритий, необхідно вказати тип чека). |
| ДрукТП (PrintRecItem) |
Найменування (Рядок, найменування товару з можливим зазначенням одиниць вимірювання кількості) Сума (Число, вигляд відповідно до параметра ПоложенняЦіновоїДесКоми, без знижок/націнок) Кількість (Число, вигляд відповідно до параметра ПоложенняКількДесКоми) ПодатковаСтавка () Ціна (Число, вигляд відповідно до параметра ПоложенняЦіновоїДесКоми) РядкПараметр (Рядок, не використовується, передавати порожній рядок) |
Результат у форматі OPOS | Друк товарної позиції у чеку (чек має бути відкритий). |
| ДрукЗнижкиНаТП (PrintRecItemadjustment) |
ТипЗнижки (Число, визначає, який тип знижки друкується: знижка/націнка, відсоткова/абсолютна) Опис (Рядок, інф. рядок, виводиться після друку знижки) Знижка (Число, відсоткова або абсолютна) ПодатковаСтавка (Число, індекс у таблиці ПС) |
Результат у форматі OPOS | Друк знижки на товарну позицію (викликається після ДрукТП(…)). |
| АнулюватиЧек (PrintRecVoid) |
РядкПараметр (Рядок, не використовується, передавати порожній рядок) | Результат у форматі OPOS | Скидання чека. |
| ДрукПідсумку (PrintRecSubtotal) |
Сума (Число, сума проміжного підсумку з урахуванням усіх знижок/націнок) | Результат у форматі OPOS | Метод призначений для формування проміжного підсумку в чеках продажу та повернення. |
| ДрукПідсумку (PrintRecTotal) |
ПідсумковаСума (Число, вигляд відповідно до параметра ПоложенняЦіновоїДесКоми, сума з урахуванням усіх знижок) Оплата (Число, вигляд відповідно до параметра ПоложенняЦіновоїДесКоми) РядкПараметр (Рядок, передається або лише тип чека, або тип чека та тип платежу, а код кредитної картки або код купона та найменування кредитної картки або купона передаються в цьому ж параметрі після другого символу, але між кодом і найменуванням має бути текстовий роздільник "-/-") |
Результат у форматі OPOS | Метод призначений для формування підсумку в чеках (обов’язковий виклик наприкінці будь-якого чека перед закриттям чека). |
| РеєстраціяКасира (SetPOSID) |
НомерКаси (Число, може бути від 0 до 2147483647) НомерКасира (Число, має складатися з «XXX-/-N…N», де XXX — це номер касира, рядок від 1 до 255, «-/-» — роздільник, N…N — рядок імені касира завдовжки до 23 символів) |
Результат у форматі OPOS | Реєстрація нового касира (якщо зміна відкрита, то просто відбувається зміна касира, в іншому разі спочатку відбувається відкриття зміни). |
| ВстановитиПС (SetVatValue) |
ІндексПС (Число) ЗначенняПС (Число) |
Результат у форматі OPOS | Цю команду необхідно викликати після відкриття та перед першим чеком продажу, щоб таблиця податкових ставок була сформована до початку продажів. Властивість ЗмінаВідкрита не впливає. ІндексПС – від 1 до 15, податкова ставка 0 завжди має ЗначенняПС = 0 (використовується для продажу неоподатковуваного товару); ЗначенняПС – від 0(0.0%) до 999(99.9%) |
| ЗаповнитиТаблицюПС (SetVatTable) |
- | Результат у форматі OPOS | Під час виклику цього методу відбувається збереження таблиці податкових ставок у реєстрі в параметрі VatTable, щоб не ініціалізувати її повторно після виходу з програми. Під час наступного запуску OPOS-драйвер автоматично зчитає з реєстру таблицю податкових ставок. Усередині ФР податкові ставки очищаються лише під час закриття зміни. |
| ПРИМІТКА Властивості та методи також описані в довідковій системі елемента керування |
Приклади роботи із зовнішньою компонентою
- Підключення зовнішньої компоненти
Змін Драйвер; Спроба ПрогІД="addIn.OPOS.FiscalPrinter"; ПідключитиЗовнішнюКомпоненту(ПрогІД); Драйвер= Новий (ПрогІД); Виняток Результат=мПомилкаЗавантаженняДрайвера; КінецьСпроби; Якщо Результат=мНемаєПомилки Тоді Драйвер.Порт=<Порт>; Драйвер.Швидкість=<Швидкість>; КінецьЯкщо;
- Підключення та відключення ФР
Драйвер.Відкрити("MbsFiscalPrinter"); Драйвер.ПристрійАктивний= Істина/Хибність; // (під час підключення/відключення) Драйвер.Закрити();
- Відкриття та закриття чека
Драйвер.ПочатокФіскальногоЧека(Істина); Драйвер.КінецьФіскальногоЧека(Істина);
- Друк деяких позицій
Драйвер.ДрукТП( "" ,<Сума>,<Кількість>,<НомерПС>,<Ціна>, "" ); Драйвер.ДрукВнесенняВилучення(<Сума>); Драйвер.ДрукПідсумку(<ПідсумковаСума>,<ПідсумковаСума>, "" );