Одна ККТ для розничного магазина и Интернет-сайта

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

Учет и отчетность - Розничная торговля

Опыт использования одной онлайн-кассы для приема платежей в розничном магазине и на Интернет-сайте: технические подробности.

Постановка задачи

Организация занимается розничной торговлей. В розничном магазине используется программа 1С, к которой подключена онлайн-касса. Организация создала Интернет-сайт, на котором есть возможность заказать товар. Необходимо сделать возможность оплатить товар на сайте, при этом чек должен пробиться на кассе, которая установлена в розничном магазине.

 

Что потребовалось для решения

 

1. Какой-то особый кассовый аппарат не требуется. Важно, чтобы кассовый аппарат не имел признака «только для расчетов в сети Интернет». Т.е. этого признака не должно быть в реестре ФНС для данной модели, и этот признак не должен устанавливаться при регистрации ККТ. Другими словами, подойдет любой аппарат для розничной торговли, которой имеет драйвера для 1С. В нашем случае использовался «АТОЛ 22ПТК».

 

2. Для приёма оплаты с помощью банковских карт на сайте потребовался Интернет-эквайринг. В упрощенном виде процесс оплаты состоит из следующих шагов:

а) после оформления заказа в на сайте клиент переадресуется на платёжную форму, где вводит данные своей банковской карты (номер, срок действия и т.д.);

б) далее выполняется запрос авторизации в банк-эквайер и проходит процедура проверки (например, отправка пароля в  SMS-сообщении);

в) при успешной оплате Интернет-эквайер оповещает сайт.

г) сайт оповещает клиента об успешной оплате заказа.

В нашем случае использовался Интернет-эквайринг от Сбербанка.

 

3. Потребовалась доработка конфигурации 1С. Можно использовать любою конфигурацию, которая поддерживает розничную торговлю и торговое оборудование (Розница, УТ, КА, УНФ и т.д). В нашем случае использовалась конфигурация УТ10.3, в которую был добавлен http-сервис для интеграции с сайтом.

 

4. Так как http-сервис в 1С работает в контексте "сервера", а работа с торговым оборудованием в 1С  осуществляется в контексте "клиента", была использована вспомогательная программа «Модуль ККТ: онлайн-касса по сети» (//infostart.ru/public/1109732/). Эта программа позволяет подключать онлайн-кассу к службе "Сервер ККТ", а 1С может подключаться к этой службе через драйвер "Клиент ККТ" как в контексте "клиента", так и в контексте "сервера". Получилась следующая схема:

 

Кассовые смены

Так как Интернет-сайт не зависит от графика работы магазина, то потребовалось внести изменения в процесс открытия и закрытия кассовых смен.

1. Открытие смены

Смену открывает кассир в магазине или Интернет-сайт, в зависимости от того, кто раньше регистрирует оплату.

В начале рабочего дня кассир проверяет статус кассовой смены. Если смена не открыта, то кассир открывает смену. С другой стороны, сайт перед каждым приёмом оплаты тоже проверяет статус кассовой смены и, при необходимости, открывает смену.

2. Закрытие смены

По окончании рабочего дня кассир закрывает смену. Сайт перед каждым приёмом оплаты проверяет статус кассовой смены. Если смена закрыта, открывает смену. В конце суток, по расписанию (например, в 23:55), сайт проверяет статус смены. Если смена открыта, то сайт закрывает смену.

 

Доработки в 1С

Работа с ККТ внутри http-сервиса осуществляется с помощью драйвера "Клиент ККТ". Так как http-сервис работает в контексте "сервера", то этот драйвер (файл KKT_Client_3001.zip) нужно поместить в общий макет типа "Двоичные данные".

Для подключения драйвера используется вспомогательная функция ПодготовитьККТ:


Функция ПодготовитьККТ(Отказ,ОписаниеОшибки)
	
	Результат = Новый Структура;
	
	КассаККМ = Константы.ИнтернетМагазин_КассаККМ.Получить(); //добавили константу, где указываем ККМ для сайта
	Если ЗначениеЗаполнено(КассаККМ)=Ложь Тогда
		Отказ = Истина;
		ОписаниеОшибки = "Не указана касса ККМ для Интернет-платежей!";
		Возврат Результат;
	КонецЕсли;
	
	П = Константы.ИнтернетМагазин_СерверККТ.Получить(); //добавили константу, где храним настройки подключания к серверу ККТ в виде Сервер:Порт. Здесь Сервер - имя компьютера, к которому подключен кассовый аппарат. Порт по умолчанию 52111

	Если ЗначениеЗаполнено(П)=Ложь Тогда
		Отказ = Истина;
		ОписаниеОшибки = "Не указаны параметры сервера ККТ";
		Возврат Результат;
	КонецЕсли;

	х = Найти(П,":");
	Если х=0 Тогда
		Сервер = П;
		Порт = 52111;
	Иначе
		Сервер = Лев(П,х-1);
		Попытка
			Порт = Число(Сред(П,х+1));
		Исключение
			Порт = 52111;
		КонецПопытки;
	КонецЕсли;
	
	Если ПодключитьВнешнююКомпоненту("ОбщийМакет.KKT_Client_3001","ZY312",ТипВнешнейКомпоненты.Native)<>Истина Тогда
		Отказ = Истина;
		ОписаниеОшибки = "Ошибка подключения внешней компоненты";
		Возврат Результат;
	КонецЕсли;

	Компонента = Новый("AddIn.ZY312.MKClient_3001");
	Компонента.УстановитьПараметр("Server",Сервер);
	Компонента.УстановитьПараметр("Port",Порт);
	

	ИДУстройства = "";
	Если Компонента.Подключить(ИДУстройства)<>Истина Тогда
		Отказ = Истина;
		П1 = "";
		Компонента.ПолучитьОшибку(П1);
		ОписаниеОшибки  = "Ошибка открытия ККТ "+П1;
		Возврат Результат;
	КонецЕсли;
	
	Результат.Вставить("КассаККМ",КассаККМ);
	Результат.Вставить("Драйвер",Компонента);
	Результат.Вставить("ИДУстройства",ИДУстройства);
	Результат.Вставить("ПараметрыРегистрации",Новый Структура);
	Результат.Вставить("РевизияИнтерфейса",3001);
	
	Возврат Результат;
КонецФункции

 

Получение статуса кассовой смены:


Функция ПолучитьТекущееСостояниеКассовойСмены(Отказ,ОписаниеОшибки)
	
	ПараметрыПодключения = ПодготовитьККТ(Отказ,ОписаниеОшибки);
	Если Отказ Тогда
		Ответ = Новый Структура("Error",ОписаниеОшибки);
		Возврат Значение_В_JSON(Ответ);
	КонецЕсли;
	
	ВходныеПараметры = ""+Символы.ПС+"";
	
	ВыходныеПараметры = "";
	Если ПараметрыПодключения.Драйвер.ПолучитьТекущееСостояние(ПараметрыПодключения.ИДУстройства,ВходныеПараметры,ВыходныеПараметры)<>Истина Тогда
		П1 = "";
		ПараметрыПодключения.Драйвер.ПолучитьОшибку(П1);
		Ответ.Text = "Ошибка вызова метода GetCurrentStatus "+П1;
		
		ПараметрыПодключения.Драйвер.Отключить(ПараметрыПодключения.ИДУстройства);

		Отказ = Истина;
		Ответ = Новый Структура("Error","Ошибка вызова метода ПолучитьТекущееСостояние: "+П1);
		Возврат Значение_В_JSON(Ответ);
	КонецЕсли;

	ПараметрыПодключения.Драйвер.Отключить(ПараметрыПодключения.ИДУстройства);
	
	П = ПолучитьВыходныеПараметрыИзXML(ВыходныеПараметры);
	
	Если ЗначениеЗаполнено(П.СостояниеСмены) Тогда
		Ответ = Новый Структура("ShiftState",П.СостояниеСмены);
	Иначе
		Отказ = Истина;
		Ответ = Новый Структура("Error","Не удалось определить состояние кассовой смены: "+ВыходныеПараметры);
	КонецЕсли;
	
	Возврат Значение_В_JSON(Ответ);
КонецФункции

Функция ПолучитьВыходныеПараметрыИзXML(XML)

	Результат = Новый Структура("СостояниеСмены,НомерСмены");
	
	ЧтениеXML = Новый ЧтениеXML; 
	ЧтениеXML.УстановитьСтроку(XML);
	ЧтениеXML.ПерейтиКСодержимому();
	
	Если ЧтениеXML.Имя="OutputParameters" И ЧтениеXML.ТипУзла=ТипУзлаXML.НачалоЭлемента Тогда
		Если ЧтениеXML.Прочитать() И ЧтениеXML.Имя="Parameters" И ЧтениеXML.ТипУзла=ТипУзлаXML.НачалоЭлемента Тогда

			ShiftState = СокрЛП(ЧтениеXML.ЗначениеАтрибута("ShiftState"));
			Если ShiftState="1" Тогда
				Результат.СостояниеСмены = "Закрыта";

			ИначеЕсли ShiftState="2" Тогда
				Результат.СостояниеСмены = "Открыта";

			ИначеЕсли ShiftState="3" Тогда
				Результат.СостояниеСмены = "Истекла";
			КонецЕсли;
			
			ShiftNumber = СокрЛП(ЧтениеXML.ЗначениеАтрибута("ShiftNumber"));
			Попытка
				Результат.НомерСмены = Число(ShiftNumber);
			Исключение
			КонецПопытки;

		КонецЕсли;
	КонецЕсли;

	Возврат Результат;
КонецФункции

Функция Значение_В_JSON(Структура)
	ЗаписьJSON = Новый ЗаписьJSON;
	ЗаписьJSON.УстановитьСтроку();
	ЗаписатьJSON(ЗаписьJSON, Структура);
	СтрJSON = ЗаписьJSON.Закрыть();	
	
	Возврат СтрJSON;
КонецФункции

 

Открытие и закрытие кассовой смены:


Функция ОткрытьКассовуюСмену(JSON,Отказ,ОписаниеОшибки)

	ПараметрыПодключения = ПодготовитьККТ(Отказ,ОписаниеОшибки);
	Если Отказ Тогда
		Ответ = Новый Структура("Error",ОписаниеОшибки);
		Возврат Значение_В_JSON(Ответ);
	КонецЕсли;

	ВходныеПараметры = ""+Символы.ПС+"";
	
	ВыходныеПараметры = "";
	Если ПараметрыПодключения.Драйвер.ОткрытьСмену(ПараметрыПодключения.ИДУстройства,ВходныеПараметры,ВыходныеПараметры)<>Истина Тогда
		П1 = "";
		ПараметрыПодключения.Драйвер.ПолучитьОшибку(П1);
		
		ПараметрыПодключения.Драйвер.Отключить(ПараметрыПодключения.ИДУстройства);

		Отказ = Истина;
		Ответ = Новый Структура("Error","Ошибка вызова метода ОткрытьСмену "+П1);
		Возврат Значение_В_JSON(Ответ);
	КонецЕсли;

	ПараметрыПодключения.Драйвер.Отключить(ПараметрыПодключения.ИДУстройства);
	
	П = ПолучитьВыходныеПараметрыИзXML(ВыходныеПараметры);
	
	Если ЗначениеЗаполнено(П.НомерСмены) Тогда
		Ответ = Новый Структура;
		Ответ.Вставить("ShiftNumber",П.НомерСмены);
	Иначе
		Отказ = Истина;
		Ответ = Новый Структура("Error","Не удалось определить номер кассовой смены: "+ВыходныеПараметры);
		Возврат Значение_В_JSON(Ответ);
	КонецЕсли;
	
	
	//Создаем документ КассоваяСмена
	Док = Документы.КассоваяСмена.СоздатьДокумент();
	Док.Дата = ТекущаяДатаСеанса();
	Док.НачалоКассовойСмены = Док.Дата;
	Док.КассаККМ = ПараметрыПодключения.КассаККМ;
	Док.Организация = Док.КассаККМ.Владелец;
	Док.Статус = Перечисления.СтатусыКассовойСмены.Открыта;
	Док.НомерСменыККТ = П.НомерСмены;
	Попытка
		Док.Записать(РежимЗаписиДокумента.Проведение);
	Исключение
		Отказ = Истина;
		Ответ = Новый Структура("Error",ОписаниеОшибки());
		Возврат Значение_В_JSON(Ответ);
	КонецПопытки;

	Возврат Значение_В_JSON(Ответ);
КонецФункции

Функция ЗакрытьКассовуюСмену(JSON,Отказ,ОписаниеОшибки)
	
	ПараметрыПодключения = ПодготовитьККТ(Отказ,ОписаниеОшибки);
	Если Отказ Тогда
		Ответ = Новый Структура("Error",ОписаниеОшибки);
		Возврат Значение_В_JSON(Ответ);
	КонецЕсли;

	ВходныеПараметры = ""+Символы.ПС+"";
	
	ВыходныеПараметры = "";
	Если ПараметрыПодключения.Драйвер.ЗакрытьСмену(ПараметрыПодключения.ИДУстройства,ВходныеПараметры,ВыходныеПараметры)<>Истина Тогда
		П1 = "";
		ПараметрыПодключения.Драйвер.ПолучитьОшибку(П1);
		
		ПараметрыПодключения.Драйвер.Отключить(ПараметрыПодключения.ИДУстройства);

		Отказ = Истина;
		Ответ = Новый Структура("Error","Ошибка вызова метода ЗакрытьСмену "+П1);
		Возврат Значение_В_JSON(Ответ);
	КонецЕсли;

	ПараметрыПодключения.Драйвер.Отключить(ПараметрыПодключения.ИДУстройства);
	
	П = ПолучитьВыходныеПараметрыИзXML(ВыходныеПараметры);
	
	Если ЗначениеЗаполнено(П.НомерСмены) Тогда
		Ответ = Новый Структура;
		Ответ.Вставить("ShiftNumber",П.НомерСмены);
	Иначе
		Отказ = Истина;
		Ответ = Новый Структура("Error","Не удалось определить номер кассовой смены: "+ВыходныеПараметры);
		Возврат Значение_В_JSON(Ответ);
	КонецЕсли;
	
	
	Запрос = Новый Запрос(
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	Док.Ссылка,
	|	Док.НачалоКассовойСмены КАК НачалоКассовойСмены
	|ИЗ
	|	Документ.КассоваяСмена КАК Док
	|ГДЕ
	|	Док.КассаККМ = &КассаККМ
	|	И Док.Проведен = ИСТИНА
	|	И Док.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыКассовойСмены.Открыта)
	|
	|УПОРЯДОЧИТЬ ПО
	|	НачалоКассовойСмены УБЫВ");
	Запрос.УстановитьПараметр("КассаККМ",ПараметрыПодключения.КассаККМ);
	Табл = Запрос.Выполнить().Выгрузить();
	Если Табл.Количество()=1 Тогда
		Док = Табл[0].Ссылка.ПолучитьОбъект();
		Док.ОкончаниеКассовойСмены = ТекущаяДата();
		Док.Статус = Перечисления.СтатусыКассовойСмены.Закрыта;
		Попытка
			Док.Записать(РежимЗаписиДокумента.Проведение);
		Исключение
			Отказ = Истина;
			Ответ = Новый Структура("Error",ОписаниеОшибки());
			Возврат Значение_В_JSON(Ответ);
		КонецПопытки;
	КонецЕсли;

	Возврат Значение_В_JSON(Ответ);
КонецФункции

 

Пробитие чека:


Функция ПробитьЧекНаККТ(JSON,Отказ,ОписаниеОшибки)
	
	Попытка
		А = ОбщегоНазначения.JSON_В_Значение(JSON);
		ИД = СокрЛП(А.doc);
	Исключение
		Отказ = Истина;
		Ответ = Новый Структура("Error","Ошибка разбора JSON");
		Возврат Значение_В_JSON(Ответ);
	КонецПопытки;
	
	ПараметрыПодключения = ПодготовитьККТ(Отказ,ОписаниеОшибки);
	Если Отказ Тогда
		Ответ = Новый Структура("Error",ОписаниеОшибки);
		Возврат Значение_В_JSON(Ответ);
	КонецЕсли;

    //Предполагается, что сайт уже выгрузил заказ в документ ЧекККМ. Нам остатось провести документ и пробить чек.
	Ссылка = Документы.ЧекККМ.ПолучитьСсылку(Новый УникальныйИдентификатор(ИД));
	Док = Ссылка.ПолучитьОбъект();
	
	Попытка
		Док.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Оперативный);
	Исключение
		Отказ = Истина;
		Ответ = Новый Структура("Error",ОписаниеОшибки());
		Возврат Значение_В_JSON(Ответ);
	КонецПопытки;
	
	XMLПакет = КакойТоОбщийМодуль.ПолучитьXMLПакетДляФискализацияЧека(...); //вызвать функцию общего модуля, в зависимости от конфигурации
	Электронно = Истина;
	ВыходныеПараметры = Неопределено;

	Если ПараметрыПодключения.Драйвер.СформироватьЧек(ПараметрыПодключения.ИДУстройства, Электронно, XMLПакет, ВыходныеПараметры)<>Истина Тогда
		П1 = "";
		ПараметрыПодключения.Драйвер.ПолучитьОшибку(П1);
		
		ПараметрыПодключения.Драйвер.Отключить(ПараметрыПодключения.ИДУстройства);
		
		//распроведем документ
		Попытка
			Док.Записать(РежимЗаписиДокумента.ОтменаПроведения);
		Исключение
		КонецПопытки;
		
		Отказ = Истина;
		Ответ = Новый Структура("Error","Ошибка вызова метода СформироватьЧек: "+П1);
		Возврат Значение_В_JSON(Ответ);
	КонецЕсли;
	
	ЧтениеXML = Новый ЧтениеXML;
	ЧтениеXML.УстановитьСтроку(ВыходныеПараметры);
	Д = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);
	НомерСмены = Число(Д.Parameters.ShiftNumber);
	НомерЧека = Число(Д.Parameters.CheckNumber);    //Номер фискального документа    (ФД)
	ФискальныйПризнак = Д.Parameters.FiscalSign;    //Фискальный признак             (ФПД)
			
	//Получим номер ФН
	НомерФН = "";
	ТаблицаПараметровККТ = "";
	Если ПараметрыПодключения.Драйвер.ПолучитьПараметрыККТ(ПараметрыПодключения.ИДУстройства,ТаблицаПараметровККТ)=Истина Тогда
		Попытка
			ЧтениеXML = Новый ЧтениеXML;
			ЧтениеXML.УстановитьСтроку(ТаблицаПараметровККТ);
			Д = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);
			НомерФН = Д.FNSerialNumber;
		Исключение
		КонецПопытки;
	КонецЕсли;
	
	ПараметрыПодключения.Драйвер.Отключить(ПараметрыПодключения.ИДУстройства);

	Ответ = Новый Структура;
	Ответ.Вставить("FNSerialNumber",НомерФН);
	Ответ.Вставить("CheckNumber",НомерЧека);
	Ответ.Вставить("FiscalSign",ФискальныйПризнак);
	
	Значение_В_JSON(Ответ);
