РБ-Софт

Содержание

Клиент Сервера ККМ. Использование дополнительных методов и свойств расширения RbsoftExtension.

< Назад

Начало работы.

Клиентская часть представляет собой несколько внешних компонент для 1с, реализованных по технологии COM. COM объекты реализуют интерфейсы ФР, ККТ,  ККТ с передачей данных в ОФД, согласно требований к разработке драйверов подключаемого оборудования, Расширения от РБ-Софт. В документе описаны методы и свойства РБ-Софт. Все методы доступны при подключении внешних компонент как ФР и ККТ (Addin.RBsoftPrintServiceV3, Addin.RBsoftPrintServiceKKTV3)

Подключение внешней компоненты.

Пример функции подключения внешней компоненты:

Функция ПолучитьОбъектДрайвера (progIdКомпонентыКлиенскойЧастиСервераККМ,АдресСервераККМ,ПортСервераККМ,ИмяУстройстваНаСервереККМ)
ПодключитьВнешнююКомпоненту(progIdКомпонентыКлиенскойЧастиСервераККМ);
ОбъектДрайвера = Новый (progIdКомпонентыКлиенскойЧастиСервераККМ);

ОбъектДрайвера.Адрес = АдресСервераККМ;

ОбъектДрайвера.Порт = ПортСервераККМ;
ОбъектДрайвера.ИдентификаторУстройства=ИмяУстройстваНаСервереККМ;
Результат = ОбъектДрайвера.Инициализация();

Если Не Результат Тогда   
    ПолучитьОписаниеОшибки(ОбъектДрайвера);
    Возврат Неопределено;
КонецЕсли;  
Возврат  ОбъектДрайвера;   
КонецФункции

Открыть смену.

Методы

ОткрытьСмену105.

bool ОткрытьСмену105(string ИмяУстройства, string Кассир, string ИННКассира, out int НомерДокумента, out int НомерСессии)

Метод открывает смену. В качестве параметров задаются: ИмяУстройства (Имя ККМ, указанное в Сервер ККМ.), Кассир (ФИО кассира). ИннКассира (ИНН кассира), НомерСессии (Возвращаемый параметр. Возвращает номер открытой смены), НомерДокумента (Возвращаемый параметр. Номер фискального документа).

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ОткрытьСмену105stringИмя ККМ, указанное в Сервер ККМ)bool true – успешно, false – завершен с ошбкой.
 stringФИО кассира
 stringИНН кассира
 out intвозвращаемый параметр, возвращает номер открытой смены
 out intвозвращаемый параметр, номер фискального документа

Пример использования:

Процедура ОткрытьСмену()
	ОчиститьСообщения();	
	НомерДокумента = 0;
	НомерСессии = 0;
	Кассир ="Иванов И.И.";
	ИННКассира="";
	ИмяУстройства ="Atol";	
	Результат = ГлОбъектДрайвера.ОткрытьСмену105(ИмяУстройства, Кассир, ИннКассира, НомерДокумента, НомерСессии);
	Если Не Результат Тогда   
		ПолучитьОписаниеОшибки(ГлОбъектДрайвера);
		Возврат;
	КонецЕсли;
	Сообщить("Номер документа "+НомерДокумента + " Номер смены "+ НомерСессии);
КонецПроцедуры
Процедура ПолучитьОписаниеОшибки(ОбъектДрайвера)
	КодОшибки = 0;
	ОписаниеОшибки = "";
	КодОшибки=ОбъектДрайвера.ПолучитьОшибку(ОписаниеОшибки);
	СообщениеОшибки = "Код = "+КодОшибки+", описание "+   ОписаниеОшибки;
	Сообщить(СообщениеОшибки  );
КонецПроцедуры

Закрыть смену.

Закрыть смену можно двумя способами, используя метод НапечататьОтчетСГашением и метод РаспечататьОтчет.

Методы

НапечататьОтчетСГашением

bool НапечататьОтчетБезГашения(string ИмяУстройства)

Метода закрывает смену. В качестве параметров задается: ИмяУстройства (Имя ККМ, указанное в Сервер ККМ).

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
НапечататьОтчетБезГашенияstringИмя ККМ, указанное в Сервер ККМbool true – успешно, false – завершен с ошбкой.
Процедура ЗакрытьСмену()
	ОчиститьСообщения();	
	ИмяУстройства ="Atol";	
	
Результат = ГлОбъектДрайвера.НапечататьОтчетСГашением(ИмяУстройства);
	Если Результат Тогда
		Сообщить("Смена закрыта");
		Возврат;
	Иначе 
		ПолучитьОписаниеОшибки(ГлОбъектДрайвера);
КонецЕсли;	
КонецПроцедуры

РаспечататьОтчет

Отчет РаспечататьОтчет(Отчет отчет)

Метода печатает отчеты. В качестве параметров задается типа отчета.

0 — Х отчет,

1 — Z отчет,

2 — отчет по кассирам,

3 — отчет по секциям,

42 — отчет  о текущем состоянии расчетов

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
РаспечататьОтчет ОтчетЗадается ТипОтчетаОтчетtrue – успешно.

Описание типа Отчет

ИмяТипОписание
Терминал stringЗадает или получает имя компьютера на котором сформирован документ
ИдентификаторstringЗадает или получает идентификатор документа в формате GUID
ИмяКассыstringЗадает или получает имя устройства как на Сервере ККМ
КодОшибкиintПолучает код ошибки печати
ОписаниеОшибкиstringПолучает описание ошибки печати
КассирstringФИО кассира
ИннКассираstringИНН кассира
ВерсияКлиентаstringВерсия клиента (Внешней компоненты)
ТипОтчетаint0 — Х отчет, 1 — Z отчет, 2 — отчет по кассирам, 3 — отчет по секциям, 42 — отчет  о текущем состоянии расчетов
НомерЧекаintПолучает номер фискального документа после печат
НомерСменыintПолучает номер смены после печати
ФискальныйПризнакstringПолучает фискальный признак после печати
Процедура ЗакрытьСмену()
	ОчиститьСообщения();	
	
отчет = ГлОбъектДрайвера.СоздатьОтчет();
	
	отчет.Кассир = Кассир;    
	отчет.ИннКассира = ИннКассира;
           отчет.ИмяКассы = "Atol";  
	отчет.ТипОтчета  = 1;
	Результат = ГлОбъектДрайвера.РаспечататьОтчет(отчет);
	Если Результат.КодОшибки <>0 ТОгда
		Сообщить("Ошибка "+Результат.КодОшибки+" Описание "+Результат.ОписаниеОшибки);
		Возврат;
	КонецЕсли ;
	
	Сообщить("Чек номер = "+	Результат.НомерЧека);
	Сообщить("Чек смены = "+	Результат.НомерСмены);
	Сообщить("Фискальный признак = "+Результат.ФискальныйПризнак );
КонецПроцедуры

X-Отчет.

Печать отчета без гашения. Печать производится методом РаспечататьОтчет.

Печать Чека.

Печать Чека. Для печати чека необходимо создать объект чек (метод СоздатьЧек()), инициализировать его свойства данными и отправить на печать(Метод РаспечататьЧек).

Описание типа Чек.

ИмяТипОписание
Терминал stringЗадает или получает имя компьютера на котором сформирован документ
ИдентификаторstringЗадает или получает идентификатор документа в формате GUID
ИмяКассыstringЗадает или получает имя устройства как на Сервере ККМ
НомерЧекаintПолучает номер фискального документа после печат
НомерСменыintПолучает номер смены после печати
КодОшибкиintПолучает код ошибки печати
ОписаниеОшибкиstringПолучает описание ошибки печати
ФискальныйПризнакstringПолучает фискальный признак после печати
КассирstringФИО кассира
ИннКассираstringИНН кассира
ВерсияКлиентаstringВерсия клиента (Внешней компаненты)
ТипЧекаintПолучает или задает тип чека. ОтменаЧека = 0, Продажа = 1, Возврат = 2, Аннулирование = 3, Покупка = 4, ВозвратПокупки = 5, АннулированиеПокупки = 6, ЧекКоррекцииПрихода = 7,  ЧекКоррекцииВозвратаПрихода = 8, ЧекКоррекцииРасхода = 9, ЧекКоррекцииВозвратаРасхода = 10, ВСчетСотрудника = 11,        Any = 100
ПокупательstringПокупатель (клиент) — наименование организации или фамилия, имя, отчество (при наличии), серия и номер паспорта покупателя (клиента).
ИННПокупателяstringИНН организации или покупателя (клиента)
ПарольКассираstringЗадает пароль кассира
ФискальныйboolФискальный документ или нет
ЭлектронныйboolTrue – Чек электронный, false – нет.
Электронный77int1 – Чек электронный, 0 — нет
ТипНалогообложенияint0 — Общая 1 — Упрощенная Доход 2 — Упрощенная Доход минус Расход 3 — Единый налог на вмененный доход 4 — Единый сельскохозяйственный налог 5 — Патентная система налогообложения  
КонтактstringЗадает телефон или email покупателя
ПризнакАгентаint0-Банковский платежный агент 1-Банковский платежный субагент 2-Платежный агент 3-Платежный субагент 4-Поверенный 5-Комиссионер 6-Агент
Позиция ПозицияФискальная позиция. Перед обращением необходимо использовать метод СоздатьПозицию() или СоздатьПозицию77()
Агент АгентДанные агента
Поставщик ПоставщикДанные поставщика

Описание типа Позиция.

ИмяТипОписание
НаименованиеstringНаименование позиции
Фискальнаяbooltrue – позиция фискальная, false – не фискальная позиция
Фискальная77int1 – позиция фискальная, 0 – не фискальная позиция
КоличествоintКоличество товара
ЦенаdoubleЦена
СуммаdoubleСумма
ОтделintОтдел, по которому ведется продажа
НДСint-1 – БЕЗ НДС, 0 – НДС 0, 10 – НДС 10, 18 – НДС 18, 20 – НДС 20, 110 – НДС 10/110 118 –НДС 18/118
ПризнакСпособаРасчетаintПризнак способа расчета 0 — Не применяется, 1 — Предоплата полная, 2 – Предоплата частичная, 3 — Аванс, 4 – Полный расчет, 5 – частичный расчет и кредит, 6 – Передача в кредит 7 – Оплата кредита,
ПризнакПредметаРасчетаintПризнаки предмета расчета 0 – Не применяется. 1 — Товар 2 — Подакцизный товар 3 — Работа 4 — Услуга 5 — Ставка азартной игры 6 — Выигрыш азартной игры 7 — Лотерейный билет 8 — Выигрыш лотереи 9 — Предоставление результатов интеллектуальной деятельности 10 — Платеж, выплата 11 — Агентское вознаграждение 12 — Составной предмет расчета 13 — Иной предмет расчета 14 — Имущественное право 15 — Внереализационный доход 16 — Страховые взносы 17 — Торговый сбор 18 — Курортный сбор 19 — Залог 20 — Расход 21 – Взносы на обязательное пенсионное страхование ИП 22 — Взносы на обязательное пенсионное страхование 23 – Взносы на обязательное медицинское страхование ИП 24 – Взносы на обязательное медицинское страхование 25 – Взносы на обязательное социальное страхование 26 – Платеж Казино
СтранаstringЦифровой код страны происхождения товара в соответствии с Общероссийским классификатором стран мира
ТДекларацияstringРегистрационный номер таможенной декларации
СуммаАкцизаdoubleСумма акциза с учетом копеек, включенная в стоимость предмета расчета
КодМаркировкиstringКод контрольной марки.
Кодируется текстом в кодировке Base64.
ГТИНstringГлобальный идентификатор торговой единицы (GTIN)
СерийныйНомерstringСерийный номер
ПризнакАгентаintПризнак агента по позиции.
АгентАгентДанные агента
ПоставщикПоставщикДанные поставщика

