Расширение содержит один единственный модуль и метод печати чека на облачной кассе. На входе в метод необходимо передать данные для печати чека и путь к сертификату закрытого ключа:
// Параметры:
// - ДанныеЧека - Структура:
// - Ссылка - Ссылка на документ из которого печатаем чек, выступает идентификатором чека
// - ТелефонЕмаил - Строка - Телефон или электронный адрес покупателя. Телефон передаётся в формате «7XXXXXXXXXX» или «7-XXX-XXX-XX-XX»
// - СуммаДокумента - Число 15,2
// - МестоРасчетов - Строка - будет отражено в заголовке, к примеру адрем интернет магазина "market.ru"
// - ТаблицаТоваров = Таблица строк чека:
// - Содержание - Строка - наименование товара / услуги
// - Количество - Число 15,3
// - Цена - Число 15,2
// - СтавкаНДС - Перечисления.СтавкиНДС
// - ПризнакСпособаРасчета - Перечисления.ПризнакиСпособаРасчета - типовое перечисление из БПО
// - ПризнакПредметаРасчета - Перечисления.ПризнакиПредметаРасчета - типовое перечисление из БПО
// - ПутьКСертификату - Путь к сертификату и закрытому ключу в формате pfx (Упаковка описана в статье)
Код открыт и прокомментирован
Нюанс по сертификат и закрытому ключу. Чек онлайн предоставляет сертификат открытого ключа и закрытый ключ отдельно, их надо упаковать в контейнер pfx. Упаковка производиться командой:
openssl pkcs12 -inkey privateKey.pem -in certificate.crt -export -out rootCA.pfx
При упаковке будет выдан запрос на ввод пароля. вы можете использовать свой, но в расширении прописан 123456, если будете использовать отличный, то необходимо его заменить в коде:
ssl = Новый ЗащищенноеСоединениеOpenSSL(
Новый СертификатКлиентаФайл(ПутьКСертификату, "123456"), Неопределено); // пароль укажите свой, который использовали при генерации pfx
Расширение не привязано к конкретной конфигурации. В принципе вы можете забрать модуль и в конфигурацию на обычных формах.
Вы получаете рабочую заготовку для печати чеков. Вам остается прописать вызов метода печати и передать в него параметры.
Тестировалось на версиях платформы 8.3.18.1289 и 8.3.20.1710.