Перейти к содержимому

Перейти
Перейти

Процедура для работы с ФР FP3141


  • Закрытая тема Тема закрыта
В теме одно сообщение

#1   Colonel1c

Colonel1c

      Рядовой

    • Пользователи
    • Сообщений: 3
    • Регистрация: 05-June 14

Отправлено 05 June 2014 - 12:52

Используюется стандартный POS драйвер, идущий в комплекте. Тестировалось на последней прошивке. Организована печать товара по 2 ставкам налога: НДС 20% и без НДС.

 

// ===============================
Процедура ПечатьЧека()

Если Итог("СуммаСНДС") > Получено Тогда
Предупреждение("Получена недостаточная сумма!", 10);
Возврат;
КонецЕсли;

FP3141.FiscalReceiptType = 4;

Result = FP3141.BeginFiscalReceipt(1);
КодОшибки = FP3141.ResultCode;


ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл


Налог = 192;

Если (Товар.СтавкаНДС.Получить(ДатаДок) = Перечисление.ЗначенияНДС.безНДС) Тогда
Налог = 192;
Иначе
Налог = 193;
КонецЕсли;


Result = FP3141.PrintRecItem(Товар.Наименование, 0, Количество*1000, Налог, ЦенаСНДС, "");
КодОшибки = FP3141.ResultCode;
Если КодОшибки <> 0 Тогда
Сообщить(FP3141.ErrorString,"!!!");
КонецЕсли;

КонецЦикла;


Если Итог("СуммаСкидки")>0 Тогда
Result = FP3141.PrintRecSubtotalAdjustment(1, 0, Итог("СуммаСкидки"));
КодОшибки = FP3141.ResultCode;
Если КодОшибки <> 0 Тогда
Сообщить(FP3141.ErrorString,"!!!");
КонецЕсли;
КонецЕсли;

Result = FP3141.PrintRecTotal(Итог("СуммаСНДС"), Получено, "0");
КодОшибки = FP3141.ResultCode;
Если КодОшибки <> 0 Тогда
Сообщить(FP3141.ErrorString,"!!!");
КонецЕсли;

FP3141.EndFiscalReceipt(1);
КодОшибки = FP3141.ResultCode;
Если КодОшибки <> 0 Тогда
Сообщить(FP3141.ErrorString,"!!!");
КонецЕсли;

Если РП=1 Тогда
FP3141.PrintDuplicateReceipt();
КонецЕсли;
КонецПроцедуры


  • 0

#2   Colonel1c

Colonel1c

      Рядовой

    • Пользователи
    • Сообщений: 3
    • Регистрация: 05-June 14

Отправлено 05 June 2014 - 12:55

В глобальном модуле добавлено:

 

Перем FP3141 Экспорт; //Переменная для работы с ФР

 

FP3141= CreateObject ("OPOS.FiscalPrinter");

ResultCode = FP3141.Open("FiscPrinter");


Если ResultCode <> 0 then Сообщить("Ошибка создания OPOS.FiscalPrinter");
else Сообщить("Компонента фискального регистратора успешно загружена.") endif;

FP3141.Claim(20);
FP3141.DeviceEnabled = 1;

Если FP3141.ResultCode <> 0 Тогда
Предупреждение(FP3141.ErrorString);
Иначе

Result = FP3141.DirectIO(129, 0, "000000;0;0;;");

Result = FP3141.DirectIO(129, 0, "000000;1;0;" + "Аптека"+";");

Result = FP3141.DirectIO(129, 0, "000000;3;0;;");
КонецЕсли;


  • 0



Похожие темы

  Название темы Автор Статистика Последнее сообщение



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных