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

26.01.17

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

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

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

Наименование Файл Версия Размер
ShtrihMFiscalPrinters_v2_4_12_sp1.epf
.epf 43,44Kb
169
.epf 43,44Kb 169 Скачать

Файлики SMDrvFR1CLib.dll и SMDrvFR1CLib20.dll (идут в поставке с драйверами) должны лежать в корне диска С. Знаю что коряво. Пока так.
В обработке необходимо указать, через какую из компонент будет работать ФР.  Поддержка ФЗ-54 реализована только в интерфейсе AddIn.SMDrvFR1C20, описание интерфейса можно найти на сайте ИТС http://its.1c.ru/db/metod8dev#content:4829:hdoc:checkpackage

В рознице при печати чека добавил вот такой код:

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

В зависимости от того, через какую компоненту работает драйвер, печатать чеки нужно по-разному. В старой версии схема примерно такая:

1.ОткрытьЧек

2.ПечатьСтрок (причем каждая строка печатается построчно)

3.Закрыть чек.

4 Печать слипа, если используется ЕГАИС

В новой же версии печать осуществляется через одну процедуру драйвера :

	СформироватьЧек(Объект.ИДУстройства, Кассир, Электронно,          ДанныеЧека, НомерЧека, НомерСмены, ФискальныйПризнак, АдресСайтаПроверки);

Параметр "ДанныеЧека" это XML текст определенной структуры, которая описана по ссылке выше на сайте ИТС

	<?xml version="1.0" encoding="UTF-8"?> <CheckPackage> <Parameters PaymentType="1" SenderEmail="info@1c.ru" CustomerEmail="alex2000@mail.ru" CustomerPhone="" AgentCompensation="" AgentPhone=""/> <Positions> <FiscalString Name="Макароны" Quantity="1" Price="16.75" Amount="16.75" Tax="10"/> <FiscalString Name="Томатный сок" Quantity="1" Price="200" Amount="200" Tax="18"/> <FiscalString Name="Алкоголь Шампрео 0.7" Quantity="1" Price="455" Amount="455" Tax="18"/> <TextString Text="Дисконтная карта: 00002345"/> <Barcode BarcodeType="EAN13" Barcode="2000021262157"/> </Positions> <Payments Cash="471.75" CashLessType1="0" CashLessType2="0" CashLessType3="200"/> </CheckPackage>

В обработке есть процедура, которая формирует XML такой структуры.

Привожу кусок кода из Розницы, который печатает чек:

