Подготовка конфигурации Розница 1.0 (1.0.14.4) для работы с Yarus

Публикация № 1238687

Администрирование - Торговое оборудование - Фискальный регистратор

Ярус Розница 1.0 Online

Интеграция Yarus(М2100Ф) с 1С на примере подключения в Рознице 1.0 (1.0.14.4).
  1. Изменение конфигурации Розницы для работы с Yarus.

Для того чтобы конфигурация  Розница, редакция 1.0   смогла передавать нужные данные через обработку в Штрих ККТ необходимо изменить конфигурацию.

В функции “ПечатьЧекаККМ” изменим следующий код, чтобы передавать данные по штрихкоду:

Иначе

//>>

                СтрокаЧека = Новый Структура("Наименование, Количество, Цена, Скидка, НомерСекции, СтавкаНДС, Штрихкод,НеПечатать");

                СтрокаЧека.Наименование = Позиция.Наименование;

                Если СуммаСоСкидкой1С = СуммаСоСкидкойФР Тогда                                                                                                                                          

                                СтрокаЧека.Количество   = Позиция.Количество;

                               СтрокаЧека.Цена         = Позиция.Цена;

                               СтрокаЧека.Скидка       = Позиция.Скидка;

                               СтрокаЧека.НомерСекции  = Позиция.НомерСекции;

                               СтрокаЧека.СтавкаНДС    = Позиция.СтавкаНДС; 

                               СтрокаЧека.НеПечатать      = Истина;

                               СтрокаЧека.Штрихкод                        = Позиция.Штрихкод;

                Иначе

                               СтрокаЧека.Количество   = 1;

                                СтрокаЧека.Цена         = СуммаСоСкидкой1С;

                               СтрокаЧека.Скидка       = 0;

                               СтрокаЧека.НомерСекции  = Позиция.НомерСекции;

                               СтрокаЧека.СтавкаНДС    = Позиция.СтавкаНДС;

                               СтрокаЧека.НеПечатать      = Истина;

                               СтрокаЧека.Штрихкод                        = Позиция.Штрихкод;

                КонецЕсли;

                Результат = ПолучитьСерверТО().ПечатьСтрокиЧека(Идентификатор, СтрокаЧека);                                                                           

                //<<

КонецЕсли;

Далее изменим структуру для печати позиции

Если НЕ ЗначениеЗаполнено(Результат) Тогда
		Если СтруктрураШаблона <> Неопределено И СтруктрураШаблона.ОднаФискальнаяСтрока Тогда
				
		МассивСтрокДляПечати =  ПроцедурыПечатиФискальныхЧеков.ПреобразоватьМассивСоответствийВМассивТекстовыхСтрок(СтруктрураШаблона.СоставнойМассив);
		Результат = ПОлучитьСерверТО().ПечатьТекста(Идентификатор, МассивСтрокДляПечати, СтруктрураШаблона.ШиринаЧека);
				
		Если ЗначениеЗаполнено(Результат) Тогда
			Возврат Результат;
		КонецЕсли;
				
		//>>
		Если НЕ (СтруктрураШаблона <> Неопределено) Тогда
			СтрокаЧека = Новый Структура("Наименование, Количество, Цена, Скидка, НомерСекции, СтавкаНДС");
			СтрокаЧека.Наименование = "Всего:";
			СтрокаЧека.Количество   = 1;
			СтрокаЧека.Цена         = Товары.Итог("Сумма");
			СтрокаЧека.Скидка       = 0;
			СтрокаЧека.СтавкаНДС    = 0;
			СтрокаЧека.НомерСекции  = Позиция.НомерСекции;
			Результат = ПолучитьСерверТО().ПечатьСтрокиЧека(Идентификатор, СтрокаЧека);
		КонецЕсли;

Изменим функцию «ПровестиИРаспечататьЧек», добавим колонку для штрихкода:

 

ТаблицаТоваров = Новый ТаблицаЗначений;
ТаблицаТоваров.Колонки.Добавить("Наименование");
ТаблицаТоваров.Колонки.Добавить("НомерСекции");
ТаблицаТоваров.Колонки.Добавить("Цена");
ТаблицаТоваров.Колонки.Добавить("Количество");
ТаблицаТоваров.Колонки.Добавить("Скидка");
ТаблицаТоваров.Колонки.Добавить("СтавкаНДС");
ТаблицаТоваров.Колонки.Добавить("Штрихкод");//>>

 

Далее в цикле заполним колонку «Штрихкод»

 

Пока Выборка.Следующий() Цикл
	Товар = ТаблицаТоваров.Добавить();

	Товар.Наименование = СокрЛП(Выборка.Номенклатура)
	                   + "(" + СокрЛП(Выборка.ЕдиницаИзмерения)
                   + ?(ПустаяСтрока(Выборка.ХарактеристикаНоменклатуры), "", ", " + СокрЛП(Выборка.ХарактеристикаНоменклатуры)) + ")";
			
	Товар.НомерСекции  = 1;
	Товар.Цена         = Выборка.Цена;
	Товар.Количество   = Выборка.Количество;
	Товар.Скидка       = Выборка.ПроцентСкидкиНаценки;
	Товар.СтавкаНДС    = ?(ПечататьНДСВКассовыхЧекахИзДокументовЧекККМ, Ценообразование.ПолучитьСтавкуНДС(Выборка.СтавкаНДС), 0);
	Товар.Штрихкод 	   = ПолучитьШК(Выборка); //MI++>>
КонецЦикла;

 

Функция ПолучитьШК:

