Доброго дня всем.
Сталкивался ли кто-нибудь с вопрос подключения к конфигурации на 7.7 кассовых аппаратов онлайн?
От 1с по этой теме противоречивая информация.
В информационном письме http://1c.ru/news/info.jsp?id=22447 написано, что будет разработан драйвер для 1с77, но сама фирма 1С говорит, что развитие функциональности конфигураций на платформе 1С77, в том числе работа с операторами фискальных данных не планируется.
Вообще, 1с не один раз уже говорили, что развивать ничего не будут, но все же делают.
Поделитесь, кто уже использует онлайн-ККТ с 7.7? Какие именно, какие были сложности? Спасибо.
...реализована работа c драйвером "АТОЛ:ККТ с передачей данных в ОФД (54-ФЗ)", версия 8.12, разработанным компанией "АТОЛ". Предоставлена возможность работы c ККТ моделей: Атол 11Ф, Атол 15Ф, Атол 22Ф / FPrint-22ПТК, Атол 25Ф, Атол 30Ф, Атол 42ФС, Атол 52Ф, Атол 55Ф, Атол 60Ф, Атол 77Ф, Атол 90Ф, Эвотор СТ2Ф.
...реализована работа c драйвером "АТОЛ:ККТ с передачей данных в ОФД (54-ФЗ)", версия 8.12, разработанным компанией "АТОЛ". Предоставлена возможность работы c ККТ моделей: Атол 11Ф, Атол 15Ф, Атол 22Ф / FPrint-22ПТК, Атол 25Ф, Атол 30Ф, Атол 42ФС, Атол 52Ф, Атол 55Ф, Атол 60Ф, Атол 77Ф, Атол 90Ф, Эвотор СТ2Ф.
Максим, есть проблемка со штрих ф-01ф. На старой конфе 7.7 тис чеки печатает, но смену не открывает(надо через тест драйвер открывать), и при закрытии смены штрих начинает печатать и стопорится. Захожу в тест драйвер допечатываю и закрываю смену. Можешь подсказать направление поисков в исправлении данной бяки? Был ккм штрих фр-к перепрошили до версии 4.10.257 для работы в ОФД.
У меня семь ККТ Штрих-ФР-01Ф. для работы использую старый драйвер DrvFR.dll 4.13.0.610. Открывает смену без проблем и закрывает тоже без проблем. Прошивка ККТ от 17.03.2017. Для старого драйвера наиболее удачная.
Пример кода для старого дравейвера на открытие смены:
// Функция представляет реализацию операции "ОткрытьСмену".
//
// Параметры
// Объект - <НеизвестныйОбъект>
// - Объект драйвера.
//
// НомерЛУ - <Число>
// - Номер логического устройства.
//
// Пароль - <Число>
// - Пароль ФР.
//
// Возвращаемое значение:
// <Строка> – Описание произошедшей ошибки или пустая строка в случае
// успеха.
//
Функция ОперацияОткрытьСмену(Объект, НомерЛУ, Пароль, ПараметрыККТ)
Результат = "";
Если Объект = Неопределено Тогда
Результат = "Торговое оборудование не подключено.";
Возврат Результат;
КонецЕсли;
Объект.НомерЛУ = НомерЛУ;
Объект.УстановитьАктивноеЛУ();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
Объект.Пароль = Пароль;
Объект.УстановитьСвязь();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
Если ПараметрыККТ.ККМФз54ОнЛайн Тогда
//Пишем Налоги
Объект.Пароль = Пароль;
Объект.TableNumber = 6;
Объект.RowNumber = 1;
Объект.FieldNumber = 1;
Объект.ValueofFieldInteger = ПараметрыККТ.Налог1;
Объект.GetFieldStruct();
Объект.WriteTable();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
Объект.Пароль = Пароль;
Объект.TableNumber = 6;
Объект.RowNumber = 2;
Объект.FieldNumber = 1;
Объект.ValueofFieldInteger = ПараметрыККТ.Налог2;
Объект.GetFieldStruct();
Объект.WriteTable();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
Объект.Пароль = Пароль;
Объект.TableNumber = 6;
Объект.RowNumber = 3;
Объект.FieldNumber = 1;
Объект.ValueofFieldInteger = ПараметрыККТ.Налог3;
Объект.GetFieldStruct();
Объект.WriteTable();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
Объект.Пароль = Пароль;
Объект.TableNumber = 6;
Объект.RowNumber = 4;
Объект.FieldNumber = 1;
Объект.ValueofFieldInteger = ПараметрыККТ.Налог4;
Объект.GetFieldStruct();
Объект.WriteTable();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
Объект.Пароль = Пароль;
Объект.TableNumber = 6;
Объект.RowNumber = 5;
Объект.FieldNumber = 1;
Объект.ValueofFieldInteger = ПараметрыККТ.Налог5;
Объект.GetFieldStruct();
Объект.WriteTable();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
Объект.Пароль = Пароль;
Объект.TableNumber = 6;
Объект.RowNumber = 6;
Объект.FieldNumber = 1;
Объект.ValueofFieldInteger = ПараметрыККТ.Налог6;
Объект.GetFieldStruct();
Объект.WriteTable();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
//Пишем режим исчисления скидок
Объект.Пароль = Пароль;
Объект.TableNumber = 17;
Объект.RowNumber = 1;
Объект.FieldNumber = 3;
Объект.ValueofFieldInteger = 2;
Объект.GetFieldStruct();
Объект.WriteTable();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
//Печатать чеки или нет 0- печатать 2- нет
Объект.Пароль = Пароль;
Объект.TableNumber = 17;
Объект.RowNumber = 1;
Объект.FieldNumber = 7;
Если ПараметрыККТ.ОтправлятьТолькоЭлектронно Тогда
Объект.ValueofFieldInteger = 2;
Иначе
Объект.ValueofFieldInteger = 0;
КонецЕсли;
Объект.GetFieldStruct();
Объект.WriteTable();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
//Пишем протокол передачи данных
//Объект.Пароль = Пароль;
//Объект.TableNumber = 17;
//Объект.RowNumber = 1;
//Объект.FieldNumber = 17;
//Объект.ValueofFieldInteger = ПараметрыККТ.ФФД;
//Объект.GetFieldStruct();
//Объект.WriteTable();
//Если Объект.Результат <> 0 Тогда
// Результат = Объект.ОписаниеРезультата;
// Возврат Результат;
//КонецЕсли;
//Пишем Налогооблажение
Объект.Пароль = Пароль;
Объект.TableNumber = 18;
Объект.RowNumber = 1;
Объект.FieldNumber = 5;
Объект.ValueofFieldInteger = ПараметрыККТ.КодНалогооблажения;
Объект.GetFieldStruct();
Объект.WriteTable();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
//Пишем режим работы
Объект.Пароль = Пароль;
Объект.TableNumber = 18;
Объект.RowNumber = 1;
Объект.FieldNumber = 6;
Объект.ValueofFieldInteger = ПараметрыККТ.РежимРаботы;
Объект.GetFieldStruct();
Объект.WriteTable();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
//Пишет Организацию
Объект.Пароль = Пароль;
Объект.TableNumber = 18;
Объект.RowNumber = 1;
Объект.FieldNumber = 7;
Объект.ValueofFieldString = ВРЕГ(СокрЛП(ПараметрыККТ.Организация));
Объект.GetFieldStruct();
Объект.WriteTable();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
//Пишет Оператора
Объект.Пароль = Пароль;
Объект.TableNumber = 18;
Объект.RowNumber = 1;
Объект.FieldNumber = 8;
Объект.ValueofFieldString = "";
Объект.GetFieldStruct();
Объект.WriteTable();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
//Пишем адрес
Объект.Пароль = Пароль;
Объект.TableNumber = 18;
Объект.RowNumber = 1;
Объект.FieldNumber = 9;
Объект.ValueofFieldString = ВРЕГ(СокрЛП(ПараметрыККТ.Адрес));
Объект.GetFieldStruct();
Объект.WriteTable();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
//Пишем место расчетов
Объект.Пароль = Пароль;
Объект.TableNumber = 18;
Объект.RowNumber = 1;
Объект.FieldNumber = 14;
Объект.ValueofFieldString = ВРЕГ(СокрЛП(ПараметрыККТ.МестоРасчетов));
Объект.GetFieldStruct();
Объект.WriteTable();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Возврат Результат;
КонецЕсли;
//Отправка ИНН Кассира ФФД 1.05 и 1.1
Если ПараметрыККТ.ФФД > 0 Тогда
Если НЕ ЗначениеНеЗаполнено(ПараметрыККТ.ИННКассира) Тогда //Отправка произвольных тегов
Объект.Пароль = Пароль;
Объект.НомерТега = 1203; //TagNumber
Объект.ТипТега = 7; //TagType
Объект.ЗначениеТегаСтрока = СокрЛП(ПараметрыККТ.ИННКассира); //TagValueStr
//Объект.FNSendTag(); // отправка тега
Объект.FNSendTagOperation();
Объект.СтрокаДляПечати = "";
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
Объект.РазорватьСвязь();
Возврат Результат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Объект.ОткрытьСмену();
Если Объект.Результат <> 0 Тогда
Результат = Объект.ОписаниеРезультата;
КонецЕсли;
Объект.РазорватьСвязь();
Возврат Результат;
КонецФункции // ОперацияОткрытьСмену()
(13)
Там есть разница формата ФДД, поэтому часть параметров передается для ФДД 1.05, часть только для ФДД 1.00. В частности разница для ККТ Атол есть разница по номерам секций.