Довідковий матеріал

Зовнішня компонента "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)ТипRWОпис
Порт (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) Рядок + + Властивість використовується в таких випадках:
  1. Під час виклику методу ДрукТП(…) у цій властивості може передаватися штрих-код товару;
  2. Під час виклику методів ДрукПідсумку(…) і ДрукЗнижкиНаТП(…) друкується вміст цього параметра перед результатом виконання цих методів;
  3. Під час формування чека повернення або продажу за допомогою методу ДрукПідсумку(…) у цій властивості можуть передаватися код кредитної картки або код купона залежно від типу платежу;
  4. Під час формування чеків внесення та вилучення перед викликом функції ДрукВнесенняВилучення(…) у параметрі можна передавати текстовий коментар до виконуваної операції.
РядокПісляТП (PostLine) Рядок + + Властивість використовується в таких випадках:
  1. Під час виклику методу ДрукТП(…) у цій властивості передається тип товару, «1»-дробовий(ваговий) і «0»-цілий(звичайний, не ваговий);
  2. Під час виклику методів ДрукПідсумку(…), ДрукЗнижкиНаТП(…) друкується вміст цього параметра після результату виконання цих методів;
  3. Під час формування будь-якого чека повернення або продажу за допомогою методу ДрукПідсумку(…) у цій властивості можуть передаватися найменування кредитної картки або найменування купона залежно від типу платежу.
ЗмінаВідкрита (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-драйвер автоматично зчитає з реєстру таблицю податкових ставок. Усередині ФР податкові ставки очищаються лише під час закриття зміни.
ПРИМІТКА
Властивості та методи також описані в довідковій системі елемента керування

Приклади роботи із зовнішньою компонентою

  1. Підключення зовнішньої компоненти
    Змін Драйвер;
    Спроба
    	ПрогІД="addIn.OPOS.FiscalPrinter";
    	ПідключитиЗовнішнюКомпоненту(ПрогІД);
    	Драйвер= Новий (ПрогІД);
    Виняток
    	Результат=мПомилкаЗавантаженняДрайвера;
    КінецьСпроби;
    Якщо Результат=мНемаєПомилки Тоді
    	Драйвер.Порт=<Порт>;
    	Драйвер.Швидкість=<Швидкість>;
    КінецьЯкщо;
    
  2. Підключення та відключення ФР
    Драйвер.Відкрити("MbsFiscalPrinter");
    Драйвер.ПристрійАктивний= Істина/Хибність; // (під час підключення/відключення) 
    Драйвер.Закрити();
    
  3. Відкриття та закриття чека
    Драйвер.ПочатокФіскальногоЧека(Істина);
    Драйвер.КінецьФіскальногоЧека(Істина);
    
  4. Друк деяких позицій
    Драйвер.ДрукТП(
    ""
    ,<Сума>,<Кількість>,<НомерПС>,<Ціна>,
    ""
    );
    Драйвер.ДрукВнесенняВилучення(<Сума>);
    Драйвер.ДрукПідсумку(<ПідсумковаСума>,<ПідсумковаСума>,
     ""
    );
    
Записатися телефоном