Описание типа Агент

ИмяТипОписание
ОперацияПлатежногоАгентаstringОперация платежного агента
ТелефонПлатежногоАгентаstringТелефон платежного агента.
ТелефонОператораПоПриемуПлатежейstringТелефон оператора по приему платежа.
ОператорПерводаstringНаименование оператора по переводу.
АдресОператораПереводаstringАдрес оператора по переводу.
ИННОператораПереводаstringИНН оператора перевода.

Описание типа Поставщик

ИмяТипОписание
ТелефонПоставщикаstringТелефон поставщика.
НаименованиеПоставщикаstringНаименование поставщика.
ИННПоставщикаstringИНН поставщика.

Методы

СоздатьЧек.

Чек СоздатьЧек()

Метод создает и возвращает объект Чек.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
СоздатьЧек  ЧекОбъект типа Чек.

РаспечататьЧек

Чек РаспечататьЧек()

Метод создает и возвращает объект Чек.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
РаспечататьЧек  ЧекОбъект типа Чек.

Чек.ДобавитьВНачало

void ДобавитьВНачало(string Текст)

Метод добавляет строку текста перед фискальными позициями в первую позицию.

Имя
Имя методапараметрыВозвращаемое значение
ТипОписаниеТипОписание
ДобавитьВНачалоТекстstringТекст. 

Чек.ДобавитьПередЧеком

void ДобавитьПередЧеком(string Текст)

Метод добавляет строку текста перед фискальными позициями чека

Имя методапараметрыВозвращаемое значение
 ИмяТипОписаниеИмяТипОписание
ДобавитьПередЧекомТекстstringТекст.   

Чек.ДобавитьПозицию

(Устаревший)

void ДобавитьПозицию(string Наименование, double Цена, double Количество, double Скидка, int Отдел, double НДС)

Метод добавляет фискальную позицию в чек

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьПозициюstringНаименование позиции.  
 doubleЦена
 doubleКоличество
 doubleСкидка
 intОтдел
 doubleНДС

Чек.ДобавитьПозицию105

void ДобавитьПозицию105(string Наименование, double Цена, double Количество, double Скидка, int Отдел, double НДС, int ПризнакСпособаРасчета, int ПризнакПредметаРасчета)

Метод добавляет фискальную позицию в чек ФФД 1.0.5

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьПозицию105stringНаименование позиции.  
 doubleЦена
 doubleКоличество
 doubleСкидка
 intОтдел
 doubleНДС
 intПризнак способа расчета
 intПризнак предмета расчета

Чек.ДобавитьПозицию110

void ДобавитьПозицию110(string Наименование, double Цена, double Количество, double Скидка, int Отдел, double НДС, int ПризнакСпособаРасчета, int ПризнакПредметаРасчета, string ЦифровойКодСтраны, string НомерДекларации, decimal СуммаАкциза)

Метод добавляет фискальную позицию с учетом Акциза, цифрового кода страны и таможенной декларации.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьПозицию110stringНаименование позиции.  
 doubleЦена
 doubleКоличество
 doubleСкидка
 intОтдел
 doubleНДС
 intПризнак способа расчета
 intПризнак предмета расчета
 stringЦифровой код страны
 stringНомер декларации
 decimalСумма акциза

Чек.ДобавитьВЧекАгента

void ДобавитьВЧекАгента (int ПризнакАгента, string Операция,

string ТелефонПлатежногоАгента, string ТелефонОператораПоПриему,string ТелефонОператораПеревода, string НаименованиеОператораПеревода, string АдресОператораПеревода, string ИННОператораПеревода)

Метод добавляет данные агента по чеку.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьВЧекАгентаintПризнак агента.  
 stringОперация
 stringТелефон платежного агента
 stringТелефон оператора по приему
 stringТелефон оператора перевода
 stringНаименование оператора перевода
 stringАдрес оператора перевода
 stringИНН оператора перевода

Чек.ДобавитьВПозициюАгента

void ДобавитьВПозициюАгента(int ПризнакАгента, string Операция, string ТелефонПлатежногоАгента, string ТелефонОператораПоПриему,string ТелефонОператораПеревода, string НаименованиеОператораПеревода, string АдресОператораПеревода, string ИННОператораПеревода)

Метод добавляет данные агента в последнюю позицию.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьВПозициюАгентаintПризнак агента.  
 stringОперация
 stringТелефон платежного агента
 stringТелефон оператора по приему
 stringТелефон оператора перевода
 stringНаименование оператора перевода
 stringАдрес оператора перевода
 stringИНН оператора перевода

Чек.ДобавитьВЧекПоставщика

void ДобавитьВЧекПоставщика(string ТелефонПоставщика, string НаименованиеПоставщика, string ИННПоставщика)

Метод добавляет данные поставщика по чеку.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьВЧекПоставщикаstringТелефон поставщика.  
 stringНаименование поставщика
 stringИНН поставщика

Чек.ДобавитьВПозициюПоставщика

void ДобавитьВПозициюПоставщика (string ТелефонПоставщика, string НаименованиеПоставщика, string ИННПоставщика)

Метод добавляет данные поставщика в последнюю позицию.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьВПозициюПоставщикаstringТелефон поставщика.  
 stringНаименование поставщика
 stringИНН поставщика

Чек.ДобавитьКодТоварнойНоменклатуры

void ДобавитьКодТоварнойНоменклатуры(string ТипМаркировки, string КиЗ, string GTIN, string СерийныйНомер, string КодМаркировки = null)

Метод добавляет данные по товарной маркировке.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьКодТоварнойНоменклатурыstringТипМаркировки.  
 stringКиЗ
 stringGTIN
 stringСерийныйНомер
 stringКодМаркировки

Чек.ДобавитьНеФискальнуюПозицию