Первые 4 строки это код из модуля документа, остальные фунции прописал в обработке ТоСервер.

	ПараметрыККТ = Неопределено; ВыходныеПараметрыФискализации = Неопределено; ВходныеПараметрыИзРеальногоЧека = СформироватьПараметрыИзЧека(Ссылка); Результат = ПолучитьСерверТО().ФискализироватьЧек(Объект,ПараметрыККТ,ВходныеПараметрыИзРеальногоЧека ,ВыходныеПараметрыФискализации); Функция ПараметрыФискальнойСтрокиЧека() Экспорт; ПараметрыСтроки = Новый Структура(); ПараметрыСтроки.Вставить("ФискальнаяСтрока"); // Обязательные поля ПараметрыСтроки.Вставить("Наименование"); // Наимновнование предмета расчета ПараметрыСтроки.Вставить("Количество" , 0); // Количество предмета расчета ПараметрыСтроки.Вставить("Цена" , 0); // Цена без учета скидок и наценок ПараметрыСтроки.Вставить("Сумма" , 0); // Cтоимость предмета расчета с учетом скидок и наценок ПараметрыСтроки.Вставить("НомерСекции" , 0); // Номер cекции ФР (для совместимости) ПараметрыСтроки.Вставить("СтавкаНДС" , 0); // Cтавка НДС в % ПараметрыСтроки.Вставить("Штрихкод"); // Штрихкод // Дополнительные реквизиты начиная с ФФД 1.1 ПараметрыСтроки.Вставить("КодПризнакаСпособаРасчета"); // Код признака способа расчета (Таблица 25 документа ФФД) ПараметрыСтроки.Вставить("КодПризнакаПредметаРасчета"); // Код признака предмета расчета (Таблица 25 документа ФФД) ПараметрыСтроки.Вставить("ЕдиницаИзмеренияПредметаРасчета"); // Код признака предмета расчета ПараметрыСтроки.Вставить("КодТоварнойНоменклатуры"); // Код товарной номенклатуры Возврат ПараметрыСтроки; КонецФункции Функция СформироватьПараметрыИзЧека(Чек) ОбщиеПараметры = ПараметрыОперацииФискализацииЧека(); // Параметры установлены по умолчанию. //ОбщиеПараметры.ТипРасчета = ТипРасчета; Если ВидОперации = Перечисления.ВидыОперацийЧекККМ.Продажа Тогда ОбщиеПараметры.ТипРасчета = 1; Иначе ОбщиеПараметры.ТипРасчета = 2; КонецЕсли; ОбщиеПараметры.Электронно = Ложь; ОбщиеПараметры.ПокупательEmail = Неопределено; ОбщиеПараметры.ПокупательНомер = Неопределено; // Параметры необходимые для чека ЕНВД на принтере чеков ОбщиеПараметры.Кассир = "Кассир"; //ОбщиеПараметры.КодСистемыНалогообложения = КодСистемыНалогообложения; Было ОбщиеПараметры.КодСистемыНалогообложения = 0; ///????????????????????????????????????????????????? ОбщиеПараметры.ОрганизацияНазвание = чек.КассаККМ.Организация.Наименование; ОбщиеПараметры.ОрганизацияИНН = чек.КассаККМ.Организация.ИНН; ОбщиеПараметры.ОрганизацияКПП = чек.КассаККМ.Организация.КПП; ОбщиеПараметры.НомерКассы = "00001"; ОбщиеПараметры.НомерЧека = "1"; ОбщиеПараметры.НомерСмены = "1"; Для Каждого ТекСтрокаТовары из Чек.Товары Цикл СтрокаПозицииЧека = ПараметрыФискальнойСтрокиЧека(); СтрокаПозицииЧека.Наименование = ТекСтрокаТовары.Номенклатура.Наименование; СтрокаПозицииЧека.Количество = ТекСтрокаТовары.Количество; СтрокаПозицииЧека.Цена = ТекСтрокаТовары.Цена; СтрокаПозицииЧека.Сумма = ТекСтрокаТовары.Сумма; СтрокаПозицииЧека.НомерСекции = 1; //????????????????????????????? СтрокаПозицииЧека.СтавкаНДС = 18; ОбщиеПараметры.ПозицииЧека.Добавить(СтрокаПозицииЧека); КонецЦикла; Для Каждого ТекСтрокаОплаты из Чек.Оплата Цикл СтрокаОплаты = Новый Структура(); Если ТекСтрокаОплаты.ВидОплаты = Справочники.ВидыОплатЧекаККМ.Наличные тогда СтрокаОплаты.Вставить("ТипОплаты", 0); //???????????????????????????????? Иначе СтрокаОплаты.Вставить("ТипОплаты", 1); КонецЕсли; СтрокаОплаты.Вставить("Сумма", ТекСтрокаОплаты.сумма); ОбщиеПараметры.ТаблицаОплат.Добавить(СтрокаОплаты); КонецЦикла; Возврат ОбщиеПараметры; КонецФункции Функция ПараметрыОперацииФискализацииЧека() Экспорт; ПараметрыЧека = Новый Структура(); // Общие реквизиты для всех типов оборудования. ПараметрыЧека.Вставить("ДокументОснование" , Неопределено); //ПараметрыЧека.Вставить("ТипРасчета" , ПредопределенноеЗначение("Перечисление.ТипыРасчетаДенежнымиСредствами.ПриходДенежныхСредств")); ПараметрыЧека.Вставить("ТипРасчета" , 0 ); ПараметрыЧека.Вставить("Кассир" , Неопределено); // Должность и фамилия лица, осуществившего расчет с покупателем (клиентом), оформившего кассовый чек. ПараметрыЧека.Вставить("КассирИНН" , Неопределено); // Идентификационный номер налогоплательщика кассира, при наличии. ПараметрыЧека.Вставить("Электронно" , Ложь); // Чек будет предоставлен в элетронной форме, без печати. ПараметрыЧека.Вставить("Отправляет1СSMS" , Ложь); // SMS отправляет средствами 1C. ПараметрыЧека.Вставить("Отправляет1СEmail" , Ложь); // Email отправляет средствами 1C. ПараметрыЧека.Вставить("ОрганизацияНазвание" , Неопределено); ПараметрыЧека.Вставить("ОрганизацияИНН" , Неопределено); // ИНН организации (Для чека ЕНВД) ПараметрыЧека.Вставить("ОрганизацияКПП" , Неопределено); // Название организации (Для чека ЕНВД) ПараметрыЧека.Вставить("АдресМагазина" , Неопределено); // Адрес магазина (Для чека ЕНВД) ПараметрыЧека.Вставить("НаименованиеМагазина", Неопределено); // Наименование магазина // Параметры необходимые для ФР ПараметрыЧека.Вставить("СерийныйНомер" , Неопределено); // Заводской номер ККМ // Параметры необходимые для чека ЕНВД на принтере чеков ПараметрыЧека.Вставить("НомерКассы" , Неопределено); ПараметрыЧека.Вставить("НомерЧека" , Неопределено); ПараметрыЧека.Вставить("НомерСмены" , Неопределено); ПараметрыЧека.Вставить("ДатаВремя" , ТекущаяДата()); ПараметрыЧека.Вставить("ТекстШапки" , НСтр("ru='ДОБРО ПОЖАЛОВАТЬ!'")); ПараметрыЧека.Вставить("ТекстПодвала" , НСтр("ru='СПАСИБО ЗА ПОКУПКУ!'")); // Параметры для ККТ по ФЗ-54 ПараметрыЧека.Вставить("КодСистемыНалогообложения", Неопределено); ПараметрыЧека.Вставить("ОтправительEmail" , Неопределено); ПараметрыЧека.Вставить("ПокупательEmail" , Неопределено); ПараметрыЧека.Вставить("ПокупательНомер" , Неопределено); ПараметрыЧека.Вставить("ВознагражденияАгента" , Неопределено); // AgentCompensation ПараметрыЧека.Вставить("ТелефонПлатежногоАгента" , Неопределено); // AgentPhone ПараметрыЧека.Вставить("ТелефонОператораПоПриемуПлатежей", Неопределено); // ReceivePaymentsOperatorPhone ПараметрыЧека.Вставить("ТелефонОператораПеревода" , Неопределено); // MoneyTransferOperatorPhone ПараметрыЧека.Вставить("ТелефонПоставщика" , Неопределено); ПараметрыЧека.Вставить("АдресОператораПеревода" , Неопределено); // MoneyTransferOperatorAddress ПараметрыЧека.Вставить("ИННОператораПеревода" , Неопределено); // MoneyTransferOperatorVATIN ПараметрыЧека.Вставить("НаименованиеОператораПеревода" , Неопределено); // MoneyTransferOperatorName ПараметрыЧека.Вставить("ОперацияПлатежногоАгента" , Неопределено); ПараметрыЧека.Вставить("ТелефонБанковскогоАгента" , Неопределено); // BankAgentPhone ПараметрыЧека.Вставить("ТелефонБанковскогоСубагента" , Неопределено); // BankSubagentPhone ПараметрыЧека.Вставить("ОперацияБанковскогоАгента" , Неопределено); // BankAgentOperation ПараметрыЧека.Вставить("ОперацияБанковскогоСубагента" , Неопределено); // BankSubagentOperation ПараметрыЧека.Вставить("ВознагражденияБанковскогоАгента" , Неопределено); // BankAgentCompensation // Позиции чека для фискализации ПараметрыЧека.Вставить("ПозицииЧека" , Новый Массив()); // Массив элементов "Структура" ПараметрыЧека.Вставить("ТаблицаОплат" , Новый Массив()); // Массив элементов "Структура" Возврат ПараметрыЧека; КонецФункции 
	
	Функция ПараметрыФискальногоНакопителяОбщие() Экспорт Параметры = Новый Структура(); Параметры.Вставить("РегистрационныйНомерККТ"); Параметры.Вставить("ОрганизацияНазвание"); Параметры.Вставить("ОрганизацияИНН"); Параметры.Вставить("АдресУстановкиККТ"); Параметры.Вставить("КодыСистемыНалогообложения"); Параметры.Вставить("ПризнакАвтономногоРежима" , Ложь); Параметры.Вставить("ПризнакАвтоматическогоРежима" , Ложь); Параметры.Вставить("НомерАвтоматаДляАвтоматическогоРежима"); Параметры.Вставить("ПризнакШифрованиеДанных" , Ложь); Параметры.Вставить("ПризнакРасчетовЗаУслуги" , Ложь); Параметры.Вставить("ПризнакФормированияТолькоБСО" , Ложь); Параметры.Вставить("ПризнакРасчетовТолькоВИнтернет", Ложь); Параметры.Вставить("ОрганизацияОФДИНН"); Параметры.Вставить("ОрганизацияОФДНазвание"); Возврат Параметры; КонецФункции Функция ПараметрыРегистрацииККТ() Экспорт Параметры = ПараметрыФискальногоНакопителяОбщие(); Параметры.Вставить("ЗаводскойНомерККТ"); Параметры.Вставить("ПризнакФискализации"); Параметры.Вставить("ЗаводскойНомерФН"); Параметры.Вставить("НомерДокументаФискализации"); Параметры.Вставить("ДатаВремяФискализации"); Параметры.Вставить("ВерсияФФДККТ"); Параметры.Вставить("ВерсияФФДФН"); Возврат Параметры; КонецФункции Функция ПолучитьТаблицуПараметрыИзXMLПакетаККТ(Данные, ИдентификаторУстройства = Неопределено) Экспорт ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.УстановитьСтроку(Данные); ЧтениеXML.ПерейтиКСодержимому(); Параметры = ПараметрыРегистрацииККТ(); Если ЧтениеXML.Имя = "Parameters" И ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда Параметры.РегистрационныйНомерККТ = СокрЛП(ЧтениеXML.ЗначениеАтрибута("KKTNumber")); Параметры.ОрганизацияНазвание = ЧтениеXML.ЗначениеАтрибута("OrganizationName"); Параметры.ОрганизацияИНН = СокрЛП(ЧтениеXML.ЗначениеАтрибута("VATIN")); Параметры.АдресУстановкиККТ = ЧтениеXML.ЗначениеАтрибута("AddressSettle"); Параметры.КодыСистемыНалогообложения = ЧтениеXML.ЗначениеАтрибута("TaxVariant"); Если ПустаяСтрока(Параметры.КодыСистемыНалогообложения) Тогда Параметры.КодыСистемыНалогообложения = ЧтениеXML.ЗначениеАтрибута("TaxVarinat"); КонецЕсли; Параметры.ПризнакАвтономногоРежима = ВРег(ЧтениеXML.ЗначениеАтрибута("OfflineMode")) = "TRUE"; Параметры.ПризнакАвтоматическогоРежима = ВРег(ЧтениеXML.ЗначениеАтрибута("AutomaticMode")) = "TRUE"; Параметры.НомерАвтоматаДляАвтоматическогоРежима = ЧтениеXML.ЗначениеАтрибута("AutomaticNumber"); Параметры.ПризнакРасчетовЗаУслуги = ВРег(ЧтениеXML.ЗначениеАтрибута("ServiceSign")) = "TRUE"; Параметры.ПризнакФормированияТолькоБСО = ВРег(ЧтениеXML.ЗначениеАтрибута("BSOSing")) = "TRUE"; Параметры.ПризнакРасчетовТолькоВИнтернет = ВРег(ЧтениеXML.ЗначениеАтрибута("CalcOnlineSign")) = "TRUE"; Параметры.ПризнакШифрованиеДанных = ВРег(ЧтениеXML.ЗначениеАтрибута("DataEncryption")) = "TRUE"; Параметры.ОрганизацияОФДИНН = СокрЛП(ЧтениеXML.ЗначениеАтрибута("OFDVATIN")); Параметры.ОрганизацияОФДНазвание = ЧтениеXML.ЗначениеАтрибута("OFDOrganizationName"); Параметры.ЗаводскойНомерККТ = СокрЛП(ЧтениеXML.ЗначениеАтрибута("KKTSerialNumber")); Параметры.ПризнакФискализации = ВРег(ЧтениеXML.ЗначениеАтрибута("Fiscal")) = "TRUE"; Параметры.ЗаводскойНомерФН = СокрЛП(ЧтениеXML.ЗначениеАтрибута("FNSerialNumber")); Параметры.НомерДокументаФискализации = ЧтениеXML.ЗначениеАтрибута("DocumentNumber"); Параметры.ДатаВремяФискализации = ЧтениеXML.ЗначениеАтрибута("DateTime"); Параметры.ВерсияФФДФН = ЧтениеXML.ЗначениеАтрибута("FFDVersionFN"); Параметры.ВерсияФФДККТ = ЧтениеXML.ЗначениеАтрибута("FFDVersionKKT"); КонецЕсли; //Если НЕ ПустаяСтрока(ИдентификаторУстройства) Тогда // СохранитьПараметрыРегистрацииУстройства(ИдентификаторУстройства, Параметры); //КонецЕсли; Возврат Параметры; КонецФункции Функция ПолучитьПараметрыККТ(Объект, Параметры, ВыходныеПараметры) Экспорт ПараметрыККТ = ""; Попытка Ответ = Объект.Драйвер.ПолучитьПараметрыККТ(Объект.ИДУстройства, ПараметрыККТ); Если НЕ Ответ Тогда //Результат = Ложь; //ВыходныеПараметры.Очистить(); //ВыходныеПараметры.Добавить(999); //ВыходныеПараметры.Добавить(""); //Объект.Драйвер.ПолучитьОшибку(ВыходныеПараметры[1]); Иначе // Заполнение выходных параметров. ВыходныеПараметры = ПолучитьТаблицуПараметрыИзXMLПакетаККТ(ПараметрыККТ); КонецЕсли; Исключение Результат = Ложь; ВыходныеПараметры.Очистить(); ВыходныеПараметры.Добавить(999); ВыходныеПараметры.Добавить(НСтр("ru='Ошибка вызова метода <ОбъектДрайвера.ПолучитьПараметрыККТ>.'") + Символы.ПС + ОписаниеОшибки()); КонецПопытки; Возврат Результат; КонецФункции Функция ФискализироватьЧек(Идентификатор, ПараметрыККТ, ВходныеПараметры, ВыходныеПараметры) Экспорт Обработка = Неопределено; Объект = Неопределено; Результат = ПолучитьОбъектДрайвера(Идентификатор, Обработка, Объект); Если ЗначениеЗаполнено(Объект.ОписаниеОшибки) Тогда Результат = мОшибкаНеизвестно; Иначе Результат = мНетОшибки; КонецЕсли; ВыходныеПараметры = новый Массив; ОбщиеПараметры = ВходныеПараметры; ФискальныйПризнак = ""; АдресСайтаПроверки = ""; //Пока так Параметры = ""; ПараметрыККТ = Неопределено; ПолучитьПараметрыККТ(Объект,Параметры,ПараметрыККТ); // ПараметрыРегистрации = ПараметрыККТ; РегистрационныйНомерККТ = ?(ПараметрыРегистрации.Свойство("РегистрационныйНомерККТ"), ПараметрыРегистрации.РегистрационныйНомерККТ, ""); Кассир = ОбщиеПараметры.Кассир; Электронно = ОбщиеПараметры.Электронно; Отправляет1СSMS = ОбщиеПараметры.Отправляет1СSMS; Отправляет1СEmail = ОбщиеПараметры.Отправляет1СEmail; СуммаЧека = 0; ДанныеЧека = ПолучитьXMLПакетДляФискализацияЧека(ОбщиеПараметры, ВходныеПараметры, СуммаЧека); НомерСмены = 0; НомерЧека = 0; Попытка Результат = Объект.Драйвер.СформироватьЧек(Объект.ИдУстройства, Кассир, Электронно, ДанныеЧека, НомерЧека, НомерСмены, ФискальныйПризнак, АдресСайтаПроверки); Если НЕ Результат Тогда Результат = мОшибкаНеизвестно; ВыходныеПараметры.Очистить(); ВыходныеПараметры.Добавить(999); ВыходныеПараметры.Добавить(""); Объект.Драйвер.ПолучитьОшибку(Объект.ОписаниеОшибки); Иначе // Заполнение выходных параметров. ДатаСеанса = ТекущаяДатаСеанса(); ВыходныеПараметры.Очистить(); ВыходныеПараметры.Добавить(НомерСмены); ВыходныеПараметры.Добавить(НомерЧека); ВыходныеПараметры.Добавить(2); // 2 - Открыта - Состояние смены ВыходныеПараметры.Добавить(ДатаСеанса); ВыходныеПараметры.Добавить(ФискальныйПризнак); ВыходныеПараметры.Добавить(АдресСайтаПроверки); ВыходныеПараметры.Добавить(РегистрационныйНомерККТ); Результат = мНетОшибки; КонецЕсли; Исключение Результат = мОшибкаНеизвестно; ВыходныеПараметры.Очистить(); ВыходныеПараметры.Добавить(999); ВыходныеПараметры.Добавить(НСтр("ru='Ошибка вызова метода <ОбъектДрайвера.СформироватьЧек>.'") + Символы.ПС + ОписаниеОшибки()); КонецПопытки; Возврат Результат; КонецФункции Функция ПолучитьXMLПакетДляФискализацияЧека(ОбщиеПараметры, ВыходныеПараметры, СуммаЧека) Экспорт ПозицииЧека = ОбщиеПараметры.ПозицииЧека; ТаблицаОплат = ОбщиеПараметры.ТаблицаОплат; СуммаЧека = 0; // Пакетная печать чека. Подготовка пакета. ЗаписьXML = Новый ЗаписьXML(); ЗаписьXML.УстановитьСтроку("UTF-8"); ЗаписьXML.ЗаписатьОбъявлениеXML(); ЗаписьXML.ЗаписатьНачалоЭлемента("CheckPackage"); ЗаписьXML.ЗаписатьНачалоЭлемента("Parameters"); //ТипРасчета = ПолучитьКодТипаРасчетаДенежнымиСредствами(ОбщиеПараметры.ТипРасчета); ЗаписьXML.ЗаписатьАтрибут("PaymentType" , XMLСтрока(ОбщиеПараметры.ТипРасчета)); Если ОбщиеПараметры.Свойство("КодСистемыНалогообложения") И ОбщиеПараметры.КодСистемыНалогообложения <> Неопределено Тогда ЗаписьXML.ЗаписатьАтрибут("TaxVariant" , XMLСтрока(ОбщиеПараметры.КодСистемыНалогообложения)); КонецЕсли; ЗаписьXML.ЗаписатьАтрибут("SenderEmail", XMLСтрока(?(ОбщиеПараметры.Свойство("ОтправительEmail"), ОбщиеПараметры.ОтправительEmail, ""))); // Email отправляет средствами 1C Если ОбщиеПараметры.Свойство("Отправляет1СEmail") И НЕ ОбщиеПараметры.Отправляет1СEmail Тогда ЗаписьXML.ЗаписатьАтрибут("CustomerEmail", XMLСтрока(?(ОбщиеПараметры.Свойство("ПокупательEmail"), ОбщиеПараметры.ПокупательEmail, ""))); КонецЕсли; // SMS отправляет средствами 1C Если ОбщиеПараметры.Свойство("Отправляет1СSMS") И НЕ ОбщиеПараметры.Отправляет1СSMS Тогда ЗаписьXML.ЗаписатьАтрибут("CustomerPhone", XMLСтрока(?(ОбщиеПараметры.Свойство("ПокупательНомер"), ОбщиеПараметры.ПокупательНомер, ""))); КонецЕсли; Если ОбщиеПараметры.Свойство("ВознагражденияАгента") И ОбщиеПараметры.ВознагражденияАгента <> Неопределено Тогда ЗаписьXML.ЗаписатьАтрибут("AgentCompensation" , XMLСтрока(ОбщиеПараметры.ВознагражденияАгента)); КонецЕсли; Если ОбщиеПараметры.Свойство("ТелефонПлатежногоАгента") И ОбщиеПараметры.ТелефонПлатежногоАгента <> Неопределено Тогда ЗаписьXML.ЗаписатьАтрибут("AgentPhone" , XMLСтрока(ОбщиеПараметры.ТелефонПлатежногоАгента)); КонецЕсли; Если ОбщиеПараметры.Свойство("ТелефонОператораПоПриемуПлатежей") И ОбщиеПараметры.ТелефонОператораПоПриемуПлатежей <> Неопределено Тогда ЗаписьXML.ЗаписатьАтрибут("ReceivePaymentsOperatorPhone" , XMLСтрока(ОбщиеПараметры.ТелефонОператораПоПриемуПлатежей)); КонецЕсли; Если ОбщиеПараметры.Свойство("ТелефонОператораПеревода") И ОбщиеПараметры.ТелефонОператораПеревода <> Неопределено Тогда ЗаписьXML.ЗаписатьАтрибут("MoneyTransferOperatorPhone" , XMLСтрока(ОбщиеПараметры.ТелефонОператораПеревода)); КонецЕсли; Если ОбщиеПараметры.Свойство("АдресОператораПеревода") И ОбщиеПараметры.АдресОператораПеревода <> Неопределено Тогда ЗаписьXML.ЗаписатьАтрибут("MoneyTransferOperatorAddress" , XMLСтрока(ОбщиеПараметры.АдресОператораПеревода)); КонецЕсли; Если ОбщиеПараметры.Свойство("ИННОператораПеревода") И ОбщиеПараметры.ИННОператораПеревода <> Неопределено Тогда ЗаписьXML.ЗаписатьАтрибут("MoneyTransferOperatorVATIN" , XMLСтрока(ОбщиеПараметры.ИННОператораПеревода)); КонецЕсли; Если ОбщиеПараметры.Свойство("НаименованиеОператораПеревода") И ОбщиеПараметры.НаименованиеОператораПеревода <> Неопределено Тогда ЗаписьXML.ЗаписатьАтрибут("MoneyTransferOperatorName" , XMLСтрока(ОбщиеПараметры.НаименованиеОператораПеревода)); КонецЕсли; Если ОбщиеПараметры.Свойство("ТелефонБанковскогоАгента") И ОбщиеПараметры.ТелефонБанковскогоАгента <> Неопределено Тогда ЗаписьXML.ЗаписатьАтрибут("BankAgentPhone" , XMLСтрока(ОбщиеПараметры.ТелефонБанковскогоАгента)); КонецЕсли; Если ОбщиеПараметры.Свойство("ТелефонБанковскогоСубагента") И ОбщиеПараметры.ТелефонБанковскогоСубагента <> Неопределено Тогда ЗаписьXML.ЗаписатьАтрибут("BankSubagentPhone" , XMLСтрока(ОбщиеПараметры.ТелефонБанковскогоСубагента)); КонецЕсли; Если ОбщиеПараметры.Свойство("ОперацияБанковскогоАгента") И ОбщиеПараметры.ОперацияБанковскогоАгента <> Неопределено Тогда ЗаписьXML.ЗаписатьАтрибут("BankAgentOperation" , XMLСтрока(ОбщиеПараметры.ОперацияБанковскогоАгента)); КонецЕсли; Если ОбщиеПараметры.Свойство("ОперацияБанковскогоСубагента") И ОбщиеПараметры.ОперацияБанковскогоСубагента <> Неопределено Тогда ЗаписьXML.ЗаписатьАтрибут("BankSubagentOperation" , XMLСтрока(ОбщиеПараметры.ОперацияБанковскогоСубагента)); КонецЕсли; Если ОбщиеПараметры.Свойство("ВознагражденияБанковскогоАгента") И ОбщиеПараметры.ВознагражденияБанковскогоАгента <> Неопределено Тогда ЗаписьXML.ЗаписатьАтрибут("BankAgentCompensation" , XMLСтрока(ОбщиеПараметры.ВознагражденияБанковскогоАгента)); КонецЕсли; ЗаписьXML.ЗаписатьКонецЭлемента(); // Табличная часть Если ОбщиеПараметры.ПозицииЧека <> Неопределено Тогда ЗаписьXML.ЗаписатьНачалоЭлемента("Positions"); Для ИндексМассива = 0 По ОбщиеПараметры.ПозицииЧека.Количество() - 1 Цикл ТекущаяПозиция = ОбщиеПараметры.ПозицииЧека[ИндексМассива]; Если ТекущаяПозиция.Свойство("ФискальнаяСтрока") Тогда ЗаписьXML.ЗаписатьНачалоЭлемента("FiscalString"); ЗаписьXML.ЗаписатьАтрибут("Name" , XMLСтрока(ТекущаяПозиция.Наименование)); ЗаписьXML.ЗаписатьАтрибут("Quantity" , XMLСтрока(ТекущаяПозиция.Количество)); ЗаписьXML.ЗаписатьАтрибут("Price" , XMLСтрока(ТекущаяПозиция.Цена)); ЗаписьXML.ЗаписатьАтрибут("Amount" , XMLСтрока(ТекущаяПозиция.Сумма)); ЗаписьXML.ЗаписатьАтрибут("Tax" , XMLСтрока(ТекущаяПозиция.СтавкаНДС)); ЗаписьXML.ЗаписатьКонецЭлемента(); СуммаЧека = СуммаЧека + ТекущаяПозиция.Сумма; ИначеЕсли ТекущаяПозиция.Свойство("ТекстоваяСтрока") Тогда ЗаписьXML.ЗаписатьНачалоЭлемента("TextString"); ЗаписьXML.ЗаписатьАтрибут("Text", XMLСтрока(ТекущаяПозиция.Текст)); ЗаписьXML.ЗаписатьКонецЭлемента(); ИначеЕсли ТекущаяПозиция.Свойство("ШтрихКод") Тогда ЗаписьXML.ЗаписатьНачалоЭлемента("Barcode"); ЗаписьXML.ЗаписатьАтрибут("BarcodeType", XMLСтрока(ТекущаяПозиция.ТипШтрихкода)); ЗаписьXML.ЗаписатьАтрибут("Barcode", XMLСтрока(ТекущаяПозиция.ШтрихКод)); ЗаписьXML.ЗаписатьКонецЭлемента(); Иначе ТекстОшибки = НСтр("ru='Не определен тип позиции чека.'"); ВыходныеПараметры.Очистить(); ВыходныеПараметры.Вставить("ТекстОшибки", ТекстОшибки); Результат = Ложь; Возврат Результат; КонецЕсли; КонецЦикла; ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЕсли; // Таблица оплат Если ТаблицаОплат <> Неопределено Тогда СуммаНаличнойОплаты = 0; СуммаЭлектроннойОплаты1 = 0; СуммаЭлектроннойОплаты2 = 0; СуммаЭлектроннойОплаты3 = 0; Для ИндексОплаты = 0 По ТаблицаОплат.Количество() - 1 Цикл Если ТаблицаОплат[ИндексОплаты].ТипОплаты = 0 Тогда СуммаНаличнойОплаты = СуммаНаличнойОплаты + ТаблицаОплат[ИндексОплаты].Сумма; ИначеЕсли ТаблицаОплат[ИндексОплаты].ТипОплаты = 1 Тогда СуммаЭлектроннойОплаты1 = СуммаЭлектроннойОплаты1 + ТаблицаОплат[ИндексОплаты].Сумма; ИначеЕсли ТаблицаОплат[ИндексОплаты].ТипОплаты = 2 Тогда СуммаЭлектроннойОплаты2 = СуммаЭлектроннойОплаты2 + ТаблицаОплат[ИндексОплаты].Сумма; Иначе СуммаЭлектроннойОплаты3 = СуммаЭлектроннойОплаты3 + ТаблицаОплат[ИндексОплаты].Сумма; КонецЕсли; КонецЦикла; ЗаписьXML.ЗаписатьНачалоЭлемента("Payments"); ЗаписьXML.ЗаписатьАтрибут("Cash", XMLСтрока(СуммаНаличнойОплаты)); ЗаписьXML.ЗаписатьАтрибут("CashLessType1", XMLСтрока(СуммаЭлектроннойОплаты1)); ЗаписьXML.ЗаписатьАтрибут("CashLessType2", XMLСтрока(СуммаЭлектроннойОплаты2)); ЗаписьXML.ЗаписатьАтрибут("CashLessType3", XMLСтрока(СуммаЭлектроннойОплаты3)); ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЕсли; ЗаписьXML.ЗаписатьКонецЭлемента(); Возврат ЗаписьXML.Закрыть(); КонецФункции 

Публикация получилась немного сумбурная. Задавайте вопросы, постараюсь всё объяснить. 

Сам столкнулся с полным непониманием, что и как. Как подключить фискальник по TCP, чтобы он работал и отправлял данные в интернет. В итоге вроде всё работает. 


См. также

ККТ-ОНЛАЙН 54-ФЗ: Обработка для работы онлайн касс АТОЛ, ШТРИХ, VIKI PRINT и т.д. МАРКИРОВКА + ЭКВАЙРИНГ + БЕСПЛАТНЫЙ ДЕМО

ККМ Кассовые операции Розничная торговля Платформа 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

4800 руб.

27.02.2017    762998    4668    9495    

2781

Печать кассовых чеков на одну ККМ с нескольких рабочих мест для 1С:УТ11.х, КА2.х, Розница 2.х, УНФ, ERP 2.х, БП 3, БГУ2

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

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

4000 руб.

27.08.2018    115979    981    564    

827

54-ФЗ. Очередь печати для ККМ. Обработки для подключения онлайн-касс к 1С 8 (поддержка Маркировки) + Эмулятор + ФФД 1.2

ККМ Кассовые операции Розничная торговля Платформа 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 или интернет. Поддержка маркировки.

5400 руб.

25.05.2015    316519    1843    3008    

