Доработан пример обработки для 77, оригинальная обработка Вебчек
Проверялась на ТиС (7.70.013), Бух (7.70.286), платформа 7.70.027.
Обработку загрузить в конфигурацию с именем "ВебЧекПРРО".
Для вызова обработки можно добавить в пункт меню
Возможности обработки:
- Открытие кассовой смены (автоматически предлагается сделать служебный внос)
- Регистрация продаж (кнопка на форме документа, см. дальше)
- X-отчет
- Z-отчет (перед закрытием смены проверяется сумма наличных, предлагается сделать служебный вынос)
- Проверить текущий статус фискального регистратора
- Печать последнего чека, последнего Z-отчета.
Для работы в конфигурацию нужно добавить справочник "ФискальныеРегистраторы" с двумя реквизитами:
- "ИДУстройства", Строка, 10
- "ИдКассира", Строка, 10
В справочник "Пользователи" добавить реквизит "ФискальныйРегистратор", Тип "Спавочник.ФискальныеРегистраторы"
Пользователю, работающему с ФР заполнить данные.
В глобальный модуль добавить процедуры, вызываемые кнопкой на форме документов:
//====================================================================== Процедура глОтправитьДокументНаФискальныйРегистратор(Конт, ФискальныйНомер = "", СсылкаДФС = "") Экспорт СпПарам = СоздатьОбъект("СписокЗначений"); СпПарам.ДобавитьЗначение(Конт.ТекущийДокумент(), "Документ"); ОткрытьФормуМодально("Обработка.ВебЧекПРРО", СпПарам); Попытка // устанавливаю возвращенные значения Конт.ФискальныйНомерЧека = СпПарам.Получить("ФискальныйНомерЧека"); Конт.ЧекСсылкаДФС = СпПарам.Получить("ЧекСсылкаДФС"); Исключение КонецПопытки; КонецПроцедуры // глОтправитьДокументНаФискальныйРегистратор //====================================================================== Процедура глПечатьДокументаНаФР(Конт) Экспорт Если Конт = 0 Тогда Конт = СоздатьОбъект("Документ.РасходнаяНакладная"); КонецЕсли; Если (Конт.ТекущийДокумент().Проведен() = 0) или (Конт.Модифицированность() = 1) Тогда Предупреждение("Документ должен быть записан и проведен", 10); Возврат; КонецЕсли; Если ПустаяСтрока(Конт.ФискальныйНомерЧека) = 0 Тогда Предупреждение("Документ уже зарегистрирован в ДФС", 10); Возврат; КонецЕсли; ФискальныйНомер = ""; СсылкаДФС = ""; глОтправитьДокументНаФискальныйРегистратор(Конт); КонецПроцедуры // ПечатьДокументаНаФР //====================================================================== Функция глДоступностьКнопкиЧекККМ(Конт) Экспорт Возврат Пользователь.ФискальныйРегистратор.Выбран() * Конт.Выбран() * (1 - Конт.Модифицированность()); КонецФункции // глДоступностьКнопкиЧекККМ
В конфигурации Бухгалтерия также добавить в глобальный модуль еще 2 функции:
// ===============================
Функция глЕстьРеквизитШапки(ИмяРеквизита, ВидДокумента) Экспорт
Перем Реквизит;
Если (ПустоеЗначение(ВидДокумента) = 1) ИЛИ
(ПустоеЗначение(ИмяРеквизита) = 1) Тогда
Возврат Нет;
КонецЕсли;
Реквизит=Метаданные.Документ(ВидДокумента).РеквизитШапки(ИмяРеквизита);
Возврат ?(Реквизит.Выбран()=1, Да, Нет );
КонецФункции
// ===============================
Функция глЕстьРеквизитМнЧ(ИмяРеквизита,ВидДокумента) Экспорт
Перем Реквизит; //
Если (ПустоеЗначение(ВидДокумента) = 1) ИЛИ
(ПустоеЗначение(ИмяРеквизита) = 1) Тогда
Возврат Нет;
КонецЕсли;
Реквизит=Метаданные.Документ(ВидДокумента).РеквизитТабличнойЧасти(ИмяРеквизита);
Возврат ?(Реквизит.Выбран()=1, Да, Нет );
КонецФункции
В документы РасходнаяНакладная, ПриходнаяНакладная (для бухгалтерии - ВозвратнаяНакладная) добавить реквизиты шапки:
- "ЧекСсылкаДФС" - "Строка", 256
- "ФискальныйНомерЧека" - Строка, 20
При желании вывести реквизиты на форму документа, запретить редактирование
Для печати фискального чека на формы документов РасходнаяНакладная, ПриходнаяНакладная (для бухгалтерии - ВозвратнаяНакладная) добавить кнопку с именем "кнЧекККМ" и формулой "глПечатьДокументаНаФР(Контекст)".
По нажатию кнопки происходит фискализация чека на портале ДФС.
В функцию "УстДоступность" модуля формы документов добавить строку (кнопка будет доступна тем пользователям, у которых выбран ФискальныйРегистратор в справочнике "Пользователи", см. выше):
Форма.кнЧекККМ.Доступность(глДоступностьКнопкиЧекККМ(Контекст));
Установить, настроить сервер webchek, можно работать.
По результатам тестирования: Сервис Webchek показал более стабильную работу по сравнению с другими (Кашалот, чекбокс, Вчасно.каса). Простая интеграция, простая настройка сервера webchek, быстрая реакция техподдержки по любым вопросам.
На момент написания публикации обработка проработала на указанных конфигурациях порядка двух недель, проблем пока не выявлено.