КонецФункции

Функция JSON_В_Значение(Значение)
	ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(Значение);
    Результат = ПрочитатьJSON(ЧтениеJSON);
    ЧтениеJSON.Закрыть();

	Возврат Результат;
КонецФункции

 

Обратите внимание на параметр "Электронно = Истина", т.е. бумажный чек не распечатается, но в налоговую чек уйдет.

Если чек успешно пробит, то функция ПробитьЧекНаККТ возвращает номер фискального документа, фискальный признак и номер фискального накопителя. Эти параметры можно использовать для составления ссылки на электронный чек. В нашем случае, для "Платформа ОФД", ссылка выглядит следующим образом:

https://lk.platformaofd.ru/web/noauth/cheque?fn=9251433377086452&fp=4493881571&i=7803

где fn - номер фискального накопителя

      fp - фискальный признак

      i - номер фискального документа

 

Как это выглядит для посетителя сайта

1. Посетитель сайта набрал товар в корзину. На сайте сделана кнопка "Оплатить":

2. Посетитель переадресуется на платёжную форму, где вводит данные своей банковской карты:

 

3. Выполняется запрос авторизации в банк-эквайер и проходит процедура проверки:

 

4. Посетителю отправляется ссылка на электронный чек:

 

P.S. Юридические и экономические аспекты выходят за рамки данной статьи.

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. DanDy 38 23.01.20 14:17 Сейчас в теме
Если бы вы использовали web-сервис от компании атол (идет в составе 10 драйверов) и например вот эту обработку обслуживания
https://infostart.ru/public/942924/ то обошлись бы только изменением в области контроля открытой смены.
5. Terve!R 27.01.20 19:22 Сейчас в теме
(1) а как вот эта обработка принимает чеки с сайта? Где подробная инструкция по настройке, как сделано в этой статье?
Просто сказать "используйте web-сервис от компании атол" много ума не надо.
6. DanDy 38 28.01.20 09:39 Сейчас в теме
(5) Просто прочитать заголовок много ума не надо.
Читайте лучше, обработка предназначена для работы из 1С с кассой Атол по web-сервису.
В документации к 10 драйверу есть вся инфа, которой более чем достаточно, чтобы прописать формирование JSON-а и отправить его POST-запросом куда требуется (непосредственно с сайта). Интеграцию с сайтом ТС всё равно дописывал как я понял из статьи.
7. Terve!R 28.01.20 12:35 Сейчас в теме
(6)
работа с ККТ Атол ведется через HTTP-запросы к WEB-серверу АТОЛ