993

Обработка 1С для печати чеков на кассе ККТ АТОЛ.ОНЛАЙН

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

Печать чеков по документам 1С РеализацияТоваров (РасходнаяНакладная), КорректировкаРеализации, СчетНаОплату, ЗаказКлиента, ЧекККМ, ПоступлениеНаРС. Соответствует требованиям 54-ФЗ. Одна облачная касса может использоваться всеми подразделениями организации, без привязки к рабочим местам. Электронные чеки отправляются на email клиента и всегда доступны в 1С, по требованию можно распечатать. Легкая настройка: после регистрации кассы на сайте АТОЛ.ОНЛАЙН, в обработке необходимо указать логин, пароль и идентификатор группы ККТ (берутся в личном кабинете АТОЛ.ОНЛАЙН). Одну кассу можно использовать с 1С при расчетах с физ. и юр. лицами и для интернет-магазина. HTTPS протокол интеграции API v4 / ФФД 1.05 или API v5 / ФФД 1.2.

21600 руб.

23.08.2022    10549    27    4    

22

Обмен между 1С:Розница и Frontol 6 по организациям (Розница - Фронтол)

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

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

1500 руб.

22.03.2019    78195    389    475    

161

UTM Proxy для УТМ ЕГАИС (или как не пропустить дубль алкогольной марки и недостачу на кассе + Контроль МРЦ)

Розничная торговля ККМ Обмен с ГосИС Розничная и сетевая торговля (FMCG) Россия Акцизы Платные (руб)

Что такое УТМ прокси? УТМ прокси - это универсальное программное обеспечение для борьбы с дублями марок алкогольной продукции при розничной продажи. Данное программное обеспечение - это своего рода "прокладка" между кассовым ПО и УТМ ЕГАИС. UTM Proxy работает с любыми кассами, вот некоторые из них: miniPOS, рабочие места кассиров в конфигурациях 1С (в том числе и базовые версии), Фронтол и другие...

2400 руб.

16.11.2016    49292    472    60    

24

Пробитие чека ККМ с разных складов через РМК в УТ 11

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

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

5880 руб.

12.04.2023    7889    26    2    

23

Разбитие чека ККМ по группам товаров и пробитие их на разных кассах, подключенных к одному рабочему месту. Расширение для УТ 11.5, УТ 11.4, КА 2.5

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

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

5880 руб.

22.08.2022    10050    13    15    

17
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. djserega 258 30.01.17 00:33 Сейчас в теме
Как на счет "Открытие смены"? Нужно ли ее выполнять?
"При вызове метода командного интерфейса НачатьОткрытиеСменыНаФискальномУстройстве() будет отправлена команда открытия смены на фискальное устройство, создан документ кассовая смена и, в случае использования ККТ, будут заполнены реквизиты фискальных данных."
Или это только для заполнения документа?
2. sdv88 87 30.01.17 05:16 Сейчас в теме
Не много не понял вопроса... у меня смена открывается автоматически при первом пробитии чека.
3. djserega 258 30.01.17 13:33 Сейчас в теме
Нашел в описании к БПО:
"БПО 2.0 включает документ КассоваяСмена. Если в конфигурации уже имеется документ КассоваяСмена и/или перечисление СтатусыКассовойСмены - переименуйте эти объекты конфигурации. При этом определение необходимости сохранения данных документа Кассовая смена, существовавшего в конфигурации ранее и алгоритмы переноса данных в новый докуемнт, определяется на уровне прикладного решения."
Думал, что без этого документа нельзя будет открыть кассовую смену...
4. mrrom 31.01.17 04:20 Сейчас в теме
(3) Нужно открывать без открытия чек не пробить.
5. sdv88 87 31.01.17 05:25 Сейчас в теме
(4) Скорее всего это зашито где то в настройках самого ФР, у нас около 200 точек, всплыло только несколько где без открытия смены чек не пробивается. Все модели ФР одинаковые.
6. vis_tmp 32 01.02.17 07:48 Сейчас в теме
Скажите, для какого именно релиза "Розницы 1.0" подходит эта обработка?
У меня достаточно старая 1.0.8.4
7. sdv88 87 02.02.17 05:29 Сейчас в теме
Обработка не будет работать сразу, конфигурацию в любом случае нужно будет дорабатывать. Я дорабатывал свою много много доработанную, не думаю что будут какие то кардинальные различия по части взаимодействия с торговым оборудованием.
8. kn8603 9 02.02.17 11:31 Сейчас в теме
9. kn8603 9 02.02.17 12:11 Сейчас в теме
А почему в "Parameters" нет атрибута TaxVariant?
10. rafaiil 02.02.17 14:02 Сейчас в теме
Добрый день!я как понимаю вы ФР одновременно подключили и к com порту и через USB?В итоге если подключить через com порт данные передаются в интернет?
11. sdv88 87 02.02.17 15:31 Сейчас в теме
(10) от фр идёт один провод он USB, в фр есть где то настройка как он определяется в системе как com или как сетевое соединение. Данные передаются в интернет только тогда когда фр подключён как сетевое соединение причём в другом сетевом соединении через которое система получает интернет должна стоять галочка разрешать другим соединениям использовать интернет этого соединения) не помню как она называется, на последней вкладке
12. Luck_DMST 24 02.02.17 16:52 Сейчас в теме
Денис, спасибо что написали данную статью + выложили обработку!
Скажите пожалуйста что нужно прописать в конфигурации розницы, чтобы Ваша обработка работала:
1. Это закинуть библиотеки на диск С
2. Я так понимаю нужно доработать документ ЧекККМ
3. Доработать СерверТО