Функция ПолучитьШК(Выборка)
	Нм = Справочники.Номенклатура.НайтиПоНаименованию(Выборка.Номенклатура);
	Хр = Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию(Выборка.ХарактеристикаНоменклатуры);
	Запрос = Новый Запрос();
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Штрихкоды.ХарактеристикаНоменклатуры,
	|	Штрихкоды.Штрихкод,
	|	Штрихкоды.Владелец,
	|	ХарактеристикиНоменклатуры.Ссылка
	|ИЗ
	|	РегистрСведений.Штрихкоды КАК Штрихкоды
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
	|		ПО Штрихкоды.Владелец = ХарактеристикиНоменклатуры.Владелец
	|ГДЕ
	|	Штрихкоды.Владелец = &Ссылка
	|	И ХарактеристикиНоменклатуры.Наименование = &Наименование";
	Запрос.УстановитьПараметр("Ссылка",Нм.Ссылка);
	Запрос.УстановитьПараметр("Наименование",Выборка.ХарактеристикаНоменклатуры);
	
	Рез = Запрос.Выполнить();
	Если Рез.Пустой() Тогда
		Возврат "";
	Иначе
		_Выборка = РЕз.Выбрать();
		Пока _Выборка.Следующий() Цикл
			Если  Найти(_Выборка.ХарактеристикаНоменклатуры.Наименование,Выборка.ХарактеристикаНоменклатуры)>0 Тогда
				Возврат _Выборка.Штрихкод;
			КонецЕсли;	
		Конеццикла;
	КонецЕсли;
	Возврат "";
	
КонецФункции

Изменим процедуру «КнопкаКупоныНажатие» в Форме регистрации продаж, для корректного открытия денежного ящика:

Если  Результат = Перечисления.ТООшибкиОбщие.ПустаяСсылка() Тогда
	  //>>
	  Попытка
		  врОтвет = Объект.Драйвер.ОткрытьДенежныйЯщик(Объект.ИДУстройства,0);// НомерДенежногоЯщика)
		  КодОшибки = Объект.Драйвер.ПолучитьОшибку(Объект.ОписаниеОшибки);
	  Исключение
		  Объект.Драйвер.Password = Объект.Параметры.ПарольАдминистратора;
		  Объект.Драйвер.DrawerNumber = 0;
		  врОтвет = Объект.Драйвер.ОткрытьДенежныйЯщик();// НомерДенежногоЯщика)
		  КодОшибки = Объект.Драйвер.ResultCode;
		  Объект.ОписаниеОшибки = Объект.Драйвер.ResultCodeDescription;
	  КонецПопытки;
	  //<<
  КонецЕсли;

И изменим в обработке «ТОСервер» функцию ПечатьСтрокиЧека:

Если НЕ ЗначениеЗаполнено(Результат) Тогда
		Результат = Обработка.ПечататьСтроку(Объект,
		                                 СтрокаЧека.Наименование,
		                                 СтрокаЧека.Количество,
		                                 СтрокаЧека.Цена,
		                                 СтрокаЧека.Скидка,
		                                 СтрокаЧека.НомерСекции,
		                                 СтрокаЧека.СтавкаНДС,
										 СтрокаЧека.Штрихкод,
										 СтрокаЧека.НеПечатать);   //>> 

  1. Изменение обработки для работы с Yarus

Для основы возьмем обработку “ShtrihMFiscalPrinters_v2.epf”, в модуле обработки опишем сперва стандартные функции и процедуры:

функция «СоздатьОбъектДрайвера»

Вместо кода

ПрогИД = "AddIn.DrvFR1C";

будет код

ПрогИД = "Addin.DrvFR";

И код

мВерсияИзДрайвера = Драйвер.ПолучитьНомерВерсии();

заменим кодом

мВерсияИзДрайвера = Драйвер.DriverVersion;//

Функция «Подключить»

Код

Если Не Объект.Драйвер.Подключить(МассивЗначений, Объект.ИДУстройства) Тогда
		КодОшибки = Объект.Драйвер.ПолучитьОшибку(Объект.ОписаниеОшибки);
		Результат = мОшибкаНеизвестно;
	Иначе
		Если Объект.Параметры.ОтменятьЧекПриПодключении Тогда
			Объект.Драйвер.ОтменитьЧек(Объект.ИДУстройства);
		КонецЕсли;
	КонецЕсли;

заменим на

Попытка
		Если ПодключитьFR(Объект,Объект.ОписаниеОшибки) Тогда
			Пока Истина Цикл
				Рез = ОбработкаОшибок(Объект,Объект.ИДУстройства, Истина);
				Если Рез > 0 Тогда
					КодОшибки = Объект.Драйвер.ResultCodeDescription;//Описание
					Результат = мОшибкаНеизвестно;
					Возврат Результат;
				ИначеЕсли Рез = 0 Тогда
					Прервать;
				КонецЕсли;
			КонецЦикла;
		КонецЕсли;
		Если ТаблицыККМ = Неопределено Тогда
			ТаблицыККМ = Новый Соответствие;
		КонецЕсли;
		Если ШиринаЛентыККМ = Неопределено Тогда
			ШиринаЛентыККМ = Новый Соответствие;
		КонецЕсли;
		Если НомераСисАдминов = Неопределено Тогда
			НомераСисАдминов = Новый Соответствие;
		КонецЕсли;

		
		НомерЛУ = Объект.ИДУстройства;
		ЗаполнитьПараметрыККМ(Объект,НомерЛУ);
		
		ЗагрузитьТаблицуПерекодировки();
	Исключение
		Результат = мОшибкаНеизвестно;
	КонецПопытки;

Процедура “Отключить”:

Если ОтключитьFR(Объект) Тогда
		Пока Истина Цикл
			Рез = ОбработкаОшибок(Объект,Объект.ИДУстройства, Истина);
			Если Рез > 0 Тогда
				Объект.ОписаниеОшибки = мОшибкаНеизвестно;
				Возврат;
			ИначеЕсли Рез = 0 Тогда
				Прервать;
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;

Функция “ТестУстройства”:

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

	Возврат Результат;

Функция ХОтчет:

Результат = мНетОшибки;
	Mistake="";
	ФискальныйРегистратор = Объект.Драйвер;
	
	НомерККМ=0;
	ОтчетНомерЧека=0;
	ОтчетНомерОтчета=0;
	ОтчетНаличностьВКассе=0;
	ОтчетВыручка=0;
	ФискальныйРегистратор.GetECRStatus();
	
	Если CheckMistakeFR(Mistake,Объект)<>0 Тогда
		Объект.ОписаниеОшибки = Mistake;
		Результат = мОшибкаНеизвестно;
		
		Возврат Результат;
	КонецЕсли;
	Если ФискальныйРегистратор.ECRAdvancedMode=3 Тогда
		ФискальныйРегистратор.ContinuePrint();
		ФискальныйРегистратор.Password=Объект.Параметры.ПарольАдминистратора;
		ФискальныйРегистратор.GetECRStatus();
		Если CheckMistakeFR(Mistake,Объект)<>0 Тогда
			Объект.ОписаниеОшибки = Mistake;
			Результат = мОшибкаНеизвестно;
			
			Возврат Результат;
		КонецЕсли;
	КонецЕсли;
	Если ПолучитьПараметрыОтчета(Объект,ОтчетНомерЧека,ОтчетНомерОтчета,ОтчетНаличностьВКассе,ОтчетВыручка)=1 Тогда
		Результат = мОшибкаНеизвестно;
		
		Возврат Результат;
	КонецЕсли;
	
	ФискальныйРегистратор.Password=Объект.Параметры.ПарольАдминистратора;
	ФискальныйРегистратор.PrintReportWithoutCleaning(); 
	Если CheckMistakeFR(Mistake,Объект)<>0 Тогда
		Объект.ОписаниеОшибки = Mistake;
		Результат = мОшибкаНеизвестно;
		
		Возврат Результат;
	КонецЕсли;
	Для Ном=1 по 10 Цикл
		Пауза(3);
		ФискальныйРегистратор.Password=Объект.Параметры.ПарольАдминистратора;
		ФискальныйРегистратор.RegisterNumber=152;
		ФискальныйРегистратор.GetOperationReg();
		Если ФискальныйРегистратор.ResultCode=0 Тогда
			Если ФискальныйРегистратор.ContentsOfOperationRegister+1<>ОтчетНомерЧека Тогда
				Прервать;
			КонецЕсли;
		КонецЕсли;
		Сбой=0;
		ФискальныйРегистратор.GetECRStatus();
		Если ФискальныйРегистратор.ResultCode=0 Тогда
			Если ФискальныйРегистратор.ECRAdvancedMode=2 Тогда
				Пока 1=1 Цикл
					Предупреждение("Ошибка кассы"+?(Ном=0,""," №"+Ном)+": нет бумаги! Вставьте бумагу.","Вставьте бумагу");
					ФискальныйРегистратор.GetECRStatus();
					Если ФискальныйРегистратор.ResultCode<>0 Тогда
						Сбой=1;
						Прервать;
					КонецЕсли;
					Если ФискальныйРегистратор.ECRAdvancedMode<>2 Тогда
						Прервать;
					КонецЕсли;
				КонецЦикла;
			КонецЕсли;
			Если ФискальныйРегистратор.ECRAdvancedMode=3 Тогда
				ФискальныйРегистратор.ContinuePrint();
			КонецЕсли;
		Иначе
			Сбой=1;
		КонецЕсли; 
		Если Сбой=1 Тогда
			Прервать;
		КонецЕсли;
	КонецЦикла;
	
	Возврат Результат;

Функция ZОтчет аналогична.

Функция ОткрытьЧек:

DescMistake="";
	НомерЛУ = Объект.ИДУстройства;
	Если ТребуетсяОткрытиеСмены(Объект,НомерЛУ) Тогда
		ОткрытьСмену(Объект,НомерЛУ, НомерСмены);
		Res = CheckMistakeFR(DescMistake,Объект);
		Если (Res > 0) Тогда
			//"Ошибка подсоединения ФР.");
			Результат = мОшибкаНеизвестно;
			Объект.ОписаниеОшибки = DescMistake + ". Операция печати чека отменена.";
			
			Возврат Результат;
		ИначеЕсли (Res = 0) Тогда
			Результат = мНетОшибки;
		ИначеЕсли Res = -1 Тогда
			//"Аннулирование чека ФР.");
			Результат = мОшибкаНеизвестно;
			Объект.ОписаниеОшибки = DescMistake + ". Операция печати чека отменена.";
			
			Возврат Результат;
		КонецЕсли;
	КонецЕсли;	

	Результат  = мНетОшибки;
	НомерЧека  = 0;
	НомерСмены = 0;
	
	
	FR = Объект.Драйвер;
	
	FR.Password = Объект.Параметры.ПарольАдминистратора;
	Если НЕ Объект.Параметры.ВыключитьОФД Тогда
		Если ЭтоВозврат Тогда
			FR.CheckType=3;
		Иначе
			FR.CheckType=1;
		КонецЕсли;	
	Иначе	
		Если ЭтоВозврат Тогда
			FR.CheckType=2;
		Иначе
			FR.CheckType=0;
		КонецЕсли;	
	КонецЕсли;
	
	

	Попытка
		НаименованиеМодели = Объект.Модель.Наименование;
	Исключение
		НаименованиеМодели = Объект.Модель;
	КонецПопытки;
	
	Если (Найти(НаименованиеМодели,"ШТРИХ-ККТ ЯРУС М2100Ф")>0) Тогда
   	 Иначе
		FR.OpenCheck();
	КонецЕсли;
	
	Res = CheckMistakeFR(DescMistake,Объект);
	Если (Res > 0) Тогда
		//"Ошибка подсоединения ФР.");
		Результат = мОшибкаНеизвестно;
		Объект.ОписаниеОшибки = DescMistake + ". Операция печати чека отменена.";
		
		Возврат Результат;
	ИначеЕсли (Res = 0) Тогда
		Результат = мНетОшибки;
	ИначеЕсли Res = -1 Тогда
		//"Аннулирование чека ФР.");
		ОтменитьЧек(Объект);
		Результат = мОшибкаНеизвестно;
		Объект.ОписаниеОшибки = DescMistake + ". Операция печати чека отменена.";
		
		Возврат Результат;
	КонецЕсли;
	//-----------Теперь получим номер чека---------------------------------------------------------------------------------------------
	НомерЧека=FR.OpenDocumentNumber;
	НомерСмены =FR.SessionNumber+1; //!
	
	Возврат Результат;

Функция “ЗакрытьЧек”:

Результат = мНетОшибки;
	DescMistake="";
	
	Polucheno=СуммаНал;
	Если Не CloseCheck(Объект,СуммаНал, СуммаБезнал,Polucheno) Тогда
		ОтменитьЧек(Объект);
		Результат = мОшибкаНеизвестно;
		Объект.ОписаниеОшибки = DescMistake + ". Операция печати чека отменена.";
		
		Возврат Результат;
	КонецЕсли;	
	
	Возврат Результат;

Функция “ПечататьСтроку”:


 

Результат  = мНетОшибки;

               СуммаПозиции = Количество*Цена - Окр(Количество*Цена*Скидка/100, 2, РежимОкругления.Окр15как20);

               СуммаСкидки = Окр(Количество*Цена*Скидка/100, 2, РежимОкругления.Окр15как20);

              

               НомерЛУ = Объект.ИДУстройства;

               Если Штрихкод=Неопределено Тогда

                               ШтрихКод = ПолучитьШК(Наименование,"Наименование");//Найти ШК товара

               КонецЕсли;           

              

               Попытка

                               НаименованиеМодели = Объект.Модель.Наименование;

               Исключение

                               НаименованиеМодели = Объект.Модель;

               КонецПопытки;

               БлокСтрок = СформироватьБлокСтрок(Истина,НомерЛУ,Наименование, Количество, Цена, Скидка, Секция, НДС,Штрихкод,,НаименованиеМодели);

               Если Объект.Параметры.ЗаписьКопииЧека Тогда

                               ДокуметНТМЛ = ДокуметНТМЛ + КонвертироватьБлокСтрокВХТМЛ(НомерЛУ, БлокСтрок);

               КонецЕсли;

               НеПечатать = ?(НеПечатать=Неопределено,Ложь,НеПечатать);

               Если Не НеПечатать Тогда

                               Если Не ПечатьСтроки(Объект, НомерЛУ, КонвертироватьБлокСтрокВСтрокиДляПечати(НомерЛУ, БлокСтрок)) Тогда

                                               Возврат Ложь;

                               КонецЕсли;

               КонецЕсли;

              

               DescMistake="";   

               ФР = Объект.Драйвер;

              

               Если Объект.Параметры.ЗаписьКопииЧека Тогда

                               ТаблицаНалогов = Новый ТаблицаЗначений();

                               ТаблицаНалогов.Колонки.Добавить("Ставка");

                               ТаблицаНалогов.Колонки.Добавить("СуммаНалога");

               КонецЕсли;

               Налоги="";

              

               Если НЕ Объект.Параметры.ВыключитьОФД Тогда                    

                               ФР.Password = Объект.Параметры.ПарольАдминистратора;

                               тНаименование = СокрЛП(Наименование);

                               Если Штрихкод=Ложь Тогда

                                               Штрихкод = "";

                               КонецЕсли;           

                              

                               Если (Найти(НаименованиеМодели,"ШТРИХ-ККТ ЯРУС М2100Ф")=0) Тогда

                                               ФР.StringForPrinting = "//" + тНаименование;

                               Иначе                    

                                               ФР.StringForPrinting = тНаименование;

                               КонецЕсли;           

                               ФР.Barcode = СокрЛП(Штрихкод);

                              

                               Если ПустаяСтрока(ФР.Barcode) Тогда

                                               ФР.Barcode = 0;

                               КонецЕсли;

                              

                               ФР.Quantity = Количество;

                               ФР.Department = Секция;

                               ФР.Price = СуммаПозиции/Количество;

                               ФР.DiscountValue = 0;

                               ФР.ChargeValue = 0;

                               Если СуммаСкидки > 0 Тогда

                                               ФР.DiscountValue = СуммаСкидки;                                                 

                               ИначеЕсли СуммаСкидки < 0 Тогда

                                               ФР.ChargeValue = СуммаСкидки * -1;                                                            

                               КонецЕсли;

                              

                               ТабНалоговНаПокупку = GetTaxesOnBuy(НДС,Количество*Цена,СуммаСкидки);

                               Если Объект.Параметры.ЗаписьКопииЧека И (ТабНалоговНаПокупку <> Неопределено) Тогда

                                               Для Каждого СтрНалог Из ТабНалоговНаПокупку Цикл

                                                              НовСтр = ТаблицаНалогов.Добавить();

                                                              НовСтр.Ставка = СтрНалог.Ставка;

                                                              НовСтр.СуммаНалога = СтрНалог.СуммаНалога;

                                               КонецЦикла;

                               КонецЕсли;

                               ЗаполнитьНалоги(Объект,ТабНалоговНаПокупку);

                              

                               Пока Истина Цикл

                                               ФР.FNDiscountOperation();

                                              

                                               Рез = CheckMistakeFR(DescMistake,Объект);//ОбработкаОшибок(НомерЛУ, Истина);

                                               Если Рез > 0 Тогда

                                                              Результат = мОшибкаНеизвестно;

                                                              Объект.ОписаниеОшибки = DescMistake + ". Операция печати чека отменена.";

                                                             

                                                              Возврат Результат;

                                               ИначеЕсли Рез = 0 Тогда

                                                              Результат = мНетОшибки;

                                                              Прервать;

                                               ИначеЕсли Рез = -1 Тогда

                                                              //"Аннулирование чека ФР.");

                                                              ОтменитьЧек(Объект);

                                                              Результат = мОшибкаНеизвестно;

                                                              Объект.ОписаниеОшибки = DescMistake + ". Операция печати чека отменена.";

                                                             

                                                              Возврат Результат;              

                                               КонецЕсли;

                               КонецЦикла;

                              

               Иначе

                               ФР.Password = Объект.Параметры.ПарольАдминистратора;

                               ФР.Quantity = 1;

                               ФР.Price = Абс(СуммаПозиции);

                              

                               ФР.Department = Секция;

                               ФР.StringForPrinting = "";                  

                               Если Объект.Параметры.ЗаписьКопииЧека И (Налоги <> Неопределено) Тогда

                                               Для Каждого СтрНалог Из Налоги Цикл

                                                              НовСтр = ТаблицаНалогов.Добавить();

                                                              НовСтр.Ставка = СтрНалог.Ставка;

                                                              НовСтр.СуммаНалога = СтрНалог.СуммаНалога;

                                               КонецЦикла;

                               КонецЕсли;

                               ЗаполнитьНалоги(Объект,Налоги);

                              

                               Подитог = _ПолучитьПодитог(Объект,НомерЛУ);

                               Если Подитог = Неопределено Тогда

                                               Возврат Ложь;

                               КонецЕсли;

                              

                               Пока Истина Цикл

                                               Если (ФР.CheckType=0) Тогда//Параметры[НомерЛУ]["ТипЧека"] = 0 Тогда

                                                              ФР.Sale();

                                               Иначе

                                                              ФР.ReturnSale();

                                               КонецЕсли;

                                               Рез = CheckMistakeFR(DescMistake,Объект);//ОбработкаОшибок(НомерЛУ, Истина, Подитог);

                                               Если Рез > 0 Тогда

                                                              Результат = мОшибкаНеизвестно;

                                                              Объект.ОписаниеОшибки = DescMistake + ". Операция печати чека отменена.";

                                                             

                                                              Возврат Результат;

                                               ИначеЕсли Рез = 0 Тогда

                                                              Результат = мНетОшибки;

                                                              Прервать;

                                               ИначеЕсли Рез = -1 Тогда

                                                              //"Аннулирование чека ФР.");

                                                              ОтменитьЧек(Объект);

                                                              Результат = мОшибкаНеизвестно;

                                                              Объект.ОписаниеОшибки = DescMistake + ". Операция печати чека отменена.";

                                                             

                                                              Возврат Результат;              

                                               КонецЕсли;

                               КонецЦикла;

               КонецЕсли;

              

               Если Объект.Параметры.ЗаписьКопииЧека Тогда

                               ТаблицаНалогов.Свернуть("Ставка", "СуммаНалога");

               КонецЕсли;           

              

               Результат = мНетОшибки;

                Возврат Результат;              

Описание других функций приложено в обработке “ShtrihMFiscalPrinters_v2.epf”

 

 

  1. Настройка в Рознице

В меню “Сервис” – “Торговое оборудование”

Подключение и настройка торгового оборудования

Добавим в настройку в Фискальные регистраторы

Ниже настройки в случае подключения Yarus через COM-соединение:

Можно приступать к пробитию чеков.

Если делать соединение по Wi-Fi тогда timeout должен быть не менее 10000.

Скачать файлы

Наименование Файл Версия Размер
Интеграция Yarus(М2100Ф) с 1С на примере подключения в Рознице 1.0 (1.0.14.4):

.epf 59,08Kb
0
.epf 59,08Kb Скачать

Специальные предложения

Оставьте свое сообщение

См. также

Печать чеков для ККМ АТОЛ и ШТРИХ на основании текстового файла, где содержится описание товаров, цен, НДС (все требования 54-ФЗ, поддержка изменений от 01/07/19). Для 1С (7.7 и 8 УФ, обычных форм) есть готовые обработки Промо

ККМ Фискальный регистратор Кассовые операции Оптовая торговля Розничная торговля Кассовые операции Оптовая торговля Розничная торговля v7.7 v8 v8::УФ 1cv8.cf 1cv7.md Россия Абонемент ($m)

Это программа печати чеков, которая читает обычный текстовый файл, где перечислено, что надо распечатать на ФР - описание содержимого чека. Такой механизм позволяет использовать комплект для WEB сайтов, для не типовых или сильно измененных 1с7 или 1с8. Для любых программ которые умеют работать с текстовыми файлами (будь то CLIPPER,FOXPRO,JAVA, WSH, VBS итд). Внутри комплекта лежат готовые внешние печатные формы для печати из документов Реализация товаров и услуг 1с8 УТ10, БП2, БП2Базовая, БП2Корп, УТ11, БП3, БП3Базовая, БП3Корп, Для 1с:ТиС 7.7 Реализация ТМЦ, Бух4.5, Бух1.3 и Печать из ПКО Подключать ФР к 1С не надо! Не надо открывать смену. Подходит для любой конфигурации, для любого документа. Более 300 внедрений на ккм Штрих-Мини-ФР-К, Штрих ОнЛайн Атол 11Ф, 55Ф, 30. Возможна пробитие оплаты наличным или VISA  (Электронные деньги). Поддерживает передачу в ОФД имени кассира, телефон или email покупателя. Для каждого чека можно поменять ОСН (ЕНВД, Доходы-расходы итд). Возможна печать чека с выровненными колонками, Наименование,Количество Цена, Сумма, в этом случае фискализация будет одной строкой с общей суммой. Можно пробить не фискальный чек. (чек будет, но в налоговую не уйдет). Добавлена расшифровка длинных наименований, что актуально для Штрих (программа сама переносит длинные наименования на след строку). Есть внесение и выплата денег. 29.06.17 добавлено пробитие 2 видов оплат в одном чеке.

10 стартмани

11.04.2017    77721    232    ah7777777    575    

K-SOFT. Эмулятор ККТ с передачей данных. Управляемые формы. ФФД 1.1 (Ревизия 3002)

Фискальный регистратор v8 ЗКБУ Розница УНФ БГУ ЗКГУ3.0 БП3.0 БАУ УТ11 УХ КА2 ЗУП3.x 1С:CRM Россия Абонемент ($m)

Эмулятор ККТ с передачей данных позволяет печатать чеки, а также выводить их на экран в программе 1С без необходимости физического подключения фискальных регистраторов. Представляет из себя расширение, которое подключается к конфигурациям фирмы 1С, со встроенной библиотекой подключаемого оборудования (БПО). Вместо расширения, при желании, функционал можно включить и в конфигурацию. Поддерживает маркировку и печать чека коррекции с учетом проданной номенклатуры.

5 стартмани

23.11.2020    6838    117    karpik666    45    

Пакетная печать на онлайн ККТ поступлений на расчетный счет

Банковские операции Кассовые операции ККМ Фискальный регистратор Пакетная печать v8::БУ БП3.0 Энергетика и ЖКХ Россия БУ Абонемент ($m)

Расширение упрощает работу с ОФД при большим количеством поступлений от физических лиц на расчетный счет. Возможности: Загрузка реестров плательщиков из Сбербанка/Возрождения; Быстрое создание поступлений на расчетный счет по двум реквизитам (ФИО и сумма); массовая печать на онлайн ККТ данных выписки; Возможность отправки электронных чеков вместо бумажных "одной кнопкой".

