8.х Замена русских букв на латинские

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем luluandra, 25 авг 2009.

  1. TopicStarter Overlay
    luluandra
    Offline

    luluandra Опытный в 1С

    Регистрация:
    12 май 2009
    Сообщения:
    49
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте! Подскажите есть ли встроенные функции поиска и замены символов в строке в 1с? Задача состоит в том, что нужно в отчет вставить наименование контрагента на латинском.
    Например в visual basic есть функция Replace(Строка для поиска, Что меняется, На что заменяется). Может что то подобное есть в 1С 8-ке?
  2. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Все зависит от того, что вам нужно. Если у вас есть строки, то можно использовать это:
  3. wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    если это в ручном режиме будет исполняться, то ф-ция прекрасно подходит. но на мой взгляд можно написать универсальную функцию, что то вроде словаря, который будет перебирать каждый символ строки и заменять его на значение на латинском. а значения на латинском можно хранить в виде какой-нибудь таблицы значений, массива, где 1 поле будет содержать русскую букву, а 2 - латинский эквивалент.
    как вам такая идея?
  4. TopicStarter Overlay
    luluandra
    Offline

    luluandra Опытный в 1С

    Регистрация:
    12 май 2009
    Сообщения:
    49
    Симпатии:
    0
    Баллы:
    26
    О да спасибо!!!!
    правда все на что я способна это
    Код:
    Переменная1=StrReplace(Переменная1, "а","a");
    Переменная1=StrReplace(Переменная1, "б","b");
    Переменная1=StrReplace(Переменная1, "в","v");
    Переменная1=StrReplace(Переменная1, "г","g");
    Переменная1=StrReplace(Переменная1, "д","d");
    Переменная1=StrReplace(Переменная1, "е","e");
    Переменная1=StrReplace(Переменная1, "ё","ye");
    Переменная1=StrReplace(Переменная1, "ж","zh");
    
    а может есть алгоритм меньше по размерам?

    уважаемый, wertklop. А как организовать сам перебор каждого символа? Мне бы очень хотелось написать функцию, что бы в ней большие символы заменялись на большие, а маленькие на маленькие.

Поделиться этой страницей