но не понял откуда взять функцию ПечатьЧекаККМОФД
13. sdv88 87 03.02.17 05:34 Сейчас в теме
(12) первые четыре строки кода это и есть функция ПечатьЧекаККМОФД()

Библиотеки нужно еще зарегестрировать.


Функция ПечатьЧекаККМОФД(Объект, НомерЧека, НомерСмены,ОписаниеЧека, СуммаНал, СуммаБезнал, ПризнакВозврата)
	
	
	ПараметрыККТ = Неопределено;
	ВыходныеПараметрыФискализации = Неопределено;
	ВходныеПараметрыИзРеальногоЧека = СформироватьПараметрыИзЧека(Ссылка);
	
	Результат = ПолучитьСерверТО().ФискализироватьЧек(Объект,ПараметрыККТ,ВходныеПараметрыИзРеальногоЧека ,ВыходныеПараметрыФискализации);	
	
        НомерСмены = ВыходныеПараметрыФискализации[0];
        НомерЧека     = ВыходныеПараметрыФискализации[1]; // тут вопрос надо ли брать номер чека из фр или оставлять так как есть чтобы он шел по порядку. каждый решает сам наверно)
	

КонецФункции	
Показать
14. itabkb 07.02.17 18:04 Сейчас в теме
У меня почему то кассир на чеке не выводится. И в данных офд его нет. Хотя в логе он виден. .
15. rinik88 31 09.02.17 11:41 Сейчас в теме
16. sdv88 87 10.02.17 05:11 Сейчас в теме
(15) у нас платформа 8.3.6.2332 розница 1.0. всё работает.
17. rinik88 31 10.02.17 08:06 Сейчас в теме
(16)это хорошо что у вас платформа новая, я же про старую
18. sdv88 87 10.02.17 08:20 Сейчас в теме
(17) обновите. я не продаю эту обработку, делюсь тем что есть
19. rinik88 31 10.02.17 08:48 Сейчас в теме
(18) обновить пока не успеем, пока будем обновлять и переносить данные, кассы накроются) поэтому и спрашиваю, а вообще просто проблема с новыми дровами)
20. sdv88 87 10.02.17 11:17 Сейчас в теме
(19) я не могу протестировать обработку на всех версиях платформы.
22. nike-arz 13.02.17 11:36 Сейчас в теме
(19) Работает под 8.1 без проблем. Все старые методы поддерживаются. Надо толь дописать метод отсылки телефона или E-mail клиента.Но это только на Штрихе. По атолу не знаю нет аппарата. Пишите на pozdiaev_n@mail.ru. Помогу, чем смогу. Сам варюсь в такой же каше.
21. user691478_it_1c4 13.02.17 10:17 Сейчас в теме
подскажите пжлст, вы при этом кассу в торговом оборудовании подключаете как фискальный регистратор или как ККТ с передачей данных?
23. nike-arz 13.02.17 11:38 Сейчас в теме
(21) Без разницы для 8.1. Все зависит от того как написана обработка обслуживания.
24. user691478_it_1c4 13.02.17 14:47 Сейчас в теме
Отчет о состоянии расчетов заменяет x-отчет? нигде не могу найти ответа. в новой обработке Штриха нет х-отчета..
25. nike-arz 13.02.17 16:03 Сейчас в теме
(24) Все старые методы работают.
Объект.Пароль = Пароль;
Объект.СнятьОтчётБезГашения();
Но я рассматриваю обработку для 8.1. А для 8.2 надо самому сделать по аналогии z-отчета.
26. user691478_it_1c4 13.02.17 16:19 Сейчас в теме
(25)Спасибо! там похоже оочень много чего надо самой сделать, а поговорить об этом не с кем)
27. sdv88 87 14.02.17 05:06 Сейчас в теме
(25) в компоненте AddIn.SMDrvFR1C20 нет метода СнятьОтчётБезГашения()
в последней рознице на упр. формах Х-отчет снимается по данным 1с, а не из памяти ФР.
28. nike-arz 14.02.17 09:39 Сейчас в теме
Согласен. Я не использую SMDrvFR1C20.
99. user725488 09.06.17 04:25 Сейчас в теме
(28)
(59) Подскажите старая компонента это DrvFR.dll? В каком руководстве есть методы этой компоненты. А то в начале пути. А времени осталось мало.
100. nike-arz 09.06.17 10:02 Сейчас в теме
(99)Пришли e-mail вышлю обработку. там все найдешь.
29. nike-arz 14.02.17 09:49 Сейчас в теме
У меня самописная конфа на УТ 10.2. Платформа 8.2.19.130. Мои методы не подойдут для конфы УТ 10.3.
ККМ старая модель ШТРИХ-ФР-К, после модернизации ШТРИХ-ФР-01Ф. Чеки печтаются. QR-код тоже. В ОФД отправляются в налоговую тоже. На телефоны клиента и на E-mail все прекрасно уходит. Есть конечно свои заморочки, но над ними я работаю.
30. sdv88 87 14.02.17 13:14 Сейчас в теме
(29) насколько я знаю через старую компоненту не передается наименование товара (в ОФД есть только количественные и суммрвые данные), а это вроде как требования закона, точно не знаю наши юристы дали такую информацию)
96. dmam 05.05.17 08:57 Сейчас в теме
(29) Прошу подсказать, как печатается QR -код через DrvFR на штрих. Даже не сам вывод интересует а где взять ссылку проверки для указания в коде? или Штрих-М сам выводит QR при закрытии чека?
97. nike-arz 10.05.17 11:04 Сейчас в теме
(96) Касса сама формирует QR при закрытии чека.
31. nike-arz 14.02.17 15:36 Сейчас в теме
Передается без проблем
//Пишем наименование товара для передачи в ОФД "//" озаначает что текст передается в ОФД но не печтается на ККМ

		Если СтрДлина(СокрЛП(Товар.Товар)) > ШиринаСтрокиНаименование Тогда 
			Объект.СтрокаДляПечати = "//"+СокрЛП(Лев(Товар.Товар,ШиринаСтрокиНаименование));
		Иначе
			Объект.СтрокаДляПечати = "//"+СокрЛП(Товар.Товар);
		КонецЕсли;


надо просто текст раэделить на 2 блок тот, который передаете В ОФД и тот который печатаете на ККМ.
Все прекрано работает.
33. sdv88 87 15.02.17 05:34 Сейчас в теме
(31) Если не секрет где вы об этом узнали?)
35. nike-arz 15.02.17 09:12 Сейчас в теме
(33) Интернет великая сила, кладезь знаний.
32. nataliya_vl 14.02.17 19:56 Сейчас в теме
Подскажите, как сформировать фискальную строку, в которой НДС не выделяется (платежный агент) ? При установке НДС в ноль получается НДС 0%, а это не совсем одно и то же.
34. nike-arz 15.02.17 09:10 Сейчас в теме
(32)
Если НДС Тогда
			Если Товар.СтавкаНДС = 18 Тогда
				Ставка = 1;                         //Настройки для новых касс 1 - НДС -18, 2- НДС - 10 
			ИначеЕсли Товар.СтавкаНДС = 10 Тогда    // 3-НДС 0
				Ставка = 2;                         // 4- без  налога
			ИначеЕсли Товар.СтавкаНДС = 0 Тогда    // 5 НДС 18/118
				Ставка = 3;                         // 6 НДС 10/110
			Иначе
				Ставка = 0;
			КонецЕсли;
			
			Объект.Налог1 = Ставка;
		Иначе
			Ставка = 0;
			Объект.Налог1 = Ставка; //Без налога
		КонецЕсли;
Показать