10 стартмани

07.10.2020    2483    1    Keath    0    

Эмулятор фискального регистратора для Бухгалтерии предприятия КОРП, редакция 3.0

Фискальный регистратор v8 БП3.0 Абонемент ($m)

Добавление эмулятора фискального регистратора в конфигурацию Бухгалтерия предприятия КОРП 3.0.

1 стартмани

26.08.2020    4282    28    DrZombi    28    

Пробитие чеков через ККМ в офисе (для курьеров) Промо

ККМ Фискальный регистратор Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8 v8::ОУ Розница УТ11 Россия БУ Абонемент ($m)

Предлагается интеграция 1С с ККТ СтарРус. Поддерживается одновременная работа с разных рабочих мест. ККТ СтарРус работает как сервер, и принимает команды через API по http-протоколу, что позволяет пробивать чеки через центральную базу 1С для интернет-магазина и для курьеров.

1 стартмани

07.06.2018    35375    28    Kutuzov    12    

Подключение Sigma (7, 10 "150 Ф") к 1С: Розница 2.3, БП 3.0 и УТ 11.4, УНФ 1.6

ККМ Фискальный регистратор v8 Розница УНФ БП3.0 УТ11 Абонемент ($m)

Расширение, позволяющее использовать Sigma (7, 10 "150 Ф") как обычный ФР для пробития чеков из 1С: Розница напрямую.

1 стартмани

23.07.2020    8233    47    zeibba    48    

K-SOFT. Эмулятор ККТ с передачей данных. Обычные формы. ФФД 1.1 (Ревизия 3002)

Фискальный регистратор v8 УТ10 УПП1 БГУ Абонемент ($m)

Эмулятор работы с онлайн кассой, поддерживает современный стандарт работы 3.2, который включается в себя работу с маркировкой и печать чека коррекции с учетом проданной номенклатуры.

2 стартмани

16.06.2020    7451    83    karpik666    64    

Генератор штрихкодов. Формирование текста QR кода чека ККТ с проверкой на сайте ФНС

Практика программирования Сканер штрих-кода Фискальный регистратор БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Внешняя обработка. Позволяет генерировать штрих-коды разных типов. А также сформировать текст QR кода чека ККТ. Есть возможность проверить чек на корректность на сайте ФНС.

1 стартмани

02.04.2020    4271    11    viplelik    3    

БП 2.0 онлайн-касса (ККТ с передачей данных) 54 ФЗ Промо

ККМ Фискальный регистратор Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8 v8::БУ БП2.0 Россия БУ Абонемент ($m)

Изменения для объединения с конфигурацией "Бухгалтерия предприятия 2.0" с функционалом для работы с ККТ с передачей данных в ОФД (онлайн-касса), сделана согласно методическим указаниям.

2 стартмани

09.07.2017    48110    160    bob_    58    

Обработки обслуживания для "ВебЧек: Программный регистратор расчетных операций" (ПРРО)

Кассовые операции Розничная торговля ККМ Фискальный регистратор v7.7 v8 1cv8.cf 1cv7.md Украина Абонемент ($m)

ВебЧек: ПРРО - это программное решение для регистрации расчетных операций, создания электронных чеков на сервере фискальной службы. Решение совместимо со всем типовыми и не типовыми конфигурациями 1С / BAS для Украины.

1 стартмани

03.03.2020    6690    5    sergoff1    17    

Драйвер фискального регистратора Экселлио Fp-280

Фискальный регистратор v8 1cv8.cf Украина Абонемент ($m)

Регистратор Экселлио FP-280 предназначен для работы в магазинах и на предприятиях сферы обслуживания. Данная модель отличается компактностью, надежностью и способностью длительно работать в режиме повышенной нагрузки. Экселлио FP-280 внесен в государственный реестр регистраторов, как устройство полностью отвечающее всем требованиям, предъявляемым к фискальной технике на Украине.

1 стартмани

18.09.2019    6898    4    yarsort    0    

Печать скидки в чеке фискального регистратора. Управление торговлей 11.4

Фискальный регистратор Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8 v8::ОУ УТ11 Россия БУ Абонемент ($m)

Расширение реализует печать скидок в чеке ФР для конфигурации "Управление торговлей" 11.4.

5 стартмани

15.08.2019    7942    18    VsHome    6    

Простая печать чеков в соответствии с 54-ФЗ. Промо

Кассовые операции Фискальный регистратор Кассовые операции v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Простая программа для печати чеков на фискальных регистраторах через драйвер компании Штрих-М. Соответствует 54-ФЗ. Подходит для интернет-магазинов.

3 стартмани

07.07.2017    32045    28    Rik30    17    

Автоматическое открытие/ закрытие смены в программе для онлайн-касс, используемых с нескольких рабочих мест

POS терминал ККМ Фискальный регистратор Кассовые операции Кассовые операции v8 v8::ОУ УТ11 Россия Абонемент ($m)

Расширение отслеживает статус смены на Он-лайн кассе и корректно изменяет документы Кассовая смена. Подойдет, когда одна онлайн касса используется с нескольких рабочих мест.

3 стартмани

02.08.2019    6644    10    average    2    

Аванкор: Паевые фонды - работа с кассой через web-сервер Атол

Фискальный регистратор Кассовые операции Кассовые операции v8 1cv8.cf Россия Абонемент ($m)

"Аванкор: Паевые фонды" - работа с он-лайн кассой через web-сервер Атол. Подключается как расширение + внешняя обработка.

1 стартмани

28.06.2019    4592    3    Solikamsk    0    

Фискальный регистратор из принтера чеков (COM и Windows принтеры) Промо

Фискальный регистратор Розничная торговля Розничная торговля v8 БП2.0 УТ10 Розница Россия Абонемент ($m)

Обработка - драйвер для подключения обыкновенных чековых принтеров в качестве фискальных регистраторов к стандартным конфигурациям 1С: УТ, БП, Розница в режиме обычного приложения. Поддерживаемые модели:Axiohm 794 (Wincor Nixdorf TH210) в "Native Mode", Advanpos WP-T800, STAR TSP-600, Epson Esc/P2, Star ESC/POS, ШТРИХ-700, Datecs EP-60, а также ВСЕ остальные COM принтеры в режиме "Custom", поддерживаются Windows принтеры.

1 стартмани

27.08.2009    274810    695    ZyZer    288    

Выбор фискального регистратора/принтера чеков/организации перед пробитием чека в Рознице

ККМ Фискальный регистратор Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8 Розница Абонемент ($m)

Расширение позволяет продавцу выбрать организацию (и как следствие - связанную с ней кассу ККМ, фискальный регистратор/принтер чеков) прямо перед пробитием товара.

2 стартмани

18.03.2019    7707    23    denmax    6    

Атол ККТ: Онлайн 54-ФЗ (ДТО 10.4) для 1С 8.1 УТ 10.3, Розница 1, УПП 1.3, без изменения конфигурации

ККМ Фискальный регистратор Кассовые операции Кассовые операции v8 УТ10 Розница УПП1 Россия Абонемент ($m)

Обработка обслуживания драйвера "АТОЛ: Драйвер ККТ (54ФЗ) версия 10.4" для Управление торговлей 10.3, Розница 1 и УПП 1.3, на платформе 1С:8.1 и 8.2. Поддержка НДС 20%. Не требует изменения конфигурации - подключение как "Фискальный регистратор", дополнительный функционал ККТ в настройках подключения.

8 стартмани

04.12.2018    36429    192    1st    144    

Один ФР на несколько рабочих мест в УТ 11.4

ККМ Розничная торговля Фискальный регистратор Розничная торговля v8 УТ11 Розничная и сетевая торговля (FMCG) Россия УУ Абонемент ($m)

Обработка позволяет открыть и закрыть смену без печати соответствующих документов на ККМ.

1 стартмани

17.07.2018    10845    15    vasilievil    12    

Эмулятор ФР для обычного принтера чеков Windows Промо

Фискальный регистратор Розничная торговля Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) УУ Абонемент ($m)

Данная обработка предназначена для эмуляции фискального регистратора, что в последующем помогает запустить (РМК)! Также позволяет печатать чеки на обычный принтер windows!

1 стартмани

28.05.2012    38773    352    Antimyslitel    23    

Атол ККТ:Онлайн 54ФЗ для 1С 8.1 УТ 10.3 (без изменения конфигурации)

ККМ Фискальный регистратор Кассовые операции Кассовые операции v8 v8::ОУ УТ10 Россия Абонемент ($m)

Обработка обслуживания драйвера "АТОЛ: Драйвер ККТ (54ФЗ) версия 8.16" для Управление торговлей 10.3 на платформе 1С:8.1. Не требует изменения конфигурации - подключение как "Фискальный регистратор".

4 стартмани

15.06.2018    44098    122    1st    61    

Обработка печати фискального регистратора MG N707TS по http (TCP/IP) протоколу JSON, +фильтры. Обычные формы

Фискальный регистратор Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8 УТ10 Розница Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Украина Абонемент ($m)

Пришлось подключать данный регистратор к точке с довольно интенсивным клиентопотоком. В стандартных обработках обнаружен ряд моментов, через которые регистратор мог отказать в печати чека, проигнорировать строку или просто зависнуть. Доработано: - Удаление перед отправкой по http всех неподдерживаемых символов протоколом JSON - Обязательная проверка результата успешной/неуспешной печати от РРО - Возможность печати Z Отчет По Товарам - Правильная печать чеков возврата - Код товара в памяти РРО соответсвует коду товара в 1С (избегаем ошибку продажи одного товара а печати другого)

2 стартмани

01.06.2018    9129    3    michael2006    16    

Обработка обслуживания Спарк-115-Ф для конфигураций 1С на "обычных формах"

Фискальный регистратор Розничная торговля Розничная торговля v8 v8::ОУ УТ10 Россия Абонемент ($m)

Для УТ 10.3 от 41 релиза и подобных конфигураций, в которых уже есть вид оборудования "ККТ с передачей данных", но нет ККТ Спарк-115-Ф в списке ККТ.

1 стартмани

01.05.2018    10963    5    M_W_W    9    

Обновление прошивки на фискальном регистраторе Штрих-М. Com - порт - наше все.

Фискальный регистратор Розничная торговля Розничная торговля v8 1cv8.cf Россия Абонемент ($m)

Как подавить восстание машин. Посвящается Дню фискальных регистраторов Штрих-М.

3 стартмани

21.12.2017    19018    10    aspirator23    2    

Инкассация/выемка на ФР/ККТ-онлайн по РКО [БП 3.0]

Обработка документов Кассовые операции ККМ Фискальный регистратор Кассовые операции v8 v8::БУ БП3.0 БУ Абонемент ($m)

Дополнительная внешняя обработка для выполнения операции "Выемка" (изъятие, инкассация и т.п.) на ФР/ККТ-онлайн.

1 стартмани

19.12.2017    13050    15    Liris    2    

Выгрузка номенклатуры для автономной кассы Атол 90Ф, 54-ФЗ

ККМ Фискальный регистратор Розничная торговля Розничная торговля v8 Розница УТ11 Розничная и сетевая торговля (FMCG) УУ Абонемент ($m)

Обработка позволяет быстро выгрузить список товаров с ценами из 1С для последующей загрузки в кассу. Будет полезна как для тех, кто использует кассу Атол 90Ф как подменную, так и для тех, кто пользуется ей постоянно. Тестировалась на конфигурациях Розница 2.2.5.23 и Управление Торговлей 11.1.5.16, платформа 8.3.10.2505.

1 стартмани

26.10.2017    15573    17    leossb    0    

ККТ-ОНЛАЙН 54-ФЗ. Эмулятор ККТ с поддержкой ФФД 1.1. Обычные формы

Фискальный регистратор Кассовые операции Кассовые операции v8 УТ10 УПП1 Абонемент ($m)

Обработка обслуживания торгового оборудования для конфигураций на обычных формах

1 стартмани

04.09.2017    62825    426    Johny_v    39    

Настройка торгового оборудования в разрезе пользователей 1С (ОФ)

ККМ Ридер магнитных карт Сканер штрих-кода Терминал сбора данных Фискальный регистратор Кассовые операции Оптовая торговля Розничная торговля Кассовые операции Оптовая торговля Розничная торговля v8 КА1 БП2.0 УТ10 Розница Россия Абонемент ($m)