void ДобавитьНеФискальнуюПозицию (string Текст)

Метод добавляет данные по товарной маркировке.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьНеФискальнуюПозициюstringТекст нефискальной позиции  

Чек.ДобавитьОплатуНаличными

void ДобавитьОплатуНаличными(double Сумма, double Скидка = 0)

Метод добавляет оплату наличными.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьОплатуНаличнымиdoubleСумма  
 doubleСкидка (если не передается — по умолчанию 0)

Чек.ДобавитьОплатуКартой

void ДобавитьОплатуКартой(double Сумма, double Скидка = 0)

Метод добавляет оплату безналичными.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьОплатуКартойdoubleСумма  
 doubleСкидка (если не передается — по умолчанию 0)

Чек.ДобавитьОплатуКредит

void ДобавитьОплатуКредит (double Сумма, double Скидка = 0)

Метод добавляет оплату в кредит.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьОплатуКредитdoubleСумма  
 doubleСкидка (если не передается — по умолчанию 0)

Чек.ДобавитьОплатуПредоплатой

void ДобавитьОплатуПредоплатой(double Сумма, double Скидка = 0)

Метод добавляет оплату предплатой.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьОплатуПредоплатойdoubleСумма  
 doubleСкидка (если не передается — по умолчанию 0)

Чек.ДобавитьОплатуПредставлением

void ДобавитьОплатуПредставлением(double Сумма, double Скидка = 0)

Метод добавляет оплату по представлению.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьОплатуПредставлениемdoubleСумма  
 doubleСкидка (если не передается — по умолчанию 0)

Чек.СоздатьПозицию

bool СоздатьПозицию()

Метод создает позицию.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
СоздатьПозицию  booltrue – позиция создана.

Чек.СоздатьПозицию77

bool СоздатьПозицию77()

Метод создает позицию.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
СоздатьПозицию77  int1 – позиция создана.

Чек.ДобавитьПозициюВЧек

bool ДобавитьПозициюВЧек()

Метод добавляет созданную и заполненную данными позицию в чек.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьПозициюВЧек  booltrue – позиция добавлена в чек.

Чек.ДобавитьПозициюВЧек77

bool ДобавитьПозициюВЧек77()

Метод добавляет созданную и заполненную данными позицию в чек.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьПозициюВЧек77  int1 – позиция добавлена в чек.

Примеры использования:

Пример 1. Простой чек. Добавление инициализация позиции через метод.

Процедура СформироватьЧек(Команда)
	ОчиститьСообщения();
	
	
	Чек = ГлОбъектДрайвера.СоздатьЧек();
	// Касса по умолчанию используется заданная при инициализации объекта драйвера
	// Чтобы другую кассу отличную от 
	// Чек.ИмяКассы = "Atol";
	Чек.ИмяКассы = "Атол";    
	Чек.Кассир = Кассир;    
	Чек.ИннКассира = ИннКассира;
	Фискальный = Истина;
	Чек.Фискальный = Фискальный;

	// 1 - приход, 
	// 2 - возврат прихода, 
	// 4 - расход, 
	// 5 - возврат расхода 
	Чек.ТипЧека = 1;
	
	// 0 - Общая 
	// 1 - Упрощенная Доход 
	// 2 - Упрощенная Доход минус Расход 
	// 3 - Единый налог на вмененный доход 
	// 4 - Единый сельскохозяйственный налог 
	// 5 - Патентная система налогообложения 
	// 999 - использовать настройки устройства 
	Чек.ТипНалогообложения = 0;
	
	Чек.Электронный = Ложь;
	//Задает телефон или email покупателя 
	Чек.Контакт = "";
	//Задает номер отдела 
	Чек.Департамент =1;
	
	
	// ДобавитьПозицию105(
	Чек.ДобавитьПозицию105(
	"Спички",	//	string Наименование,
	0.60 , 	//              double Цена,
	2,       	//	double Количество,
	0.20,  //double Скидка,
	1,      //int Отдел,
	10,    //double НДС, 
	2,      //int ПризнакСпособаРасчета,
    1);                 // int ПризнакПредметаРасчета
	


	Чек.ДобавитьОплатуНаличными(0.10);  
	Чек.ДобавитьОплатуКартой(0.20);  
	Чек.ДобавитьОплатуПредставлением1(0.70);
	Результат = ГлОбъектДрайвера.РаспечататьЧек(Чек);
	Если Результат.КодОшибки <>0 ТОгда
		Сообщить("Ошибка "+Результат.КодОшибки+" Описание "+Результат.ОписаниеОшибки);
		Возврат
	КонецЕсли ;
	
	Сообщить("Успех");
	
	Если Фискальный Тогда
		Сообщить("Чек номер = "+	Результат.НомерЧека);
		Сообщить("Чек смены = "+	Результат.НомерСмены);
		Сообщить("Фискальный признак = "+	Результат.ФискальныйПризнак );
	КонецЕсли ;

КонецПроцедуры

Пример 2. Простой чек. Инициализация позиции через обращение к свойствам

Процедура СформироватьЧек(Команда)
	
