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

20.05.20

Интеграция - ККМ

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Интеграция Yarus(М2100Ф) с 1С на примере подключения в Рознице 1.0 (1.0.14.4):
.epf 59,08Kb
1
1 Скачать (1 SM) Купить за 1 850 руб.
  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.

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

См. также

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения 1С:CRM ПРОФ, КОРП Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Поддерживает разрешительный режим. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows ЭМУЛЯТОР + ЭКВАЙРИНГ + МАРКИРОВКА + ПОДДЕРЖКА ФФД 1.2

6000 руб.

27.02.2017    796333    4903    9546    

2858

ККМ Кассовые операции Розничная торговля Обмен с ГосИС Программист Бухгалтер Пользователь Бухгалтерский учет Оперативный учет Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение конфигурации для УТ 11.5, КА 2.5 ,ERP 2.5 (Управляемые формы) позволяет выполнять печать кассовых чеков на одну ККМ 54-ФЗ с нескольких рабочих мест. НИКАКИХ НАСТРОЕК В РАЗРАБОТКЕ - ПОДКЛЮЧИЛ И ПЕЧАТАЙ. Если у вас несколько отделов и одна ККМ - печатайте на одной ККМ! Если у вас две ККМ и одна поломалась - печатайте на одной ККМ, пока ремонтируете другую!

4500 руб.

27.08.2018    122177    1025    584    

864

SALE! 25%

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих, Вики Принт и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима.

5880 4410 руб.

25.05.2015    335549    1956    3058    

1031

ККМ Розничная торговля Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Розница 2 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Обмен между 1С:Розница и Frontol 6 при торговле от нескольких организаций, а также ряд других полезных функций. Данный модуль синхронизации незаменим для тех, кто ведёт учет по нескольким организациям в 1С:Розница, а на РМК (рабочем месте кассира) установлен Frontol или планируется его установка. Подходит для 1С:Розница 2.3 / 3.0, 1С:УНФ 3.0

1800 руб.

22.03.2019    84024    509    478    

182

ККМ Кассовые операции Розничная торговля Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Платные (руб)

«Сервер ККМ» позволяет приложениям работать с фискальными регистраторами по локальной сети или интернет, организовать печать на одном ККМ с нескольких рабочих мест. Поддержка драйверов Атол, Штрих и VikiPrint. Поддержка 54-ФЗ и разрешительного режима, ФФД 1.05,1.2. Подключается к 1С Торговля и склад 7.7, 1С:УТ 10/11, 1С:УНФ, 1С:Розница 1/2, 1С:БП 2/3, 1С КА 1/2., 1С:ERP, УПП. Ускоряет печать из терминального сеанса Windows. Работает с разрешительным режимом даже из старых конфигураций. Предоставляет REST API для печати через веб-сервис.

3000 руб.

02.09.2016    136451    152    193    

181

Кассовые операции ККМ Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Платные (руб)

Расширение для 1С:Управление торговлей 11.5, которое позволяет пробивать чеки ККМ и списывать товар с разных складов. Склад списание товара можно указывать в табличной части рабочего места кассира (РМК).

5880 руб.

12.04.2023    9335    44    3    

36

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Розница 3.0 Россия Платные (руб)

Обработки осуществляют обслуживание фискальных регистраторов, поддерживаемых драйвером "АТОЛ: Драйвер ККМ v.10.10", "ШТРИХ-М: Драйвер ККМ v 5.16", "ВИКИ: Драйвер CSI v 1.6", для конфигураций БП, УТ, КА, УПП, "Розница 3.0", соответствующих требованиям закона ФЗ-54 о применении контрольно-кассовой техники.Поддержка НДС 20%. Поддержка маркировки 488-ФЗ. Марки. Акциз. Честный знак. Разрешительный режим.

5040 руб.

02.02.2017    276494    557    2375    

558

Кассовые операции ККМ Системный администратор Программист Бухгалтер Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Программа для управления ККМ Атол и Штрих нового поколения (он-лайн ККТ под 54-ФЗ) с помощью текстового файла (ini файла) с изменениями включена 1 лицензия Для любых программ, которые умеют работать с текстовыми файлами. Внутри комплекта есть готовые к использованию обработки

4800 руб.

31.07.2017    170852    589    605    

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