На моей практике появилась задача настройки ТО в разрезе пользователей 1С на сервере. Доработка позволит настроить любое оборудование из списка.

1 стартмани

11.08.2017    15153    11    sanymust    2    

QR-штрихкод на кассовом чеке

Фискальный регистратор Кассовые операции Кассовые операции v8 1cv8.cf Россия Абонемент ($m)

Простой вопрос - что там должно быть, что туда пихать, и как это проверить?

1 стартмани

30.07.2017    78224    20    Yashazz    9    

Драйвер 1С 8.Х для ККМ и ФР фирмы Daisy Technologi семейства Perfect

ККМ Фискальный регистратор Кассовые операции Кассовые операции v8 КА1 УТ10 Розница БП3.0 УТ11 КА2 Казахстан Абонемент ($m)

Для типовых конфигураций таких как Розница, Управление торговлей, Бухгалтерия и т.д. Поддерживается старые и новые версии платформ и конфигураций.

1 стартмани

19.07.2017    13577    9    AnacRon    6    

Эмулятор ККТ

Фискальный регистратор Кассовые операции Кассовые операции v8 1cv8.cf Россия Абонемент ($m)

В связи с применением федерального закона 54 о кассах online появилось новое торговое оборудование ККТ. К сожалению, на просторах интернета я не нашёл Эмулятора под данный вид торгового оборудования. Обработка подойдёт для следующих конфигураций: УПП1.3, УТ10.3, КА1.1 и других, в которых применяется версия API 2.05 P.S. Версия API - это версия взаимодействия конфигурации 1С с обработкой обслуживания торгового оборудования.

1 стартмани

14.06.2017    44657    266    zaoproxy    26    

ФЗ-54 Подключение фискальных регистраторов с ФН по TCP. Доработка Розницы 1.0. Обработка обслуживания Штрих-М для драйверов версии 4.13

Фискальный регистратор Розничная торговля Розничная торговля v8 КА1 УТ10 Розница Розничная и сетевая торговля (FMCG) УУ Абонемент ($m)

Обработка осуществляет обслуживание фискальных регистраторов, поддерживаемых драйвером "Штрих-М" версии 4.13 для конфигураций на обычных формах. Обработка позволяет подключать ФР как по TCP, так и через COM. Поддерживается работа двух компонент: "AddIn.SMDrvFR1C20" и "AddIn.SMDrvFR1C". Соответственно обе компоненты должны быть зарегистрированы в системе.

2 стартмани

26.01.2017    69166    168    sdv88    120    

Подключение фискального регистратора MG N707TS по http (TCP/IP) протоколу JSON (на базе ФР Novitus) УПРАВЛЯЕМЫЕ ФОРМЫ

Фискальный регистратор Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8::ОУ v8::УФ 1cv8.cf УУ НДС Абонемент ($m)

Конфигурация содержит объекты - общие модули, общие формы, справочники и перечисления, соответствующие структурным и логическим требованиям всех конфигураций на управляемых формах, построенных на БПО и БСП. Объекты позволяют подключать и работать с фискальным регистратором Гера MG N707TS по http-протоколу, не требующего драйверов. Модули открыты!

5 стартмани

16.11.2016    15508    18    Sartinsky    13    

Обработка печати чеков АТОЛ

Фискальный регистратор Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8 1cv8.cf УУ Абонемент ($m)

Бесплатная обработка!!! Подходит для драйвера ATOL 6.20. Ограничений нет.

1 стартмани

07.11.2016    13546    17    pehatuk    0    

Печать QR кода на слип чеке из 1С:УТ 10.3 для драйверов Штрих-М и АТОЛ

Фискальный регистратор Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8 УТ10 Россия Абонемент ($m)

Печать QR-кода на слип чеке, при продаже алкогольной продукции. Одна обработка для ФР работающие с драйверами Штрих-М и вторая обработка для ФР работающие с драйверами АТОЛ.

1 стартмани

08.08.2016    33532    113    delsoft    7    

Печать QR кода

Фискальный регистратор v8 1cv8.cf Абонемент ($m)

Печать QR кода на фискальных регистраторах компании Штрих-М

1 стартмани

06.07.2016    20244    37    Paltusov    8    

Печать QR из УТ 10.3 Fprint ЕГАИС

Фискальный регистратор Розничная торговля Розничная торговля v8 v8::ОУ УТ10 Розничная и сетевая торговля (FMCG) Абонемент ($m)

На чековой ленте теперь необходимо печатать QR со ссылкой на чек в системе ЕГАИС. Стандартная обработка работы с фискальными регистраторами АТОЛ в УТ 10.3 этого делать не умеет. Не умеет - научим, не захочет - заставим. В статье приведен весь исходный код.

1 стартмани

19.06.2016    34764    58    erutan    26    

Обработка для драйвера ФР Штрих-М-ПТК (4.12.472), печать QR кодов, ЕГАИС

Фискальный регистратор Розничная торговля Розничная торговля v8 Розница Россия Абонемент ($m)

Печать чеков из 1С: Розница 1.0.19.16 на ФР Штрих-М ПТК. Переделанная обработка ShtrihMFiscalPrinters_v2.epf с печатью QR кода

1 стартмани

16.06.2016    57163    250    Dwiss    40    

Эмулятор фискального регистратора с печатью Х-Отчета

Фискальный регистратор Розничная торговля Розничная торговля v8 Розница Казахстан УУ Абонемент ($m)

Обработка для печати чеков на чековом термопринтере, с возможностью печати Х-отчета. Дорабатывалась для 1С:Розница 8 для Казахстана 2.0.

1 стартмани

31.03.2016    18320    27    SagaKrasava    1    

Печать Чеков ККМ с помощью компоненты "DatecsECR.TECRFisc".

Фискальный регистратор Кассовые операции Кассовые операции v8 УТ10 УПП1 Украина Россия Абонемент ($m)

Обработка подходит для любой конфигурации где есть документы "Реализация товаров и Услуг" и "Чек ККМ". Для фискальных регистраторов datecs.

1 стартмани

24.03.2016    13762    6    hromovanton    2