ОчиститьСообщения();
	
	
	Чек = ГлОбъектДрайвера.СоздатьЧек();
	Чек.ИмяКассы = "Атол";    	
	Чек.Кассир = Кассир;    
	Чек.ИннКассира = ИннКассира;
	Фискальный = Истина;
	Чек.Фискальный = Фискальный;	 
	Чек.ТипЧека = 1 
	Чек.ТипНалогообложения = 0;
	Чек.Электронный = Ложь;
	Чек.Контакт = "";	 
	Чек.Департамент =1;	
	Чек.СоздатьПозицию();
	Чек.Позиция.Фискальная = true;
	Чек.Позиция.Наименование = "Спички";
	Чек.Позиция.Цена =0.50;
	Чек.Позиция.Количество = 2;
	Чек.Позиция.Отдел = 1;
	Чек.Позиция.НДС=10;
	Чек.Позиция.ПризнакСпособаРасчета = 2;
	Чек.Позиция.ПризнакПредметаРасчета = 1;
	Чек.Позиция.Сумма = 1;     
	Чек.ДобавитьПозициюВЧек();
	Чек.ДобавитьОплатуНаличными(0.10);  
	Чек.ДобавитьОплатуКартой(0.90);  	
	Результат = ГлОбъектДрайвера.РаспечататьЧек(Чек);
	Если Результат.КодОшибки <>0 ТОгда
		Сообщить("Ошибка "+Результат.КодОшибки+" Описание "+Результат.ОписаниеОшибки);
		Возврат
	КонецЕсли ;	
	Сообщить("Успех");	
	Если Фискальный Тогда
		Сообщить("Чек номер = "+	Результат.НомерЧека);
		Сообщить("Чек смены = "+	Результат.НомерСмены);
		Сообщить("Фискальный признак = "+	Результат.ФискальныйПризнак );	
	КонецЕсли\
КонецПроцедуры

Пример 3. Печать чека с акцизом, номером ТД.

Процедура СформироватьЧек(Команда)
	ОчиститьСообщения();	
	Чек = ГлОбъектДрайвера.СоздатьЧек();
	Чек.Кассир = Кассир;    
	Чек.ИннКассира = ИннКассира;
	Фискальный = Истина;
	Чек.Фискальный = Фискальный;
	Чек.Покупатель = "ООО ТрейдКом";
	Чек.ИННПокупателя = "0326031413"; 
	Чек.ТипЧека = 1; 
	Чек.ТипНалогообложения = 0;
	Чек.Электронный = Ложь;
	Чек.Контакт = "";
	Чек.Департамент =1;
	
	Чек.СоздатьПозицию(); // созадние пустой позиции
	Чек.Позиция.Фискальная = true;
	Чек.Позиция.Наименование = "Спички";
	Чек.Позиция.Цена =0.50;
	Чек.Позиция.Количество = 2;
	Чек.Позиция.Отдел = 1;
	Чек.Позиция.НДС=10;
	Чек.Позиция.ПризнакСпособаРасчета = 2;
	Чек.Позиция.ПризнакПредметаРасчета = 1;
	Чек.Позиция.Сумма = 1;
	Чек.Позиция.СуммаАкциза =0.5;
	Чек.Позиция.ТДекларация="10225040/250511/1022504" ;
	Чек.ДобавитьПозициюВЧек();// созадние позиции в чек

	Чек.ДобавитьОплатуНаличными(0.10);  
	Чек.ДобавитьОплатуКартой(0.90);  
	Результат = ГлОбъектДрайвера.РаспечататьЧек(Чек);
	Если Результат.КодОшибки <>0 ТОгда
		Сообщить("Ошибка "+Результат.КодОшибки+" Описание "+Результат.ОписаниеОшибки);
		Возврат
	КонецЕсли ;
	
	Сообщить("Успех");
	
	Если Фискальный Тогда
		Сообщить("Чек номер = "+	Результат.НомерЧека);
		Сообщить("Чек смены = "+	Результат.НомерСмены);
		Сообщить("Фискальный признак = "+	Результат.ФискальныйПризнак );	
	КонецЕсли
КонецПроцедуры

Пример 4. Печать чека с маркировкой. Пример указания маркировки товара через ГТИН и Серийный номер и через указание кода маркировки в формате base64 (требования 1с 3.x.).

Процедура СформироватьЧек(Команда)
	ОчиститьСообщения();	
	
	Чек = ГлОбъектДрайвера.СоздатьЧек();	
	Чек.Кассир = Кассир;    
	Чек.ИннКассира = ИннКассира;
	Фискальный = Истина;
	Чек.Фискальный = Фискальный;
	Чек.Покупатель = "ООО ТрейдКом";
	Чек.ИННПокупателя = "0326031413";	 
	Чек.ТипЧека = 1; 
	Чек.ТипНалогообложения = 0;	
	Чек.Электронный = Ложь;
	Чек.Контакт = "";
	Чек.Департамент =1;	
	Чек.СоздатьПозицию();
	Чек.Позиция.Фискальная = true;
	Чек.Позиция.Наименование = "Спички";
	Чек.Позиция.Цена =0.50;
	Чек.Позиция.Количество = 2;
	Чек.Позиция.Отдел = 1;
	Чек.Позиция.НДС=10;
	Чек.Позиция.ПризнакСпособаРасчета = 2;
	Чек.Позиция.ПризнакПредметаРасчета = 1;
	Чек.Позиция.Сумма = 1;
	Чек.Позиция.СуммаАкциза =0.5;
	Чек.Позиция.ТДекларация="10225040/250511/1022504" ;
	Чек.ДобавитьПозициюВЧек();

	Чек.СоздатьПозицию();
	Чек.Позиция.Фискальная = true;
	Чек.Позиция.Наименование = "Туфли женские";
	Чек.Позиция.Цена =100;
	Чек.Позиция.Количество = 1;
	Чек.Позиция.Отдел = 1;
	Чек.Позиция.НДС=20;
	Чек.Позиция.ПризнакСпособаРасчета = 2;
	Чек.Позиция.ПризнакПредметаРасчета = 1;
	Чек.Позиция.КодМаркировки = "RE0CozWXrhdwcmNmRj9wZGxsakYw";//КМ в формате base64
	Чек.Позиция.Сумма = 100;
	
	Чек.ДобавитьПозициюВЧек();	
	Чек.СоздатьПозицию();
	Чек.Позиция.Фискальная = true;
	Чек.Позиция.Наименование = "Туфли мужские";
	Чек.Позиция.Цена =200;
	Чек.Позиция.Количество = 1;
	Чек.Позиция.Отдел = 1;
	Чек.Позиция.НДС=10;
	Чек.Позиция.ПризнакСпособаРасчета = 2;
	Чек.Позиция.ПризнакПредметаРасчета = 1;
	Чек.Позиция.Сумма = 200;
	Чек.Позиция.ГТИН = "02900002057751";            // указание КМ через ГИН
	Чек.Позиция.СерийныйНомер = "prcfF?pdlljF2";  // и серийный номер
	Чек.ДобавитьПозициюВЧек() ;

	
Чек.ДобавитьОплатуНаличными(300.10);  
	Чек.ДобавитьОплатуКартой(0.90);  
	Результат = ГлОбъектДрайвера.РаспечататьЧек(Чек);
	Если Результат.КодОшибки <>0 ТОгда
		Сообщить("Ошибка "+Результат.КодОшибки+" Описание "+Результат.ОписаниеОшибки);
		Возврат
	КонецЕсли ;
	
	Сообщить("Успех");
	
	Если Фискальный Тогда
		Сообщить("Чек номер = "+	Результат.НомерЧека);
		Сообщить("Чек смены = "+	Результат.НомерСмены);
		Сообщить("Фискальный признак = "+	Результат.ФискальныйПризнак );
	КонецЕсли
КонецПроцедуры

Пример 5. Печать чека с данными агента и поставщика по чеку.

Процедура ЧекСДаннымиАгентаПоставщика(Команда)
	ОчиститьСообщения();
	
	
	Чек = ГлОбъектДрайвера.СоздатьЧек();
	Чек.Кассир = Кассир;    
	Чек.ИннКассира = ИннКассира;
	Фискальный = Истина;
	Чек.Фискальный = Фискальный;
	Чек.Покупатель = "ООО ТрейдКом";
	Чек.ИННПокупателя = "0326031413";
	Чек.ПризнакАгента = "1";
	Чек.Агент.ОперацияПлатежногоАгента = "ООО МСТ";
	Чек.Агент.ТелефонПлатежногоАгента = "+79010000000";
	Чек.Агент.ТелефонОператораПоПриемуПлатежей =  "+79020000000";
	Чек.Агент.ОператорПервода = "Банк";
	Чек.Агент.АдресОператораПеревода = "адрес";
	Чек.Агент.ИННОператораПеревода = "7140269847";
	Чек.Поставщик.ТелефонПоставщика = "+79000000000";
	Чек.Поставщик.НаименованиеПоставщика ="Платежи"; 
	Чек.Поставщик.ИННПоставщика =   "0413055019"; 
	Чек.ТипЧека = 1; 
	Чек.ТипНалогообложения = 0;
	Чек.Электронный = Ложь;	 
	Чек.Контакт = "";
	Чек.Департамент =1;
	
	Чек.СоздатьПозицию();
	Чек.Позиция.Фискальная = true;
	Чек.Позиция.Наименование = "Спички";
	Чек.Позиция.Цена =0.50;
	Чек.Позиция.Количество = 2;
	Чек.Позиция.Отдел = 1;
	Чек.Позиция.НДС=10;
	Чек.Позиция.ПризнакСпособаРасчета = 2;
	Чек.Позиция.ПризнакПредметаРасчета = 1;
	Чек.Позиция.Сумма = 1;
	Чек.Позиция.СуммаАкциза =0.5;
	Чек.Позиция.ТДекларация="10225040/250511/1022504" ;
	Чек.ДобавитьПозициюВЧек();

	Чек.СоздатьПозицию();
	Чек.Позиция.Фискальная = true;
	Чек.Позиция.Наименование = "Туфли женские";
	Чек.Позиция.Цена =100;
	Чек.Позиция.Количество = 1;
	Чек.Позиция.Отдел = 1;
	Чек.Позиция.НДС=20;
	Чек.Позиция.ПризнакСпособаРасчета = 2;
	Чек.Позиция.ПризнакПредметаРасчета = 1;
	Чек.Позиция.КодМаркировки = "RE0CozWXrhdwcmNmRj9wZGxsakYw";
	Чек.Позиция.Сумма = 100;
	
	Чек.ДобавитьПозициюВЧек();
	
	Чек.СоздатьПозицию();
	Чек.Позиция.Фискальная = true;
	Чек.Позиция.Наименование = "Туфли мужские";
	Чек.Позиция.Цена =200;
	Чек.Позиция.Количество = 1;
	Чек.Позиция.Отдел = 1;
	Чек.Позиция.НДС=10;
	Чек.Позиция.ПризнакСпособаРасчета = 2;
	Чек.Позиция.ПризнакПредметаРасчета = 1;
	Чек.Позиция.Сумма = 200;
	Чек.Позиция.ГТИН = "02900002057751";
	Чек.Позиция.СерийныйНомер = "prcfF?pdlljF2";
	Чек.ДобавитьПозициюВЧек() ;

	Чек.ДобавитьОплатуНаличными(300.10);  
	Чек.ДобавитьОплатуКартой(0.90);  
	Результат = ГлОбъектДрайвера.РаспечататьЧек(Чек);
	Если Результат.КодОшибки <>0 ТОгда
		Сообщить("Ошибка "+Результат.КодОшибки+" Описание "+Результат.ОписаниеОшибки);
		Возврат
	КонецЕсли ;
	
	Сообщить("Успех");
	
	Если Фискальный Тогда
		Сообщить("Чек номер = "+	Результат.НомерЧека);
		Сообщить("Чек смены = "+	Результат.НомерСмены);
		Сообщить("Фискальный признак = "+	Результат.ФискальныйПризнак );
	КонецЕсли
КонецПроцедуры

Пример 6. Печать чека с данными агента и поставщика по позиции.

