Сумма прописью в 1С через API PropNum
Получайте сумму прописью в 1С:Предприятие через HTTP-запрос к API PropNum — без установки внешних компонент.
Как подключить
- 1Откройте конфигуратор 1С (режим «Конфигуратор»).
- 2Создайте общий модуль или добавьте код в существующий.
- 3Вставьте функцию ПолучитьСуммуПрописью из примера ниже.
- 4Вызывайте функцию из любого места конфигурации.
- 5При необходимости кэшируйте результаты для часто используемых сумм.
Функция для 1С:Предприятие 8.x
Используется объект HTTPСоединение для обращения к API. Работает в 1С 8.2 и новее при наличии интернет-подключения.
1С (встроенный язык)
// Общий модуль: ПропИсьюAPI
Функция ПолучитьСуммуПрописью(Сумма, Падеж = "nom") Экспорт
Попытка
Адрес = "propnum.ru";
Соединение = Новый HTTPСоединение(Адрес, 443,,,,,
Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос(
"/api/convert/num?amount=" + Формат(Сумма, "ЧДЦ=2; ЧРД=.; ЧН=0") +
"&case=" + Падеж
);
Запрос.Заголовки.Вставить("Content-Type", "application/json");
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
Данные = ПрочитатьJSON(Ответ.ПолучитьТелоКакСтроку());
Возврат Данные.result.full;
КонецЕсли;
Исключение
// вернуть пустую строку при ошибке
КонецПопытки;
Возврат "";
КонецФункцииИспользование в документах
Пример вызова функции при формировании счёта или акта.
1С (встроенный язык)
// В процедуре ПечатьСчета:
СуммаПрописью = ПропИсьюAPI.ПолучитьСуммуПрописью(
ДокументОбъект.СуммаДокумента
);
// Результат: "Пятьдесят тысяч рублей 00 копеек"
// Родительный падеж (для шапки договора):
СуммаРод = ПропИсьюAPI.ПолучитьСуммуПрописью(
ДокументОбъект.СуммаДокумента, "gen"
);
// Результат: "пятидесяти тысяч рублей 00 копеек"Частые вопросы
Работает ли в 1С 7.7?▾
В 1С 7.7 нет встроенного объекта HTTPСоединение. Используйте COM-объект WinHttp.WinHttpRequest или WSМетаданные для HTTP-запросов.
Как кэшировать результаты в 1С?▾
Создайте регистр сведений «КэшПрописью» с измерением «Сумма» и ресурсом «ТекстПрописью». Проверяйте кэш перед запросом к API.
Доступен ли API для коробочных установок без интернета?▾
Пока нет. Для изолированных контуров рассмотрите self-hosted решение — свяжитесь через страницу контактов.
Нужна помощь с интеграцией?
Смотрите полную документацию API или напишите нам — документация API, контакты.