Программный перевод строки в число 1С

1. imofftoo 09.04.24 19:55 Сейчас в теме
Добрый день!
Сотрудник через распознавание речи в текст сообщает боту команду по типу: "Поступление начать стеллаж полочный реквизит ноутбук реквизит сто двадцать пять реквизит штуки". Команда формирует документ поступления на полочный стеллаж товара ноутбук в количестве 125 штук. Не могу понять, как можно реализовать замену слов "сто двадцать пять" на число 125 и тому подобных. Например десять, девяносто три, тысяча пятьсот двадцать один, пятнадцать тысяч один. Я так полагаю, что нужно использовать СтрЗаменить на все возможные варианты. Есть ли какой-то иной способ или же оптимизация СтрЗаменить?
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. YozZzhik 09.04.24 20:37 Сейчас в теме
Да тут можно что-нибудь поинтереснее придумать, чем втупую все возможные варианты через СтрЗаменить.
Так, на вскидку, например число двести двадцать два можно разъединить в массив и подать в одну функцию 3 раза. У этих слов есть общее "дв", которого нет ни у одного другого слова обозначающего цифру. Вот на выходе и получишь 222. Но там куча других подводных камней будет, типо числа с 11 по 19 или как вкинуть нули, если число, например тысяча один. Дальше уже думай сам как построить оптимальный алгоритм)

В 1С реализовано обратное действие, преобразование числа в число прописью. Можно в БСП посмотреть как это реализовано, может и получится "развернуть" алгоритм.
3. imofftoo 09.04.24 21:17 Сейчас в теме
(2) А как? Не подскажите?
4. gybson 09.04.24 21:34 Сейчас в теме
Как вариант составить словарь 1-1000 с помощью функции ЧислоПрописью
Если количества совсем разные, то составить отдельные словари для десятков, сотен и т.д.
5. imofftoo 10.04.24 00:30 Сейчас в теме
(4) ЧислоПрописью не работает в обратную сторону
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот