Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Получить из Имя - Представление: СведенияОВзносах - Сведения о взносах. Как?

Получить из Имя - Представление: СведенияОВзносах - Сведения о взносах. Как?
Я
   loololool
 
15.11.18 - 11:31
День добрый!

Есть готовое волшебство получения Представления из Имя?

Пример:
Имя: СведенияОВзносах
Представление: Сведения о взносах

Спасибо!
 
 
   Случайный прохожий
 
1 - 15.11.18 - 12:04
Тебе функцию преобразования строки нужно или ты из метаданных хочешь по имени синоним получить?
   loololool
 
2 - 15.11.18 - 12:05
(1) Функцию преобразования, конечно же. Из БПС желательно, при наличии.
   Случайный прохожий
 
3 - 15.11.18 - 12:12
Нету. Но можно же написать :)
   loololool
 
4 - 15.11.18 - 12:21
ʘʘ Хм..

Вариант-то имеется, такой:

Для каждой буквы из Имя Цикл
   Если буква = ВРЕГ(буква) Тогда
      Представление= СтрЗаменить(ТолькоЭтуБукву, " " + НРЕГ(буква));
   КонецЕсли;
КонецЦикла;
Представление= ВРЕГ(Сред(Представление, 2, 1)) + Сред(Представление, 3);
   dezss
 
5 - 15.11.18 - 12:23
(4) первую большой оставь
   Случайный прохожий
 
6 - 15.11.18 - 12:24
(4) А если несколько букв заглавными подряд идут?
   Случайный прохожий
 
7 - 15.11.18 - 12:29
Глянь, может эта подойдет:
Функция ПреобразоватьСтроку(Знач ИсходнаяСтрока)
    ДлинаСтроки = СтрДлина(ИсходнаяСтрока);
    Рез = Лев(ИсходнаяСтрока,1);
    ИсходнаяСтрока = Прав(ИсходнаяСтрока,СтрДлина(ИсходнаяСтрока)-1);
    н = 1;
    ПредыдущаяБуква = Рез;
    Пока н <= ДлинаСтроки Цикл        
        Буква = Лев(ИсходнаяСтрока,1);
        ИсходнаяСтрока = Прав(ИсходнаяСтрока,СтрДлина(ИсходнаяСтрока)-1);
        Если Буква=ВРег(Буква) и ПредыдущаяБуква = Врег(ПредыдущаяБуква) Тогда
            Рез = Лев(Рез, СтрДлина(Рез)-1) + Врег(ПредыдущаяБуква);
            Рез = Рез + ВРег(Буква);    
        ИначеЕсли Буква=ВРег(Буква) Тогда
            Рез = Рез + " " +НРег(Буква);
        Иначе
            Рез = Рез + Буква;
        КонецЕсли;    
        ПредыдущаяБуква = Буква;
        н=н+1;
    КонецЦикла;    
    Возврат Рез;        
КонецФункции
   Случайный прохожий
 
8 - 15.11.18 - 12:31
Не, тоже не то :)
   loololool
 
9 - 15.11.18 - 12:35
Почему не то - вполне похоже, и с учётов нескольких заглавных, вдруг пригодится. Пожалуй - воспользуюсь, в качестве эксперимента.

Спасибо!
   Случайный прохожий
 
10 - 15.11.18 - 12:35
Функция ПреобразоватьСтроку(Знач ИсходнаяСтрока)
    ДлинаСтроки = СтрДлина(ИсходнаяСтрока);
    Рез = Лев(ИсходнаяСтрока,1);
    ИсходнаяСтрока = Прав(ИсходнаяСтрока,СтрДлина(ИсходнаяСтрока)-1);
    н = 1;
    ПредыдущаяБуква = Рез;
    Пока н <= ДлинаСтроки Цикл        
        Буква = Лев(ИсходнаяСтрока,1);
        ИсходнаяСтрока = Прав(ИсходнаяСтрока,СтрДлина(ИсходнаяСтрока)-1);
        СледующаяБуква = Лев(ИсходнаяСтрока,1);
        Если Буква=ВРег(Буква) и ПредыдущаяБуква = Врег(ПредыдущаяБуква) и СледующаяБуква = Врег(СледующаяБуква) Тогда
            Рез = Лев(Рез, СтрДлина(Рез)-1) + Врег(ПредыдущаяБуква);
            Рез = Рез + ВРег(Буква);    
        ИначеЕсли Буква=ВРег(Буква) Тогда
            Рез = Рез + " " +НРег(Буква);
        Иначе
            Рез = Рез + Буква;
        КонецЕсли;    
        ПредыдущаяБуква = Буква;
        н=н+1;
    КонецЦикла;    
    Возврат Рез;        
КонецФункции
 
 Рекламное место пустует
   Случайный прохожий
 
11 - 15.11.18 - 12:36
Эта более правильная. Там подпилишь если что :)

Список тем форума
Рекламное место пустует  Рекламное место пустует
Компьютер — устройство разработанное для ускорения и автоматизации человеческих ошибок.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует