8.х Как получить строку нормального содержания........

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем cobra77777, 13 ноя 2013.

  1. TopicStarter Overlay
    cobra77777
    Offline

    cobra77777 Опытный в 1С

    Регистрация:
    20 апр 2012
    Сообщения:
    154
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте!

    Есть код обработки (xml) строки :

    Запись.ЗаписатьТекст ("CN=0"+Лев(СтрокаТаблицы.CN,3) , + ......

    .........................................

    .........................................


    Запись.ЗаписатьКонецЭлемента();

    КонецЦикла;

    Запись.ЗаписатьКонецЭлемента();
    Запись.Закрыть();

    КонецЦикла;

    КонецПроцедуры



    Получаем файл xml c строкой :CN=000 -111- 00 052, а должно быть CN=000-111-00052 - без пробелов.

    Как можно выйти из этого положения ?
  2. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    у вас неразрывные пробелы в строке, перед тем, как выводить строку сделайте СтрокаТаблицы.CN = СтрЗаменить(СтрокаТаблицы.CN, Символы.НПП, "")
  3. TopicStarter Overlay
    cobra77777
    Offline

    cobra77777 Опытный в 1С

    Регистрация:
    20 апр 2012
    Сообщения:
    154
    Симпатии:
    0
    Баллы:
    26
    спасибо за хелп.
  4. TopicStarter Overlay
    cobra77777
    Offline

    cobra77777 Опытный в 1С

    Регистрация:
    20 апр 2012
    Сообщения:
    154
    Симпатии:
    0
    Баллы:
    26
    Вопрос еще один возник.
    Строка след.содержания : Москва г., необходимо сделать г. Москва какими функциями это можно сделать ? Был бы очень благодарен за пример. Спасибо.
  5. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    теми же самыми Лев, Сред и Прав
  6. TopicStarter Overlay
    cobra77777
    Offline

    cobra77777 Опытный в 1С

    Регистрация:
    20 апр 2012
    Сообщения:
    154
    Симпатии:
    0
    Баллы:
    26
    действительно можно переставить букву справа налево этими функциями ???
    Ок. Попробую.
  7. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    этими функциями можно получить нужные части строки, а потом их сложить в нужной последовательности
  8. TopicStarter Overlay
    cobra77777
    Offline

    cobra77777 Опытный в 1С

    Регистрация:
    20 апр 2012
    Сообщения:
    154
    Симпатии:
    0
    Баллы:
    26
    споткнулся на ровном месте есть строчка:
    ",O=" + Лев (НРег(СтрокаТаблицы.StreetAddress, 6) + " " + \\ругается
    Как правильно записать строчку с НРег ?
  9. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    скобку забыли...
    Лев(НРег(СтрокаТаблицы.StreetAddress),6)
  10. TopicStarter Overlay
    cobra77777
    Offline

    cobra77777 Опытный в 1С

    Регистрация:
    20 апр 2012
    Сообщения:
    154
    Симпатии:
    0
    Баллы:
    26
    Вообще есть такая строчка:

    123456, КИРОВ Г,ГЕРОЕВ УЛ,2,, - которую получаем в xml при выгрузке из БД.

    и есть пример (шаблон) как должна выглядеть эта строчка:

    123456 г.КИРОВ ул.Героев д.2

    и мой код обработки:
    ",streetAddress=" + Лев (СтрокаТаблицы.StreetAddress,6) + " " + Сред(НРег(СтрокаТаблицы.StreetAddress),15,1) + "."+Сред(СтрокаТаблицы.StreetAddress, 8,7)+"ул."+Сред(СтрокаТаблицы.StreetAddress,17,15)

    Получается криво конечно. Как можно извернуться чтобы получилось красиво ?
  11. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Чтоб было красиво нужно через соответсвие строку разбирать, но заранее трудно предугадать, в какой именно последовательности отображается (вдруг пользователь забыл указать улицу или квартиру)
    Вы посмотрите как в типовых контактная информация хранится/считывается.
  12. TopicStarter Overlay
    cobra77777
    Offline

    cobra77777 Опытный в 1С

    Регистрация:
    20 апр 2012
    Сообщения:
    154
    Симпатии:
    0
    Баллы:
    26
    Да единственная загвоздка только в улице ! Может быть длинная улица, может быть.ну понятно. Единственное что я понимаю нужно определить начало и конец строчки после ул с точкой. Или я не прав ?

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