8.х Ищу функцию()

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем -=ak=-, 7 дек 2007.

  1. TopicStarter Overlay
    -=ak=-
    Offline

    -=ak=- Опытный в 1С

    Регистрация:
    13 фев 2006
    Сообщения:
    107
    Симпатии:
    0
    Баллы:
    26
    Привет всем!

    Какая функция в 1С возвращает путь к товару согласно его вложенности:

    Функция:

    ВолшебнаяФункция(Товар)

    Результат:

    SAMSUNG / Телевизоры / 37’’
  2. Prospero
    Offline

    Prospero Опытный в 1С

    Регистрация:
    13 сен 2006
    Сообщения:
    111
    Симпатии:
    0
    Баллы:
    26
    Код:
    ПолноеНаименование ( FullDescr ) 
    Синтаксис:
    ПолноеНаименование()
    Возвращаемое значение: Тип: Строка. Строка, включающая наименование элемента и наименования всех вышестоящих элементов.
    Наименования выводятся слева направо, начиная с самого верх­него уровня, разделяются символом "/".
    Описание:
    Позволяет получить наименование элемента справочника с уче­том наименований всех вышестоящих элементов.
    
    
    Это?
  3. TopicStarter Overlay
    -=ak=-
    Offline

    -=ak=- Опытный в 1С

    Регистрация:
    13 фев 2006
    Сообщения:
    107
    Симпатии:
    0
    Баллы:
    26
    Да!

    Большое спасибо!

    А как разбить эту страку по символу "/' и запихнуть в массив?
  4. Coder1C
    Offline

    Coder1C Слуга форума Команда форума Администратор

    Регистрация:
    10 фев 2006
    Сообщения:
    506
    Симпатии:
    31
    Баллы:
    54



    Код:
    
    // Функция "расщепляет" строку на подстроки, используя заданный 
    
    //        разделитель. Разделитель может иметь любую длину. 
    
    //        Если в качестве разделителя задан пробел, рядом стоящие пробелы 
    
    //        считаются одним разделителем, а ведущие и хвостовые пробелы параметра Стр
    
    //        игнорируются.
    
    //        Например, 
    
    //        РазложитьСтрокуВМассивПодстрок(",ку,,,му", ",") возвратит массив значений из пяти элементов, 
    
    //        три из которых - пустые строки, а 
    
    //        РазложитьСтрокуВМассивПодстрок(" ку   му", " ") возвратит массив значений из двух элементов
    
    //
    
    //    Параметры: 
    
    //        Стр -             строка, которую необходимо разложить на подстроки. 
    
    //                        Параметр передается по значению.
    
    //        Разделитель -     строка-разделитель, по умолчанию - запятая.
    
    //
    
    //
    
    //    Возвращаемое значение:
    
    //        массив значений, элементы которого - подстроки
    
    //
    
    Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт
    
    МассивСтрок = Новый Массив();
    Если Разделитель = " " Тогда
    Стр = СокрЛП(Стр);
    Пока 1=1 Цикл
    Поз = Найти(Стр,Разделитель);
    Если Поз=0 Тогда
    МассивСтрок.Добавить(Стр);
    Возврат МассивСтрок;
    КонецЕсли;
    МассивСтрок.Добавить(Лев(Стр,Поз-1));
    Стр = СокрЛ(Сред(Стр,Поз));
    КонецЦикла;
    Иначе
    ДлинаРазделителя = СтрДлина(Разделитель);
    Пока 1=1 Цикл
    Поз = Найти(Стр,Разделитель);
    Если Поз=0 Тогда
    МассивСтрок.Добавить(Стр);
    Возврат МассивСтрок;
    КонецЕсли;
    МассивСтрок.Добавить(Лев(Стр,Поз-1));
    Стр = Сред(Стр,Поз+ДлинаРазделителя);
    КонецЦикла;
    КонецЕсли;
    
    КонецФункции // глРазложить
    
  5. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Функция разложения строки в массив делается проще - отладить если надо можете сами - цикл или от нуля или от 1 надо запускать, не помню просто:

    Код:
    Функция РазложитьСтрокуВМассив(ИсходнаяСтрока, Разделитель = ",")     
    
    МассивСтрок = Новый Массив();
    //Разделим строку на подстроки -
    //просто заменив разделитель на перевод строки
    Строки = СтрЗаменить(ИсходнаяСтрока, Разделитель, Символы.ПС); 
    Для А = 0 По СтрЧислоСтрок(Символы)-1  Цикл
    Стр = СтрПолучитьСтроку(Строки, А); 
    МассивСтрок.Добавить(Стр);
    КонецЦикла;
    
    Возврат МассивСтрок;
    
    КонецФункции // РазложитьСтрокуВМассив
    
    

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