Процедура СформироватьЧек(Команда)
	ОчиститьСообщения();
	
	
	Чек = ГлОбъектДрайвера.СоздатьЧек();
	Чек.Кассир = Кассир;    
	Чек.ИннКассира = ИннКассира;
	Фискальный = Истина;
	Чек.Фискальный = Фискальный;
	Чек.Покупатель = "ООО ТрейдКом";
	Чек.ИННПокупателя = "0326031413"; 
	Чек.ТипЧека = 1 
	Чек.ТипНалогообложения = 0;	
	Чек.Электронный = Ложь;	 
	Чек.Контакт = "";
	Чек.Департамент =1;
	
	Чек.СоздатьПозицию();
	Чек.Позиция.Фискальная = true;
	Чек.Позиция.Наименование = "Спички";
	Чек.Позиция.Цена =0.50;
	Чек.Позиция.Количество = 2;
	Чек.Позиция.Отдел = 1;
	Чек.Позиция.НДС=10;
	Чек.Позиция.ПризнакСпособаРасчета = 2;
	Чек.Позиция.ПризнакПредметаРасчета = 1;
	Чек.Позиция.Сумма = 1;
	Чек.Позиция.СуммаАкциза =0.5;
	Чек.Позиция.ТДекларация="10225040/250511/1022504" ;
	Чек.ДобавитьПозициюВЧек();

	Чек.СоздатьПозицию();
	Чек.Позиция.Фискальная = true;
	Чек.Позиция.Наименование = "Туфли женские";
	Чек.Позиция.Цена =100;
	Чек.Позиция.Количество = 1;
	Чек.Позиция.Отдел = 1;
	Чек.Позиция.НДС=20;
	Чек.Позиция.ПризнакСпособаРасчета = 2;
	Чек.Позиция.ПризнакПредметаРасчета = 1;
	Чек.Позиция.КодМаркировки = "RE0CozWXrhdwcmNmRj9wZGxsakYw";
	Чек.Позиция.Сумма = 100;
	
	Чек.ДобавитьПозициюВЧек();	
	Чек.СоздатьПозицию();
	Чек.Позиция.Фискальная = true;
	Чек.Позиция.Наименование = "Туфли мужские";
	Чек.Позиция.Цена =200;
	Чек.Позиция.Количество = 1;
	Чек.Позиция.Отдел = 1;
	Чек.Позиция.НДС=10;
	Чек.Позиция.ПризнакСпособаРасчета = 2;
	Чек.Позиция.ПризнакПредметаРасчета = 1;
	Чек.Позиция.Сумма = 200;
	Чек.Позиция.ГТИН = "02900002057751";
	Чек.Позиция.СерийныйНомер = "prcfF?pdlljF2";
	Чек.Позиция.ПризнакАгента = "1";
	Чек.Позиция.Агент.ОперацияПлатежногоАгента = "ООО МСТ";
	Чек.Позиция.Агент.ТелефонПлатежногоАгента = "+79010000000";
	Чек.Позиция.Агент.ТелефонОператораПоПриемуПлатежей =  "+79020000000";
	Чек.Позиция.Агент.ОператорПервода = "Банк";
	Чек.Позиция.Агент.АдресОператораПеревода = "адрес";
	Чек.Позиция.Агент.ИННОператораПеревода = "7140269847";
	Чек.Позиция.Поставщик.ТелефонПоставщика = "+79000000000" ;
	Чек.Позиция.Поставщик.НаименованиеПоставщика ="Платежи"; 
	Чек.Позиция.Поставщик.ИННПоставщика =   "0413055019" ;

	Чек.ДобавитьПозициюВЧек() ; 
	Чек.ДобавитьОплатуНаличными(300.10);  
	Чек.ДобавитьОплатуКартой(0.90);  	
	
	Результат = ГлОбъектДрайвера.РаспечататьЧек(Чек);
	Если Результат.КодОшибки <>0 ТОгда
		Сообщить("Ошибка "+Результат.КодОшибки+" Описание "+Результат.ОписаниеОшибки);
		Возврат
	КонецЕсли;	
	Сообщить("Успех");
	Если Фискальный Тогда
		Сообщить("Чек номер = "+	Результат.НомерЧека);
		Сообщить("Чек смены = "+	Результат.НомерСмены);
		Сообщить("Фискальный признак = "+	Результат.ФискальныйПризнак );
	КонецЕсли
КонецПроцедуры

Печать Чека Коррекции.

Методы

СоздатьЧекКоррекции

ЧекКоррекции СоздатьЧек()

Метод создает и возвращает объект ЧекКоррекции.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
СоздатьЧекКоррекции  ЧекКоррекцииОбъект типа ЧекКоррекции.

РаспечататьЧекКоррекции

ЧекКоррекции РаспечататьЧекКоррекции(ЧекКоррекции чек)

Метод отправляет на печать Чек Коррекции.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
РаспечататьЧекКоррекции  ЧекКоррекцииОбъект типа ЧекКоррекции.

Описание типа ЧекКоррекции.

ИмяТипОписание
ТерминалstringЗадает или получает имя компьютера на котором сформирован документ
ИдентификаторstringЗадает или получает идентификатор документа в формате GUID
ИмяКассыstringЗадает или получает имя устройства как на Сервере ККМ
НомерЧекаintПолучает номер фискального документа после печати
НомерСменыintПолучает номер смены после печати
КодОшибкиintПолучает код ошибки печати
ОписаниеОшибкиstringПолучает описание ошибки печати
ФискальныйПризнакstringПолучает фискальный признак после печати
КассирstringФИО кассира
ИннКассираstringИНН кассира
ВерсияКлиентаstringВерсия клиента (Внешней компоненты)
ТипЧекаintПолучает или задает тип чека. ЧекКоррекцииПрихода = 1,  ЧекКоррекцииВозвратаПрихода = 2, ЧекКоррекцииРасхода = 3, ЧекКоррекцииВозвратаРасхода = 4  
ТипКоррекцииintТип коррекции 0 – самостоятельно, 1 – по предписанию.
ДатаДокументаОснованияДляКоррекцииDateTimeДата описания коррекции
НомерДокументаОснованияДляКоррекцииstringНомер документа основания коррекции
ОписаниеКоррекцииstringОписание коррекции
СуммаНалога18doubleСумма налога по ставке 18%
СуммаНалога10doubleСумма налога по ставке 10%
СуммаНалога0doubleСумма налога по ставке 0%
СуммаНалогаБезНдсdoubleСумма налога по ставке Без НДС
СуммаНалога110doubleСумма налога по ставке 110%
СуммаНалога118doubleСумма налога по ставке 118%
СуммаНалога20doubleСумма налога по ставке 20%
СуммаНалога120doubleСумма налога по ставке 120%
ТипНалогообложенияint0 — Общая 1 — Упрощенная Доход 2 — Упрощенная Доход минус Расход 3 — Единый налог на вмененный доход 4 — Единый сельскохозяйственный налог 5 — Патентная система налогообложения

ДобавитьОплатуНаличными

void ДобавитьОплатуНаличными(double Сумма)

Метод устанавливает оплату наличными.

Имя методапараметрыВозвращаемое значение
 ИмяТипОписаниеИмяТипОписание
ДобавитьОплатуНаличнымиСуммаdoubleУстанавливаемая Сумма   

ДобавитьОплатуКартой

void ДобавитьОплатуКартой(double Сумма)

Метод устанавливает оплату наличными.

Имя методапараметрыВозвращаемое значение
 ИмяТипОписаниеИмяТипОписание
ДобавитьОплатуКартойСуммаdoubleУстанавливаемая Сумма   

ДобавитьОплатуКредит

void ДобавитьОплатуКредит(double Сумма)

Метод устанавливает оплату наличными.

Имя методапараметрыВозвращаемое значение
 ИмяТипОписаниеИмяТипОписание
ДобавитьОплатуКредитСуммаdoubleУстанавливаемая Сумма   

ДобавитьОплатуПредоплатой

void ДобавитьОплатуПредоплатой (double Сумма)

Метод устанавливает оплату наличными.

Имя методапараметрыВозвращаемое значение
 ИмяТипОписаниеИмяТипОписание
ДобавитьОплатуПредоплатойСуммаdoubleУстанавливаемая Сумма   

ДобавитьОплатуПредставлением

void ДобавитьОплатуПредставлением (double Сумма)

Метод устанавливает оплату наличными.

Имя методапараметрыВозвращаемое значение
 ИмяТипОписаниеИмяТипОписание
ДобавитьОплатуПредставлениемСуммаdoubleУстанавливаемая Сумма   

Внесение/Выемка денег.

Методы

НапечататьЧекВнесенияВыемки

bool НапечататьЧекВнесенияВыемки (string ИДУстойства, double Сумма)

Метод печатает документ внесения или выемки.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
НапечататьЧекВнесенияВыемкиstringИдентификатор устройства.booltrue – напечатан успешно.

Печать Текста.

Методы

СоздатьТекст

ТекстовыйФайл СозатьТекст()

Метод создает нефискальный документ — текст.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
   ТекстовыйФайлДанные печати

РаспечататьТекст

Метод печатает нефискальный документ — текст.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
РаспечататьТекст ТекстовыйФайлДанные для печатиТекстовыйФайлДанные печати

ДобавитьСтроку

void ДобавитьСтроку(string Текст)

Метод добавляет строку для печати в нефискальном документе.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ДобавитьСтрокуstringСтрока для печати  

Описание типа ТекстовыйФайл

ИмяТипОписание
ТерминалstringЗадает или получает имя компьютера на котором сформирован документ
ИдентификаторstringЗадает или получает идентификатор документа в формате GUID
ИмяКассыstringЗадает или получает имя устройства как на Сервере ККМ
КодОшибкиintПолучает код ошибки печати
ОписаниеОшибкиstringПолучает описание ошибки печати
КассирstringФИО кассира
ИннКассираstringИНН кассира
ВерсияКлиентаstringВерсия клиента (Внешней компоненты)

Получить текущее состояние

Методы

ПолучитьСостояниеКассы

bool ПолучитьСостояниеКассы(string ИДУстройтва, out int НомерЧека, out int НомерСмены, out int СтатусСмены)

Метод получает состояние ККМ.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ПолучитьСостояниеКассыstringИдентификатор устройства.booltrue – успешно.
 out intНомер чека
 out intНомер смены
 out intСтатус смены (1-Закрыта,2-Открыта,3-Истекла)

Получение текущего состоянии расчетов

Методы

ПолучитьТекущееСостояниеРасчетов

bool ПолучитьТекущееСостояниеРасчетов(string deviceId, out int backlogDocumentsCounter, out int backlogDocumentFirstNumber, out DateTime BacklogDocumentFirstDateTime)

Метод получает текущее состояние расчетов.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ПолучитьТекущееСостояниеРасчетовstringИдентификатор устройства.booltrue – успешно.
 out intКоличество непереданных документов
 out intНомер первого непереданного документа
 out DateTimeДата и время первого из непереданных документов

Получение ширины строки 

Методы

ПолучитьШиринуСтроки

bool ПолучитьШиринуСтроки(string ИДУстойства, out int ШиринаСтроки)

Метод печатает ширину строки документа ККМ.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ПолучитьШиринуСтрокиstringИдентификатор устройства.booltrue – успешно.
 out intШирина строки в символах.

Открытие денежного ящика

Методы

ОткрытьДенежныйЯщик

bool ОткрытьДенежныйЯщик(string ИДУстойства)

Метод открывает денежный ящик.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ОткрытьДенежныйЯщикstringИдентификатор устройства.booltrue – успешно.

ОткрытьДенежныйЯщик77

int ОткрытьДенежныйЯщик77(string ИДУстойства)

Метод открывает денежный ящик.

Имя методапараметрыВозвращаемое значение
 ТипОписаниеТипОписание
ОткрытьДенежныйЯщикstringИдентификатор устройства.int1 – успешно.

Наши решения:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

пять × 4 =

Авторизация
*
*

тринадцать + один =

Регистрация
*
*
*

16 − 7 =

Генерация пароля

пять + 12 =