Это обработка работает через Web-серевер Атола, получается надо тоже самое писать для сайта, тогда зачем мне эта обработка? Зачем давать непонятные ссылки, чтобы человек еще там что-то сам писал на сайте? Я и сам знаю, что надо писать код, чтобы все заработало, что за советы такие "бери читай документацию и пиши"? Я просил готовое решение, а не посылание в документацию или Гугл, а готового решения для сайта для работы с Атолом по ссылке нет.
8. DanDy 38 28.01.20 14:08 Сейчас в теме
(7) я писал комментарий к статье. Где и у кого вы просили готовое решение понятия не имею, в связи с чем ваша претензия должна быть направлена к самому себе. У меня готовых решений вы не просили.
А обработка избавила бы автора статьи от реализации собственно НТТР-сервиса на 1С.
9. DanDy 38 28.01.20 14:08 Сейчас в теме
(7) Предлагаю вам сначала думать, а потом писать и жаловаться на комментарии, а то выглядите как маленький троль
11. LeaNaeD 11 26.08.20 22:56 Сейчас в теме
(9)
комментарии


Сам ты троль, претензии у человека вполне обоснованные. В первую очередь потому, что в данной статье описан конкретный пример внедрения, а по твоей ссылке ПЛАТНОЕ непонятно что без нормального описания. По всей видимости, ты просто в доле.
12. DanDy 38 27.08.20 09:58 Сейчас в теме
(11)я с вами чаёв не пил чтобы ко мне на ты обращаться ну да ладно.
Тролли здесь ты и следуя твоей же логике "кореш" раз уж у тебя за него так рвёт.
Специально для вас напишу что я оставил комментария для автора, я не предлагал ему ничего покупать и т.д. и уж тем более вам, злобные маленькие жадные тролли. И заметьте, я предложил ему использовать именно web-сервис от Атола (для вас поясню что он бесплатный). А обработку привел в качестве примера что это очень даже рабочий вариант.
И если вы не способны взять документацию (а она у сервиса Атола достаточно полная и с примерами) и переложить это на 1С, то уж простите это лично ваши проблемы.
Сообщение было адресовано автору, никак не вам так что ваше влезание в разговор, который вас не касается считаю троллингом чистой воды.

И на будущее читайте полностью разговор куда хотите влезть, а то выглядите как маленькая школьница которая проходя мимо услышала знакомое слово и начала орать.

А то что вы тут ищите халяву, ну и ищите я ж вам не мешаю)))) Раз уж мозгов самим написать не хватает, то побирайтесь дальше.
13. DanDy 38 27.08.20 10:02 Сейчас в теме
(11) Ах да, самое то вкусное и забыл.
Читай пункт 4 статьи где автор пишет что использовал https://infostart.ru/public/1109732/ эту обработку
Переходим по ссылке и внимание (сейчас у тебя порвутся штанишки) она ПЛАТНАЯ...

А web-сервис Атола который бесплатный доступен как с клиента так и с сервера. Ему по барабану откуда прилетело задание на печать чека. Так что ничто не мешает с его помощью сделать ПОЛНОСТЬЮ БЕСПЛАТНОЕ решение
2. Rustig 1552 24.01.20 12:57 Сейчас в теме
спасибо за подробное описание! уникальный опыт!
3. Sergynia 2 25.01.20 14:15 Сейчас в теме
Огромное спасибо за статью.
4. sivin-alexey 632 25.01.20 14:32 Сейчас в теме
Жмите "+", если понравилась
user900350; +1 Ответить
10. user900350 12.03.20 17:45 Сейчас в теме
(4)Здравствуйте. Как с Вами связаться?
(4)
Оставьте свое сообщение

См. также

Модуль ККТ: онлайн-касса по сети Промо

Кассовые операции Кассовые операции v7.7 v8 v8::Mobile Россия Платные (руб)

Одна онлайн-касса для нескольких программ, для планшетов, для Интернет-сайта. Cоответствует 54-ФЗ. Любое количество рабочих мест без абонентской платы. Бесплатный пробный период: 30 дней.

2500 руб.

20.08.2019    18704    82    80    

Модуль логиста: как обычная доработка стала тиражным решением

Управление взаимоотношениями с клиентами (СRM) Монитор заказов Розничная торговля Управление услугами и сервисом v8::ОУ 1cv8.cf УУ Бесплатно (free)

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

18.08.2020    1373    RAU IT    2    

Загрузка данных из Algoritm-S в конфигурацию "Бухгалтерия предприятия 3.0 (3.0.79.21) "

Розничная торговля Внешние источники данных v8 БП3.0 Розничная и сетевая торговля (FMCG) Фармацевтика, аптеки Россия Бесплатно (free)

В статье представлен шаблон обработки для загрузки некоторых данных из программы Algoritm-S в конфигурацию "Бухгалтерия предприятия 3.0 (3.0.79.21)

04.08.2020    1159    RPGrigorev    0    

Страсти по эквайрингу. Раздельный учёт УСН + ЕНВД (1С:Розница)

Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) НУ ЕНВД УСН Бесплатно (free)

- Зачем статья? - Больше для себя, чтобы не забыть, как всё это делала. Долго искала. Есть по частям. Если кому-то будет полезна – хорошо. - О чём же? - Как учесть поступления на расчетный счет от торгового эквайринга при розничных продажах в АТТ при совмещении налоговых режимов (УСН+ЕНВД, схема с УСН+патент будет такая же) в 1С: Предприятие 3.0.

15.07.2020    1120    MARIYA156    1    

Кубик-рубик для деклараций 11 и 12 по данным 1С.Розница, ЕГАИС и других программ и источников. (Сбор/разбор деклараций на части и их анализ) Промо

Регламентированная отчетность Бухгалтерский учет Розничная торговля Розничная торговля v8::ОУ Розница Россия БУ УУ Бесплатно (free)

Рассмотрены самые сложные ситуации(даже когда все данные утеряны). Алкогольные декларации 11 и 12 по данным 1С.Розница и других программ и источников.(Сбор/разбор деклараций на части и их анализ). "Приготовление" деклараций с учетом заданных/требующихся входных/выходных параметров. Рассматриваем самые сложные(изначально кажущиеся безвыходными) ситуации. Подходит тем, кто окончательно запутался в связи с введением ЕГАИСа в розничное звено.

09.12.2016    22442    liginrambler    7    

Если ККМ Атол + 1С Розница тормозит при печати чеков по сети, или экономим на покупке ККТ и ФР

Розничная торговля Адаптация типовых решений ККМ v8 Розница УТ11 Россия Бесплатно (free)

Очень медленная работа с ККТ по Tcp/ip или Как заставить две клиентских Розницы 1С печатать чеки на одной кассе ККТ онлайн Предыстория и чем все закончилось.

01.07.2020    2477    lepihin    6    

Как разрешить продажу по нулевой цене, или 100%-ная скидка. Простые примеры (КА 2.4, а также ERP 2.2 и УТ 11.4)

Практика программирования Оптовая торговля Розничная торговля Ценообразование, анализ цен v8 ERP2 УТ11 КА2 Россия УУ Бесплатно (free)

Акции, бонусы, подарки, бесплатные буклеты... Это ограничено 1С и НК, но это очень хочется иметь в управленческой базе. При этом не хочется снимать программу с поддержки. Легко.

06.05.2020    3025    ne_en    16    

Программирование в Штрих-М Кассир 5

Практика программирования Розничная торговля v8 1cv8.cf Бесплатно (free)

Методы и свойства для программирования в Штрих-М Кассир 5.

13.03.2020    3012    Ignatov_mu    2    

Продажи без дублей по маркам. Сведение остатков в магазинах с остатками в ЕГАИС. Декларации по Форме 11 и Форме 12 по данным 1С.Розница 2.2 и др. программ и источников. Промо

Бухгалтерский учет Розничная торговля Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) Россия БУ УУ Бесплатно (free)

Для выбора интересующего пункта используйте нажатие кнопок меню(внизу публикации) 1) Сводим остатки алкоголя в ЕГАИС без остановки продаж в магазинах. 2) Включаем онлайн-контроль дублей марок при продажах. 3) Алкогольные декларации по Форме 11 и Форме 12 по данным 1С.Розница 2.2 и других программ и источников.(Сбор/разбор деклараций на части и их анализ). "Приготовление" деклараций с учетом заданных/требующихся входных/выходных параметров. Рассматриваем самые сложные ситуации. Подходит тем кто окончательно запутался в связи с введением ЕГАИСа в розничное звено.

18.11.2016    32880    liginrambler    12    

Как продавать маркируемый товар (обувь) из 1С:Розница + сканер для маркировки

Розничная торговля Сканер штрих-кода v8 Розница Розничная и сетевая торговля (FMCG) Россия Бесплатно (free)

Маркировка обуви в нашей стране началась с 1 июля 2019 года. Но если в 2019м году от участников рынка требовалось только зарегистрироваться в системе «Честный знак», то теперь уже совсем не за горами дата, когда необходимо будет в обязательном порядке передавать данные о проданных единицах обуви. По графику этот судный день назначен на 1 марта 2020 года. Как все знают, русский человек всегда надеется на лучшее (или на авось, кому как нравится), надеется что правительство передумает. Сейчас в сети ходит информация о возможных сроках переноса судного дня на 1 июля, или, даже, 1 сентября 2020 года, это лишь отсрочки, но никак не отмена обязательной маркировки. В дополнении ко всему вышесказанному надо отметить, что самая популярная программа для розничной торговли, а именно 1С:Розница, как и ее пользователи не смогла заранее подготовиться к нововведениям. Обновление, в котором система стала работать более-менее корректно, вышло лишь 6 февраля 2020 года (менее чем за месяц до судного дня)

22.02.2020    3663    VCPro    7    

Подключение АТОЛ 91/92Ф к 1С:Касса

ККМ Кассовые операции Кассовые операции v8 1cv8.cf Россия Бесплатно (free)

Т.к. я не нашел данной информации в гугле (возможно, плохо искал), решил, что нужно оставить эту статью здесь, может, поможет кому.

10.09.2019    8191    rule_2    7    

Создание номенклатуры в 1С: Розница 8. Ювелирный магазин

Пользователю системы Бухгалтерский учет Розничная торговля Розничная торговля v8 Розница Ювелирная промышленность и торговля Россия УУ Бесплатно (free)

Создание номенклатуры в Розница 8. Ювелирный магазин, редакция 2.2 (2.2.13.11) с использованием правил именования номенклатуры.

02.09.2019    7013    StAn1988    0    

Расширение типового функционала работы с ККМ в 1с Розница 1.0 (добавление произвольного количества типов оплаты) Промо

ККМ v8 Розница Бесплатно (free)

У одного клиента,занимающегося розничной торговлей, появилась необходимость разделять продажи по типам оплаты в Z-отчете с бОльшим разнообразием,чем позволяет типовой функционал работы с ТО. Т.е. стандартную разбивку на наличную и безналичную оплату расширить до нал,оплата по платежным картам(безнал),банковским кредитам.В то же время исключить кредит из секции «оплата по безналу». Почему возникла такая потребность?Все просто,в бэк-офисе так проще сверять Отчет о розничных продажах с Z-отчетом.

28.02.2013    50612    ranger    17    

Решение проблем с сетевым ключом защиты для Штрих-М: Торговое предприятие 5

Администрирование данных 1С Розничная торговля Розничная торговля v8 1cv8.cf Розничная и сетевая торговля (FMCG) Россия УУ Бесплатно (free)

Штрих-М: Торговое предприятие 5 имеет свой ключ защиты, который проверяет сразу после запуска базы. Если вы увидели сообщение "ключ не найден", материал в этой статье может помочь решить вашу проблему.

21.08.2019    7465    Van2507    5    

Вывод отчетов из Штрих-М Торговое предприятие 5 на кассовое ПО Кассир 5 через веб-сервис

Розничная торговля WEB Розничная торговля v8 1cv8.cf Розничная и сетевая торговля (FMCG) Россия УУ Бесплатно (free)

Универсальный механизм вывода отчетов товароучетной системы Штрих-М Торговое предприятие в кассовое ПО Кассир 5 посредством веб-сервиса.

14.08.2019    6231    Van2507    1    

Чеки ККМ для расчетов с ИП по безналу. Новые обязательные реквизиты в чеке

Практика программирования ККМ Оптовая торговля Оптовая торговля Разработка v8 v8::ОУ УТ11 УУ Бесплатно (free)

Новые требования законодательства по пробитию чеков ККМ при расчетах с индивидуальными предпринимателями по безналу. Нюансы подключения интеграционной компоненты ДТО 10.5.0 на примере кассы ККТ АТОЛ 11Ф и конфигурации 1С УТ 11.4. Необходимые доработки типовой конфигурации УТ 11.4 для вывода на печать новых обязательных реквизитов: покупатель, ИНН, ГТД, страна происхождения.

22.07.2019    15690    ids79    16    

Маркировка табака. Формирование тега 1162 "код товара" для передачи в ККТ и ОФД

Практика программирования Розничная торговля Розничная торговля Разработка v8 1cv8.cf Розничная и сетевая торговля (FMCG) Россия Бесплатно (free)

С 01.07.2019 стартует новый этап маркировки сигарет. Теперь в кассе обязательно надо будет считывать марку с пачек табака, если она там есть. Считывать и передавать в ОФД через тег 1162 в онлайн-кассе. А как сформировать данные этого тега? Не все так просто...

27.06.2019    13183    kirlog    52    

Система питания в офисе: как совместить вендинговые автоматы, 1С, облачную кассу и веб-технологии

Интеграция Розничная торговля Розничная торговля v8 1cv8.cf Розничная и сетевая торговля (FMCG) Россия УУ Бесплатно (free)

В начале 2019 года тенденция развития автоматов питания в России привела к появлению проекта нового формата питания на работе — МикроМаркета “Го!Поедим”. Потребовалось создать новый формат зоны питания сотрудников: интегрировать в офисные кухни полноценные МикроМаркеты с бесконтактной оплатой, кофе-машинами, лаунж-зоной. Если правильно совместить вендинговые автоматы, облачную кассу, 1С и веб-технологии, то в результате будут не только сытые сотрудники, но и корректная работа всей системы офисного питания.

22.06.2019    6472    antonovintervolga    6    

Интеркампани в УТ 3.0 для Украины Промо

Комиссионная торговля Оптовая торговля Розничная торговля Бухгалтерский учет Комиссионная торговля Оптовая торговля Розничная торговля v8 УТ10 Украина УУ Бесплатно (free)

Вот, вот уже скоро выйдет долгожданная конфигурация «Управление торговлей для Украины» третьей редакции. Одной из фишек, которую ждут пользователи версии 2.3, является интеркампани, которую и будем обсуждать в нижележащей статье. Господа, кому интересно - прошу под кат.

31.01.2013    24748    akomar    10    

1С и компьютерное зрение: новый подход к контролю за ассортиментом магазина

Розничная торговля Внешние источники данных Розничная торговля v8 1С:Франчайзи, автоматизация бизнеса УУ Бесплатно (free)

Машинное зрение в магазинах и 1С. Как поднять эффективность торгового предприятия (магазин. кафе, шоурум и т.д.) с совершенно неожиданной стороны? Как получить реальные демографические данные покупателей и, самое главное, как это использовать в повседневной работе магазина? Как можно расширить привычные ABC и XYZ анализ, добавив в них пласт данных о трафике и демографии покупателей? Что необходимо для 1С, чтобы использовать данные видеоанализа людского трафика?

20.06.2019    8972    osipov_cvizi    16    

Сжатие данных в мобильном приложении 1С:Предприятие

Мобильная разработка Розничная торговля Розничная торговля v8 v8::Mobile 1cv8.cf УУ Бесплатно (free)

Эту небольшую статью я планировал опубликовать у себя на сайте, чтобы такие любители мобильного приложения от 1С:Предприятие, как я, могли использовать её без дополнительно потраченных двух дней на поиски вариантов написания алгоритма. Во-первых, хотел сказать, что я небольшой разработчик, который начинал делать свои первые шаги ещё на заре правления "Семерки". Новая платформа версии 8 была как глоток свежего воздуха - бодрящий и легко воспринимаемый организмом. Я был очень удивлен, да что сказать, до сих пор удивляюсь как элементарные вещи можно делать на 1С, и как это стремно делается на других языках программирования. Во-вторых, обилие разнообразных интерпретаций платформы позволяет развернуться на все 360 градусов, захватив своими проектами, наверное, любые ветки бизнеса. Так вот, о небольшом нюансе работы с новой мобильной платформой я и хотел рассказать... Сам додумался, так сказать.

27.05.2019    13554    yarsort    27    

Сложное ранжирование клиентов по классам Промо

Управление взаимоотношениями с клиентами (СRM) Оптовая торговля Розничная торговля Управленческие Управление взаимоотношениями с клиентами (СRM) Оптовая торговля Розничная торговля v8 УТ10 Россия УУ Бесплатно (free)

Пример реализации усложненной ABC-классификации клиентов. Данная статья написана для конфигурации "1С: Управление торговлей, ред. 10.3", но, я думаю, предложенный метод подойдет и для других конфигураций, имеющих механизм ABC-классификации.

28.03.2012    23223    charushkin    9    

Рассрочка в Рознице 2.2

Практика программирования Розничная торговля Розничная торговля Разработка v8 Розница УУ Бесплатно (free)

Добавляем Рассрочку в документ "Отчет о розничных продажах" в конфигурации "Розница для Беларуси, редакция 2.2."

15.04.2019    4327    borlog    0    

AltLinux + ККТ Атол 30Ф (55Ф) + сканер штрих-кода

Администрирование данных 1С ККМ Сканер штрих-кода Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8 Розница Россия Бесплатно (free)

Описание опыта настройки контура AltLinux + платформа 1С 8.3 + Розница 2.2 базовая + сканер штрих-кода + ККТ 30Ф (55Ф).

14.02.2019    6282    Ceboo    4    

Расширение конструктора мобильного рабочего места для варианта "клиент 1С+RDP" (для любых wi-fi терминалов). Экосистема решений Simple WMS

Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Универсальные функции Мобильная разработка Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ v8::УФ УУ Бесплатно (free)

Развитие проекта «Конструктор мобильного клиента на Android» https://infostart.ru/public/976636/ для устройств не на Андроиде (работающих в режиме RDP). В отличие от варианта Android работа на терминалах происходит в режиме 1С:Предприятие через RDP а конфигурации мобильных клиентов полностью совместимы для обоих версий. Т.е. конфигурация единая, создается один раз и ее может читать как Android -устройство, так и 1С-клиент на RDP без необходимости какой либо переделки.

05.02.2019    12938    informa1555    10    

Весы Штрих-СЛИМ, Штрих-ПРИНТ и 1С: Розница 2.2.11.ХХ

Весы Розничная торговля Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) Россия Бесплатно (free)

Как установить драйвер весов по протоколу POS2 или драйвер ШТРИХ-М:Весы с печатью этикеток ШТРИХ-ПРИНТ на Windows 7 и выше.

29.01.2019    12606    Newdjeen    12    

Работа с кассой Atol через веб-сервер ДТО-10

Внешние источники данных ККМ Фискальный регистратор Кассовые операции Кассовые операции v8 Россия НДС Бесплатно (free)

Поддержка многопользовательской печати на одном устройстве ККТ. Поддержка изменений в законодательстве (Переход на ФФД 1.05 и НДС 20%).

31.12.2018    35778    medangel    43    

Редактирование цены в РМК. 1С: УТ 11

Практика программирования Розничная торговля Розничная торговля v8 УТ11 Россия Бесплатно (free)

В типовой конфигурации УТ 11 нет возможности в режиме РМК изменить цену на товар, хотя такая необходимость появляется довольно часто. Внеся небольшие изменения в конфигурацию, можно добиться нужной функциональности. Использовался релиз 1С УТ 11.4.5.135 на платформе 1С:Предприятие 8.3 (8.3.13.1513).

26.12.2018    8586    Stæg    9    

Печать Чека ККМ из Платежного поручения входящего. КА 1.1

Практика программирования Кассовые операции ККМ Кассовые операции v8 КА1 Бесплатно (free)

Доработка КА 1.1 для печати чека из платежного поручения входящего.

23.11.2018    9897    dima_finne    10    

Бонусные программы лояльности в конфигурациях 1С: УТ 11.4, КА 2.4, ЕРП 2.4

Бухгалтерский учет Розничная торговля Пользователю системы Розничная торговля v8 ERP2 УТ11 Россия УУ Бесплатно (free)

О том, как настроить и использовать бонусные карты лояльности в розничной торговли в типовых конфигурациях 1С

13.11.2018    35953    ids79    37    

Прикладной пример переработки стандартной формы РМК - Розница

Работа с интерфейсом Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8 Розница УУ Бесплатно (free)

Простой пример, как с помощью программного изменения шрифтов элементов формы достичь наилучшего результата отображения на примере формы РМК.

04.10.2018    19638    asdfgcom    58    

Авансы, кредиты и предоплаты. Примеры чеков ФФД 1.05

ККМ Розничная торговля Розничная торговля v8 УТ11 Розничная и сетевая торговля (FMCG) Россия БУ Бесплатно (free)

В публикации рассмотрено, как должны выглядеть корректные чеки ФФД 1.05 при авансах, кредитах и предоплатах. Чеки получены с помощью демонстрационной базы 1С:Управление торговлей 11.4.5.54 (Платформа 8.3.11.3034).

30.07.2018    44242    vasilievil    28    

Отправка http запросов с Дайджест-аутентификацией из 1С на примере кассового аппарата MG N707TS

ККМ v8 1cv8.cf Украина Бесплатно (free)

Возникала необходимость использовать кассовый аппарат MG N707TS под ubuntu, как известно, COM объекты не поддерживаются. На самом деле не все так сложно! Расписывать долго не буду, смотрите "Процедура КнопкаСформироватьНажатие" , может кому пригодится.

16.07.2018    6714    IgKR    8    

Чеки ККМ онлайн касс Атол на конфигурации КА 1.1

ККМ Кассовые операции Кассовые операции v8 КА1 Россия Бесплатно (free)

Онлайн касса печатает тип СНО УСН, хотя организация работает на ЕНВД.

13.07.2018    10625    dima_finne    6    

Подключение и настройка ККТ АТОЛ 22Ф / FPrint-22ПТК к конфигурации УТ 10.3

Кассовые операции ККМ Кассовые операции v8 v8::ОУ УТ10 Россия Бесплатно (free)

Опыт подключения и настройки онлайн-кассы "АТОЛ 22Ф / FPrint-22ПТК" к 1С конфигурации "УТ 10.3".

25.06.2018    42870    MarcoPolo3    31    

Учет и сверка Z-Отчетов ККМ в 1С

ККМ Кассовые операции Кассовые операции v8 КА1 УПП1 Розничная и сетевая торговля (FMCG) Россия БУ Бесплатно (free)

Думаю, все крупные компании при внедрении/эксплуатации 1С делают значительные изменения в ее конфигурации. Как бы вы ни пытались все бизнес процессы решить типовыми решениями от 1С, все равно наступает момент, когда приходится заняться конфигурированием. Я решил написать серию статей, где постараюсь описать решения, которые мне пришлось реализовывать в разных компаниях. Если разработчики 1С посчитают что-то интересным для внедрения в типовые решения, мы будем только рады. В текущей статье речь пойдет о кассовых z-отчетах в 1С.

03.06.2018    20402    dima_home    12    

Подключение онлайн кассы (ККМ) ATOL к УТ 10.3 в терминале. Личный опыт

ККМ Кассовые операции Кассовые операции v8 БП2.0 УТ10 Бесплатно (free)

Использование Онлайн Кассы на Windows HOME c драйвером без цифровой подписи. Проброска портов для ККМ. Использование компьютера с кассой в качестве сервера для быстрой печати чеков через терминал без использования сквозных COM портов.

10.05.2018    29226    pridecom    26