Найденные решения
Пока написал такую функцию:
Для моих случаев подходит, если 2 заглавные буквы значит это не слово и склонять не нужно.
Функция ПолучитьСклоненияСтрокиБезЗГЛ(СклоняемаяСтрока,Род,Формат) Экспорт
МассивСлов= СтрРазделить(СклоняемаяСтрока," ");
Результат="";
Для каждого Элемент Из МассивСлов Цикл
Если Лев(Элемент,2)=ВРег(Лев(Элемент,2)) Тогда
иначе
МассивЭлемент=ПолучитьСклоненияСтроки(Элемент, ,Формат);
Элемент=МассивЭлемент[0]";
КонецЕсли;
Результат= Результат+" "+Элемент;
КонецЦикла;
Возврат Результат;
КонецФункции
ПоказатьДля моих случаев подходит, если 2 заглавные буквы значит это не слово и склонять не нужно.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
В 1С, начиная с версии 8.3.13 доступны две встроенные функции для склонения:
ПолучитьСклоненияСтроки()
ПолучитьСклоненияСтрокиПоЧислу()
А что не будет получаться, обработать руками.
СтрЗаменить("что-то не правильное", "что-то", "как нужно");
Когда совсем ничего не получается, создай свой регистр, и пиши туда склонения Номенклатуры руками.
В 1С, начиная с версии 8.3.13 доступны две встроенные функции для склонения:
ПолучитьСклоненияСтроки()
ПолучитьСклоненияСтрокиПоЧислу()
А что не будет получаться, обработать руками.
СтрЗаменить("что-то не правильное", "что-то", "как нужно");
Когда совсем ничего не получается, создай свой регистр, и пиши туда склонения Номенклатуры руками.
(3)
вместо Характеристики двигателя УЕ-50 головного устройства ДОГ-40 на базе угловой машины ТОР...
Характеристики товара: "Двигатель УЕ-50 головного устройства ДОГ-40 на базе угловой машины ТОР"...
Двигатель УЕ-50 головного устройства ДОГ-40 на базе угловой машины ТОР
Никак. В учетных системах такой фигней не принято страдать. Для красоты в печатных формах можно добавлять определяемое слово, а наименование в кавычках без склонения, например:
вместо Характеристики двигателя УЕ-50 головного устройства ДОГ-40 на базе угловой машины ТОР...
Характеристики товара: "Двигатель УЕ-50 головного устройства ДОГ-40 на базе угловой машины ТОР"...
(3) Делаешь СтрРазделить() , разделитель пробел, оно тебе возвращает массив, затем анализируешь каждый элемент массива и собираешь.
Но вообще, насколько я понимаю, надо склонять только первое слово в описании(если оно не числовое и не заглавными буквами), т.е. задача несколько упрощается
Но вообще, насколько я понимаю, надо склонять только первое слово в описании(если оно не числовое и не заглавными буквами), т.е. задача несколько упрощается
Пока написал такую функцию:
Для моих случаев подходит, если 2 заглавные буквы значит это не слово и склонять не нужно.
Функция ПолучитьСклоненияСтрокиБезЗГЛ(СклоняемаяСтрока,Род,Формат) Экспорт
МассивСлов= СтрРазделить(СклоняемаяСтрока," ");
Результат="";
Для каждого Элемент Из МассивСлов Цикл
Если Лев(Элемент,2)=ВРег(Лев(Элемент,2)) Тогда
иначе
МассивЭлемент=ПолучитьСклоненияСтроки(Элемент, ,Формат);
Элемент=МассивЭлемент[0]";
КонецЕсли;
Результат= Результат+" "+Элемент;
КонецЦикла;
Возврат Результат;
КонецФункции
ПоказатьДля моих случаев подходит, если 2 заглавные буквы значит это не слово и склонять не нужно.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот