7.7 Помогите чайнику

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Rudaki, 24 сен 2007.

  1. TopicStarter Overlay
    Rudaki
    Offline

    Rudaki Опытный в 1С

    Регистрация:
    6 сен 2007
    Сообщения:
    142
    Симпатии:
    0
    Баллы:
    26
    Доброго времени суток всем!!! Такая проблема: Есть реквизит НаименованиеРеестр, в который забивается полное наименование организации (прим. ООО "Лидер"), надо что бы в другой реквизит(Наименование), подставлялось слово из кавычек. Напишите код пожалуйста... Я знаю что это надо делать в цикле, но я не знаю как это реализовать в 1С.
  2. Prospero
    Offline

    Prospero Опытный в 1С

    Регистрация:
    13 сен 2006
    Сообщения:
    111
    Симпатии:
    0
    Баллы:
    26
    т.е. нужно выдрать часть текста?
    дык есть строковые ф-ции - в случае ООО "Лидер" :
    что-то типа
    Код:
    пробел=Найти(НаименованиеРеестр, " "); // ищешь пробел (4)
    ИскомаяСтрока=СтрЗаменить(Прав(НаименованиеРеестр, СтрДлина(НаименованиеРеестр)-пробел),"""", ""); // получаем Лидер
    
  3. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Если точно знаешь, что имеется только 2 знака ", то все проще
    Наим = СтрЗаменить(Наим, """", РазделительСтрок);
    Наим = СтрПолучитьСтроку(Наим,2);
  4. 1Yes
    Offline

    1Yes

    Регистрация:
    15 сен 2007
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    А если не знаешь сколько знаков то приблизительно так: (не проверял работаспособность и синтаксис но должно работать)

    Функция СокрНаименование(ПолнНаименование)
    ПерваяКавычка = Найти(ПолнНаименование, """");
    Для Н=1 По СтрДлина(ПолнНаименование) Цикл
    СтрИнверт = Сред(ПолнНаименование, Н, 1) + СтрИнверт;
    КонецЦикла;
    ПоследняяКавычка = СтрДлина(ПолнНаименование) - Найти(СтрИнверт, """") + 1;
    СокрНаим = Сред(ПолнНаименование, ПерваяКавычка +1, ПоследняяКавычка - ПерваяКавычка -1;
    Возврат СокрНаим;
    конецфункции

    Теоретически должно работать при условии что в исходной строке как минимум 2 кавычки и между крайними как минимум есть 1 символ. В связи с этим в начало лучше добавить проверку этих условий.
    А вообще я это на бэйсике делал т.к. в 1С сам мало понимаю :) (так что если тут увидите ошибку - сильно не ругайте) и был очень удивлен что в 1С нет функции инвертирования строки. Или может я не там искал...
  5. TopicStarter Overlay
    Rudaki
    Offline

    Rudaki Опытный в 1С

    Регистрация:
    6 сен 2007
    Сообщения:
    142
    Симпатии:
    0
    Баллы:
    26
    Спасибо!

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