Здесь я рассматриваю старый драйвер для Штриха DrvFR.dll
36. nataliya_vl 15.02.17 09:51 Сейчас в теме
(34)
В xml в теге "ставкаНДС" содержится явное значение ставки, не номер позиции. Не указывать ничего нельзя. Если указать 0, будет "НДС 0%", ну ли "Без налога" ( я так понимаю, что раньше встретится в таблице налоговых ставок ФР). Это не совсем верно, НДС есть, но он не выделен при данной операции. Нужно значение " Не выделяется" , ну или полное отсутствие упоминания об НДС.
37. nike-arz 15.02.17 15:00 Сейчас в теме
(36) Насколько я предполагаю в ОФД уйдет даже при ставке НДС 0% -НДС НЕ ОБЛАГАЕТСЯ.
Во всяком случае на старом драйвере так. А если Вам надо вывод на чек ну попробуйте решить это программно.
39. nataliya_vl 15.02.17 15:44 Сейчас в теме
(37)
Там просто в графе НДС 0. С чеком программно сложнее, там "без налога". Впрочем техподдержка уже ответила, что набор ставок НДС фиксирован и менять их нельзя.
38. Lesya_RS 15.02.17 15:34 Сейчас в теме
Как вы отрабатываете случай, когда товар продается со скидкой?
40. nike-arz 15.02.17 17:45 Сейчас в теме
(38) Сделал блок уменьшающий цену на скидку. На ФР идет цена со скидкой. Конечно существует погрешность
при работе с нечетными числами, но я ее тоже учитываю в виде разбивки 1 позиции на 2.
41. Wladimir_spb 20.02.17 17:56 Сейчас в теме
(40) Тоже столкнулся с проблемой при печати чеков со скидками.
На сайте 1С есть описание метода СформироватьЧек (ProcessCheck) и в нем черным по белому написано, что Цена (Price) - Цена единицы товара без учета скидок/наценок
Но на практике выяснилось, что у Штриха свое представление о цене без учета скидок/наценок
42. nike-arz 21.02.17 09:03 Сейчас в теме
(41) Скидка (дисконт) - коммерческая, маркетинговая, финансовая льгота, предоставляемая в форме снижения цены на продукцию. Это формулировка что такое скидка. Так как на уровне ФР скидки отключены, поэтому нам никто не запрещает снижать цену. Представления о скидках и способах ее предоставления дело лично каждого.
43. Lesya_RS 25.02.17 17:14 Сейчас в теме
1C ответила на вопрос о скидках. Чтобы заработал расчет скидки в чеке:
"Проверьте в настройках ККТ - таблица 17, поле 3, значение 0?
Если там 2, то нужно установить 0."

44. МимохожийОднако 141 27.02.17 17:37 Сейчас в теме
Как можно подключить эту обработку к БП2.0?
45. Erne100 286 28.02.17 02:27 Сейчас в теме

(44) Присоединяюсь к вопросу.
51. sdv88 87 06.03.17 05:19 Сейчас в теме
46. Tarlich 115 02.03.17 16:36 Сейчас в теме
Можно ли подсоединить к УТ 10,3 (старая, Уриб - изменить в конфигураторе ничего не могу)?
50. sdv88 87 06.03.17 05:19 Сейчас в теме
(46)можно, при использовании старой компоненты.
53. Tarlich 115 06.03.17 10:28 Сейчас в теме
(50) старая компонента может передавать данные в ОФД ? может разве работать с ФН?
59. nike-arz 07.03.17 14:21 Сейчас в теме
(53) Работает без проблем.
47. kir-g 03.03.17 16:51 Сейчас в теме
Как можно с вами связаться?
52. sdv88 87 06.03.17 05:20 Сейчас в теме
48. nike-arz 03.03.17 17:58 Сейчас в теме
Всем привет. В ЦТО поставили последнюю прошивку на ШТРИХ-ФР-01Ф проверил. Все прекрасно заработало. Чеки пробиваются. Скидки работают. Чеки в ОФД отправляются. Драйвер для Штриха DrvFR.dll 4.13.0.552. Но радость была преждевременной. После закрытия смены появляется ошибка ОЗУ. Только тех.обнуление. Будем дальше работать и исправлять ошибки. Таблица 17.1.3 режим исчисления скидок 0.
57. L33tBot1 07.03.17 11:06 Сейчас в теме
(48) Привет! У нас тоже такой же фискальник. Пробивается все хорошо со скидками построчно. А вот беда, при закрытии чека Скидка еще и на Итог накручивается. Как быть не знаешь?
60. nike-arz 07.03.17 14:22 Сейчас в теме
(57) Какая прошивка. У меня от 22.02.2017. Драйвер 4.13.0.552
49. kir-g 04.03.17 11:28 Сейчас в теме
Не подскажешь, как поменять интерфейс подключения в фр...
54. Tatiana_IV 06.03.17 11:38 Сейчас в теме
Добрый день!
Пытаюсь внедрить на нашу базу, столкнулась с ошибкой:
При пробитии чека выдает ошибку "Метод объекта не обнаружен ПолучитьПараметрыККТ в модуле Обработка.ТОСервер.МодульОбъекта" в строке
Ответ = Объект.Драйвер.ПолучитьПараметрыККТ(Объект.ИДУстройства, ПараметрыККТ);

Есть подозрение, что DLL SMDrvFR1CLib20.dll и SMDrvFR1CLib.dll действительно не содержат данного метода.
Установлен драйвер версии DrvFR_4.13_538, в нем есть SMDrvFR1CLib17.dll, но как подключить и использовать ее я не понимаю.

Прошу совета!
55. Tatiana_IV 06.03.17 12:11 Сейчас в теме
(54) уточнение: драйвер DrvFR 4.13_501 содержит библиотеки SMDrvFR1CLib.dll и SMDrvFR1CLib17.dll, а в DrvFR_4.13_538 SMDrvFR1CLib20.dll и SMDrvFR1CLib.dll. Но у меня не работает ни с одним из этих драйверов :(
71. ики 10.03.17 10:04 Сейчас в теме
(54)
Была такая же проблема , решилась путем переименования обработки обслуживания и настройки ФР в "ШТРИХ-ФР-Ф исп.04"
И убрали старую настройку, оставили только новую

Однако после попытки снятия Х-отчета драйвер отвалился, пришлось заново установить ком порт, после чего опять продажа прошла

Если у кого была проблема со снятием Х-отчет отпишитесь как решить?
73. omut 10.03.17 14:14 Сейчас в теме
(71) Попробуйте 552 релиз драйвера. И еще: пользователь, под которым запускаете 1С с правами администратора?
76. nike-arz 15.03.17 16:38 Сейчас в теме
(71) Попробуйте должно работать

ПодключитьВнешнююКомпоненту("AddIn.DrvFR");
    	FR = Новый COMОбъект ("AddIn.DrvFR");
    	FR.Сonnect();
	FR.Пароль = 30;
	FR.СнятьОтчётБезГашения();
	Если FR.Результат <> 0 Тогда
		ОшибкаПараметра=FR.ОписаниеРезультата;
		Сообщить("ОшибкаПараметра "+ОшибкаПараметра);
	КонецЕсли;
	FR.РазорватьСвязь();
Показать
77. nike-arz 16.03.17 10:22 Сейчас в теме
(76) На русском языке методы не проходят. Вот это работает проверено.

ПодключитьВнешнююКомпоненту("AddIn.DrvFR");
    	FR = Новый COMОбъект ("AddIn.DrvFR");
	FR.Password = 30;
	FR.PrintReportWithoutCleaning();
	Попытка
	Исключение
		Сообщить(ОписаниеОшибки());
	КонецПопытки;	
	FR.Disconnect();
Показать
85. Yashazz 4709 30.03.17 18:48 Сейчас в теме
(77) Приведённый код отрабатывает без сообщений об ошибках, но ни-че-го не делает. И вообще ФР игнорирует команды, даже Beep. Подключение через IP, потому что usb-кабеля нету. Драйвер и тестовый интерфейс утилиты отрабатывают нормально, всё видят и делают.
Где у меня кривые руки?
86. Yashazz 4709 30.03.17 19:39 Сейчас в теме
(85) ВОПРОС ОТПАДАЕТ. Была-таки проблема связи, отвал по таймауту)
56. kir-g 06.03.17 12:50 Сейчас в теме
Добрый день.
Прошу совета, а как быть с эквайрингом печатать чек по такой же схеме или как?
58. L33tBot1 07.03.17 11:07 Сейчас в теме
Кассовый аппарат Штрих-М-01Ф. Пробивается все хорошо со скидками построчно. А вот беда, при закрытии чека Скидка еще и на Итог накручивается. Как быть не знаете?
61. L33tBot1 07.03.17 14:47 Сейчас в теме
Итог на каждый чек еще на скидку умножает, что неправильно. Версия последняя с сайта штрих у меня.
62. L33tBot1 07.03.17 15:06 Сейчас в теме
а вот сам чек со скидкой прилагаю. Как видно итог не правильный, хотя код стандартный ЗакрытьЧек(идентификатор, СуммаНал, СуммаБезнал);
Прикрепленные файлы:
70. omut 10.03.17 09:46 Сейчас в теме
(62) меняйте прошивку кассового аппарата. Там грабли.
72. L33tBot1 10.03.17 13:27 Сейчас в теме
(70)
Спасибо. Проверю. Сообщу.
87. L33tBot1 01.04.17 09:27 Сейчас в теме
(70) Поменяли прошивку. Помогло! Спасибо!
63. Tarlich 115 07.03.17 15:54 Сейчас в теме
Беда ! пишет при пробитии
8eH нулевой итог чека
хотя все введено
64. nike-arz 09.03.17 09:11 Сейчас в теме
(63) Посмотри настройку таблиц №1 где есть разрешение нулевого чека и таблица №17 режим исчисления скидок должно быть 0
65. L33tBot1 09.03.17 09:37 Сейчас в теме
66. nike-arz 09.03.17 12:59 Сейчас в теме
(65) Проверь таблица №1 ряд 1 поле 23 должно быть 0.
68. Tarlich 115 09.03.17 23:06 Сейчас в теме
(64) чек не нулевой был , может что то из за скидок?
69. nike-arz 10.03.17 09:39 Сейчас в теме
(68) Могу выслать настройку своих таблиц. Сообщите куда. Настройки меняются в 1, 17, 23 таблицах.
Вышлю свежий драйвер может поможет. По последней прошивке обратись к модернизаторам. От себя добавлю у меня появлялась ошибка ОЗУ при закрытии смены. Решение: при обновлении прошивки форматировать флешку, в таблице 23 отключить обновление с сервера. поле 1 и 5 должно быть 0. Пока полет нормальный. Прошивка
Версия ПО : C.1
Сборка ПО : 35692
Дата ПО : 22.02.2017
Драйвер 4.13.0.552
74. Tarlich 115 10.03.17 23:08 Сейчас в теме
(69) Спасибо ! может не высылать а добавить к публикации -))?
75. nike-arz 11.03.17 09:14 Сейчас в теме
67. AKV77 259 09.03.17 14:38 Сейчас в теме
78. Divanoff 22 24.03.17 11:30 Сейчас в теме
Напишите, плиз, процедуры:

ПараметрыФискальнойСтрокиЧека()
СформироватьПараметрыИзЧека(Чек)
ПараметрыОперацииФискализацииЧека()

Не в одной строке.

Либо подскажите, плиз, где можно их найти.
Спасибо.
79. Divanoff 22 24.03.17 18:32 Сейчас в теме
Вроде все сделал как написано (у нас древняя УПП), перенес из новой УПП функционал, но выдает ошибку:

FFFFFFF7h, Устройство с таким ИДУстройства не подключено

Что это может быть?
80. dr2c 44 25.03.17 17:01 Сейчас в теме
При помощи этой обработки у меня получится обещанное 1с "В кассовом чеке, сформированном, из документов "Приходный кассовый ордер" и "Оплата от покупателя платежной картой" с видом операции "Оплата от покупателя", выводятся подробные сведения о номенклатуре - наименование, количество, цена, сумма, сумма НДС."?
Ут 10.3.41 при попытке печатать чек из ПКО требует подключения ФР (у меня ШТрих-on-line подключен как ККТ с передачей данных).
Если его подключить как ФР, то не печатаются ЧекиККМ, а ПКО выходит с одной строкой- общая сумма...
82. nike-arz 25.03.17 20:58 Сейчас в теме
(80)В УТ 10.3.41 в стандартной конфигурации 1с-ки прекрасно все сделали. Но они сделали все стандарно. А дальше идут "нюансы", которые за вас никто не будет решать. Изучайте код, интегрируйте свой. Кстати в 10.3.41 доработки минимум.
83. dr2c 44 27.03.17 10:47 Сейчас в теме
(82)Я не спрашивал прекрасно или нет сделали в 1с. Я спрашивал алгоритм действий для печати чека из ПКО в СТАНДАРТНОЙ ут 10.3.41
84. nike-arz 27.03.17 14:48 Сейчас в теме
81. nike-arz 25.03.17 20:49 Сейчас в теме
(79Для древней УПП используйте древний драйвер DrvFR. Конечно надо потрудится. но все прекрасно работает. Не надо изобретать велосипед и прикручивать новый драйвер к древней УПП. E-mail мой знаете пришли свой. вышлю обработку и драйвер, а дальше сам. Сразу оговорюсь работаю только со Штрихом. Атола к сожалению нет. Для 7.7 писал обработку, но сейчас нет под руками документации.
88. kosta 03.04.17 16:31 Сейчас в теме
фискальник «РР-04Ф поддреживаеться ? от RR-Electro http://rr-electro.com/products/online-kassa-kkt-rr-04f/
Заранее благодарен
89. kosta 04.04.17 13:49 Сейчас в теме
Извините за назойливость а для RR-Electro http://rr-electro.com/products/online-kassa-kkt-rr-04f/ АСПД
есть варианты подключения к 1с 7.7
90. 1prog@bk.ru 11 05.04.17 19:27 Сейчас в теме
Ребята привеи, у меня следующий вопрос
В таблице налоговых ставок следующее
1.1800 - НДС 18%;
2. 1000 - НДС 10%;
3. 0 - НДС 0%;
4. 0 - Без налога;
5. 1800 - Ставка 18/118;
6. Ставка 10/110.

в драйвере аналогично заполнены первые 4 позиции (их там всего 4)

При фискализации чека я передаю ставку 18, печатается НДС 18%, а теперь вопрос,

как заставить распечатать ставку 5. 1800 - Ставка 18/118; ???

использую: «Штрих-М»-01Ф и БПО 2.0.2.4
91. mikitondom 23 07.04.17 12:43 Сейчас в теме
Драйвер ФР 4.13.562 .. использую AddIn.SMDrvFR1C, после перехода на 4.13 перестал выводится QR код Объект.Драйвер.НапечататьШтрихКод(Объект.ИДУстройства, ТипШтрихКода, ШтрихКод)
на версии 4.12 все прекрасно работало..
такое впечатление что метод разучился выводить QR кода, только EAN13...
касса не менялась...
вернутся на 4.12 не вариант, так как вторая касса это уже ККТ

Сама касса не менялась и прекрасно выводила QR код.. Что делать не понятно..Хотя конечно проблема уйдет сама, когда кассу переведут на ФЗ-54..
92. AlexMC75 4 19.04.17 12:37 Сейчас в теме
Кто-нибудь знает как заставить работать стандартную обработку ККТ с передачей данных через R
DP ?
Причина: не подключается внешня компонента.
А ваша обработка работает в RDP ?
Совместима ли она с КА 1.1.82.2 ?
93. omut 27.04.17 17:52 Сейчас в теме
(92)
Кто-нибудь знает как заставить работать стандартную обработку ККТ с передачей данных через R
DP ?

Все прекрасно работает на штатной КА 1.1.85.2. И так было с самого начала (как только добавили поддержку ККТ с передачей данных, вроде с 1.1.81.2),
94. L33tBot1 30.04.17 08:56 Сейчас в теме
Никто не знает как печатать чеки по отделам. В таблицах ККТ он есть, а в модулях 1с не могу найти.
95. L33tBot1 30.04.17 11:10 Сейчас в теме
(94) Разобрался! В модуль добавил, чеки печатает по отделам. Вот только с гашением по отделам не выводит. Как быть?
Оставьте свое сообщение