В современной практике автоматизации часто возникает ситуация, когда одна онлайн-касса должна обслуживать несколько рабочих мест. Это актуально для небольших офисов, интернет-магазинов или точек выдачи заказов, где поток чеков распределен между несколькими сотрудниками. Особенно остро стоит вопрос, если основная конфигурация 1С является закрытой или не подлежит изменениям. Разберем подробно, как реализовать сетевой доступ к АТОЛ 30Ф, используя стандартные и альтернативные инструменты.
Начиная с 10-й версии драйвера ККТ, компания АТОЛ поставляет встроенный Web-сервер. Это решение позволяет превратить кассу в сетевое устройство, доступное по протоколу HTTP. Рассмотрим этот механизм подробнее.
Web-сервер представляет собой службу (daemon), написанную на Java, которая принимает входящие POST-запросы с заданиями в формате JSON. Проанализируем основные шаги по его настройке:
Atol ККТ Web-сервер. По умолчанию сервер слушает порт 16732.EthernetOverUSB (EoU). Убедимся, что в настройках драйвера канал связи установлен правильно, и служба EoU передает данные в ОФД, иначе касса может блокироваться при попытке печати.Выясним причину возможных зависаний, о которых упоминают пользователи. При одновременной отправке большого количества чеков (более 20) Java-машина может испытывать дефицит памяти. Для оптимизации работы найдем файл конфигурации application.properties в папке с установленным сервером и попробуем увеличить лимиты выделяемой памяти. Также крайне важно использовать механизм GUID для каждого задания. Это позволит нам опрашивать статус чека, если ответ от сервера не пришел вовремя, избегая дублирования фискальных документов.
Пример структуры JSON-задания для печати чека может выглядеть так:
{
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"request": [
{
"type": "sell",
"taxationType": "osn",
"ignoreNonFiscalPrint": true,
"items": [
{
"type": "position",
"name": "Товар 1",
"price": 100.0,
"quantity": 1,
"amount": 100.0,
"tax": { "type": "vat20" }
}
],
"payments": [
{ "type": "cash", "sum": 100.0 }
]
}
]
}
Если нам необходимо, чтобы 1С воспринимала сетевую кассу как локальную, разберем способ проброса через встроенный сервер удаленного подключения драйвера 10-й версии. Этот метод часто работает стабильнее в типовых решениях 1С, так как используется стандартный интерфейс драйвера.
На компьютере-сервере (где касса подключена физически) активируем в настройках драйвера службу fptr10_server. Проанализируем настройки на стороне клиента:
Ситуация, когда конфигурация 1С находится на поддержке и изменения запрещены, требует особого подхода. Посмотрим, как обойти это ограничение. Мы можем использовать механизм расширений (Extensions) или внешних обработок.
Разберем алгоритм интеграции через внешнюю компоненту:
.epf), которая будет перехватывать данные для печати.ПодключитьВнешнююКомпоненту для загрузки драйвера АТОЛ или реализации HTTP-клиента.Проанализируем пример кода для отправки запроса из 1С:
Соединение = Новый HTTPСоединение("192.168.1.100", 16732);
Запрос = Новый HTTPЗапрос("/requests");
Запрос.УстановитьТелоИзСтроки(ТекстJSON, КодировкаТекста.UTF8);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Если Ответ.КодСостояния = 201 Тогда
// Задание принято, анализируем UUID
КонецЕсли;
Существуют специализированные решения, такие как KkmServer. Это «прослойка» (middleware), которая устанавливается на компьютер с кассой и предоставляет удобный API для любых устройств в сети. Рассмотрим, почему это может быть эффективнее штатных средств:
При организации совместной работы на АТОЛ 30Ф важно помнить о физических характеристиках устройства. Рассмотрим их подробнее:
Скорость печати и надежность: АТОЛ 30Ф — это модель начального уровня. У нее нет автоматического отрезчика, и скорость печати ниже, чем у старших моделей (например, 22ПТК или 25Ф). При интенсивной нагрузке из нескольких источников физическая очередь чеков может стать проблемой раньше, чем программные зависания.
Энергосбережение USB: Выясним одну из частых причин «отвала» кассы в сети. В настройках диспетчера устройств Windows для USB-концентратора, к которому подключена касса, необходимо снять галочку «Разрешить отключение этого устройства для экономии энергии». Если этого не сделать, при простое USB-порт «заснет», и Web-сервер потеряет связь с ККТ, что потребует перезапуска служб.
Статус чека: В многопользовательском режиме критически важно обрабатывать ошибки связи. Если 1С отправила запрос и получила ошибку тайм-аута, нельзя просто пробовать еще раз. Необходимо сначала запросить статус последнего задания по его идентификатору, чтобы убедиться, что чек не был фискализирован в момент обрыва связи.
Таким образом, для реализации сетевой печати на АТОЛ 30Ф мы рекомендуем использовать Web-сервер АТОЛ 10 как наиболее бюджетный и современный способ, либо KkmServer для средних нагрузок с повышенными требованиями к стабильности очереди.