• 1с найти второе вхождение в строку. Функций по работе со строками

    В данной статье я расскажу вам про функцию быстрого поиска 1С Предприятие 8. Что такое быстрый поиск? Очень просто. Быстрый поиск — это один из способов навигации в больших списках записей 1С. Это могут быть списки документов, справочники , регистры — все то, что представлено таблицами.

    Что такое быстрый поиск?

    Функция быстрого поиска в документах 1С Предприятие чрезвычайно удобна и позволяет не пролистывать огромные массивы данных (к примеру, с помощью полосы прокрутки), а сразу перейти к нужному месту в списке. К сожалению, начинающие пользователи 1С Предприятие 8 (в том числе и 1С Бухгалтерии 8) поначалу не используют возможности быстрого поиска, предпочитая листать списки документов вручную (а они могут быть очень большими). Данная статья поможет вам разобраться с использованием быстрого поиска в 1С.

    Прежде всего следует заметить, что в конфигурациях 1С Предприятие 8, построенных на управляемых формах , быстрый поиск работает иначе, чем в предыдущих версиях 1С. Поэтому разберем отдельно использование быстрого поиска в управляемых формах и в обычных.

    Быстрый поиск в 1С Бухгалтерии 8.2

    В версиях 1С Бухгалтерии с 8.0 по 8.2 функция предназначена именно для перехода к нужной части списка. Для примера посмотрите на окно плана счетов , приведённое на рисунке.


    В окне выделена некоторая строка. Обратите внимание малозаметный треугольник из полосок, на который указывает красная стрелка. Как и в других программах Windows, где есть списки (например, в Проводнике), положение этого маркера (треугольника) определяет сортировку списка в целом — в какой колонке установлен маркер, по той и будет отсортирован весь список. На рисунке маркер стоит в колонке Код , следовательно счета в плане счетов будут отсортированы по коду.

    Маркер можно перемещать с одной колонки на другую, щёлкая на нужной колонке (на ЗАГОЛОВКЕ колонки! ) мышкой. Если маркер и так уже стоит в текущей колонке, то щелчок приведет к изменению направления сортировки на противоположное (т.е. от большего к меньшему или наоборот). Это стандартное поведение для любых программ Windows. В чем же особенность этого маркера в 1С Предприятии и как это связано с быстрым поиском?

    Быстрый поиск в списках 1С Предприятие 8 осуществляется по колонке, в которой стоит маркер. В данном случае быстрый поиск в плане счетов будет осуществляться по колонке Код.

    Тут была важная часть статьи, но без JavaScript её не видно!

    Как пользоваться быстрым поиском в 1С? Легко! Просто начните печатать то, что хотите найти в ДАННОЙ колонке , т.е. там, где стоит маркер. В примере на рисунке выше следует вводить номер счета. Например, вы хотите найти счет 50 Касса . В таком случае введите (мышкой щелкать никуда не нужно! ) число 50 с клавиатуры и если в данной колонке есть счет с таким номером (а он, конечно, есть), то список прокрутится до этой строки, а сама строка окажется выделенной. Результат показан на скриншоте плана счетов ниже.

    сайт_

    Текст, на который указывает стрелка, стирать потом не нужно — он сам исчезнет.

    Если в приведенном примере начать вводить слово "Касса", то текст в нижней части окна будет вводится, а затем стираться. Происходит это потому, что как только начало вводимой строки быстрого поиска перестает совпадать с началом хотя бы одной строки в данной колонке, 1С Предприятие делает вывод, что искомая строка не найдена и автоматически её стирает. В связи с этим следует запомнить два правила .

    В 1С Предприятии 8 быстрый поиск производится по началу строки, т.е. в колонке ищется совпадение вводимого текста с началом одной из строк этой колонки.
    Отсюда вытекает важная рекомендация: при вводе данных в справочники именуйте элементы так, чтобы их было удобно искать при помощи быстрого поиска. Например, название контрагента лучше писать как "ИмяФирмы ООО", чем "ООО ИмяФирмы". И тем более не стоит использовать в названии кавычки и прочие ненужные символы (речь идет о заполнении поля Наименование в формах).

    Если вы начали вводить текст, а он стирается — то, что вы ищете, отсутствует в данной колонке! В этом случае проверьте язык ввода, а также колонку в которой производится быстрый поиск. Типичная ошибка — выбрана не та колонка. Например, маркер установлен в колонке Код, а поиск производится по названию счета.

    Быстрый поиск в 1С Бухгалтерии 8.3

    Теперь посмотрим, чем отличается быстрый поиск в версии 1С Предприятие 8.3 . Использование во многом схоже с версией 8.2, однако есть одно существенное отличие, которое следует запомнить.

    В 1С Бухгалтерии 8.3, а также в любых других конфигурациях на управляемых формах (тот самый новый интерфейс), работает как фильтр. Проще говоря, в результате работы функции быстрого поиска часть списка скрывается .

    Как этим пользоваться, мы с вами сейчас выясним. Для начала посмотрите на скриншот окна плана счетов 1С Бухгалтерии 8.3, приведенный ниже.

    сайт_

    Как видите, тот же самый маркер в одной из колонок. Поиск так же производится по колонке, в которой установлен маркер. Это всё осталось без изменений. Однако, если начать вводить текст (в примере - номер счета), то произойдет следующее.

    сайт_

    Как видите, просто автоматически открылось окно поиска. Такое же точно окно откроется, если нажать на кнопку поиска на панели инструментов окна (на рисунке подчеркнута). В результате при нажатии в окне поиска кнопки Найти (на картинке скрыта за выпадающим меню) или просто Enter, то получиться следующий результат.

    сайт_

    Отсюда видно, что быстрый поиск в 1С Бухгалтерии 8.3 просто оставляет видимой часть списка, удовлетворяющую условиям поиска. При этом кнопка Найти пропадает, а вместо неё появляется линза с крестиком (на рис. подчеркнута), при нажатии на которую список возвращается в исходное состояние (при этом остаётся выделена строка, найденная в результате быстрого поиска).

    Еще одна важная особенность быстрого поиска в 1С Бухгалтерии 8.3 — совпадение ищется не по началу строки, как в версии 8.2, а производится поиск на совпадение с любой частью строк в колонке. Таким образом, если контрагента назвать "ООО ИмяФирмы", а при поиске начать вводить "ИмяФирмы ООО", то строка все равно найдется!

    Делаем выводы

    Таким образом, быстрый поиск в 1С Бухгалтерии 8.2 и более ранних версиях предназначается для прокрутки списка к нужной строке, а в 1С Бухгалтерии 8.3 быстрый поиск работает как обычный фильтр, скрывая ненужную вам часть списка.

    Механизмов для работы со строками в запросах 1С мало. Во-первых, строки можно складывать. Во-вторых, от строки можно взять подстроку. В-третьих, строки можно сравнивать, в том числе по шаблону. Вот пожалуй и всё, что можно делать со строками.

    Сложение строк

    Для сложения строк в запросе используется операция «+». Складывать можно только строки ограниченной длины.

    ВЫБРАТЬ "Наименование: " + Контрагенты.Наименование КАК Колонка1 ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.Ссылка = &Ссылка

    Функция Подстрока

    ПОДСТРОКА(<Строка>, <НачальнаяПозиция>, <Длина>)

    Аналог функции Сред() из объектной модели. Функция Подстрока() может применяться к данным строкового типа и позволяет выделить фрагмент <Строки> , начинающийся с символа номер <НачальнаяПозиция> (символы в строке нумеруются с 1) и длиной <Длина> символов. Результат вычисления функции имеет строковый тип переменной длины, причем длина будет считаться неограниченной, если <Строка> имеет неограниченную длину и параметр <Длина> не является константой или превышает 1024.

    Если длина строки меньше, чем указана во втором параметре, то функция вернет пустую строку.

    Внимание! Использование функции ПОДСТРОКА() с целью приведения строк неограниченной длины к строкам ограниченной длины не рекомендуется. Вместо нее лучше использовать операцию приведения типа ВЫРАЗИТЬ().

    Функция Подобно

    Если нужно убедиться, что строковый реквизит соответствует определённым критериям мы его сравниваем:

    ВЫБРАТЬ Контрагенты.Наименование КАК Колонка1 ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.Наименование = "Газпром"

    А что, если нужно более хитрое сравнение? Не просто на равенство или неравенство, а на подобие определенному шаблону? Вот как раз для этого и создана функция ПОДОБНО.

    ПОДОБНО — Оператор проверки строки на подобие шаблону. Аналог LIKE в SQL.

    Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип строка. Если значение выражения удовлетворяет шаблону – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ.

    Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки:

    • % (процент): последовательность, содержащая любое количество произвольных символов;
    • _ (подчеркивание): один произвольный символ;
    • […] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона;
    • [^…] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания.

    Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки. Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать <Спецсимвол>. Сам <Спецсимвол> (любой подходящий символ) определяется в этом же операторе после ключевого слова СПЕЦСИМВОЛ.

    Всем привет
    Сегодня попросили меня при печати документа реализации не выводить префикс документа, задачу решил следующим образом.

    СтрЗаменить(Номер, Лев (Номер, 3 ), "" );

    Когда заглянул в синтакс-помощник так мне это понравилось, что захотелось написать о работе с строками в «1С:Предприятие» .

    Строка в 1С относится к примитивному типу данных.

    Если посмотреть в справку 1С увидим следующее описание типа Строка (String)
    Значения данного типа содержат строку в формате Unicode произвольной длины.
    Если своими словами о строках то получится. Строка — константа, состоящая из различных символов, обрамляется всегда кавычками.

    Задание строки
    Обращение = «Привет пассажир»;

    Многострочные строки в типовых конфигурациях чаще всего создаются с помощью вертикального разделителя «|»:
    Строка = «Многострочная
    |строка
    |пиши
    |текст»;

    Кавычка внутри строки задаются двойными кавычками.
    Строка = «»Текст в кавычках»»;

    Над строками существует множество операций (поиск в нутрии строки, определение первых и т.д.), лучше посмотреть Синтакс-помощник.
    Синтакс-помощник — Общее описание встроенного языка-> встроенные функции-> функции по работе со строками.

    Функций по работе со строками

    Здесь в краткой форме приведу функций по работе со строками:

    ВРег(<Строка>) — Все символы строки функция преобразует в верхний регистр.

    КодСимвола(<Строка>, <НомерСимвола>) – Функция получает код символа, расположенного в переданной строке в позиции с указанным номером.

    Лев(<Строка>, <ЧислоСимволов>) – Функция выбирает первые слева символы строки.

    Найти(<Строка>, <ПодстрокаПоиска>) — Функция находит вхождение искомой строки как подстроки в исходной строке.

    НРег(<Строка>) — Функция преобразует все символы строки в нижний регистр.

    Прав(<Строка>, <ЧислоСимволов>) – Данная функция отличается от функций Лев (Left) тем что выбирает последние справа символы строки.

    ПустаяСтрока(<Строка>) — Функция проверяет строку на наличие значащих символов.

    Символ(<КодСимвола>) — Функция преобразует код символа в строку, содержащую символ.

    СокрЛ(<Строка>) — Функция отсекает незначащие символы, стоящие слева от первого значащего символа в строке.

    СокрЛП(<Строка>) — Функция отсекает незначащие символы, стоящие слева от первого значащего символа в строке, и пробелы, стоящие справа от последнего значащего символа в строке.

    СокрП(<Строка>) — Функция отсекает незначащие символы, стоящие справа от последнего значащего символа в строке.

    Сред(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) — Функция выбирает строку символов, начиная с символа <НачальныйНомер>, общим количеством <ЧислоСимволов>.

    СтрДлина(<Строка>) — Функция получает количество символов в строке.

    СтрЗаменить(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) — Функция находит в исходной строке все вхождения подстроки поиска и заменяет ее на подстроку замены.

    СтрПолучитьСтроку(<Строка>, <НомерСтроки>) — Функция получает строку многострочной строки по номеру.

    СтрЧислоВхождений(<Строка>, <ПодстрокаПоиска>) — Функция вычисляет число вхождений подстроки поиска в исходной строке.

    СтрЧислоСтрок(<Строка>) — Функция считает число строк в многострочной строке. В многострочной строке, строки разделены символами перевода строк.

    ТРег(<Строка>) — Функция преобразует строку к титульному регистру. Это означает, что у каждого слова первый символ преобразуется к титульному регистру или к верхнему регистру, если титульный регистр для символа не определен. Остальные символы преобразуются к нижнему регистру.

    Преобразования типов
    Для явного преобразования типов данных существуют функции одноименные с типом данных, к которому происходит преобразование: Строка(<Значение>)

    СтрокаИзЧисел= Строка(Число);

    Все данные функции подробно описаны в Синтакс-помощник, как начинающему программисту может помочь Синтакс-помощник, я описал в статье .

    Примеры по работе с строками

    Преобразование числа в строку и обратно.

    Для получения строкового представления года следует использовать функцию Формат.

    Год = Формат(ТекущаяДата(), "ДФ=yyyy" ) // Год = "2012"

    Чтобы преобразовать число к строке без вставки символа-разделителя групп (неразрывного пробела), необходимо применить функцию Формат с параметром ЧГ=0:

    Число = 2012 Строка = Формат(Число, "ЧГ=0" ); //Строка = "2012"

    Строка Без пробелов.

    Строки в 1С 8.3 во встроенном языке 1с представляют собой значения примитивного типа Строка . Значения данного типа содержат строку в формате Unicode произвольной длины. Переменные строкового типа являются набором символов заключенных в кавычки.

    Пример 1. Создадим строковую переменную с текстом.

    СтроковаяПеременная = "Привет мир!";

    Функции работы со строками в 1с 8.3

    В данном разделе будут приведены основные функции, позволяющие изменять строки в 1с, либо анализировать информацию содержащуюся в них.

    СтрДлина

    СтрДлина(<Строка>) . Возвращает количество символов содержащихся в строке, переданной в параметре.

    Пример 2. Посчитаем количество символов в строке «Привет мир!».

    Строка = "Привет мир!"; КоличествоСимволов = СтрДлина(Строка); Сообщить(КоличествоСимволов);

    Итогом выполнения данного кода будет вывод на экран количества символов строки: 11.

    СокрЛ

    СокрЛ(<Строка>) . Отсекает незначащие символы, стоящие слева от первого значащего символа в строке.
    Незначащие символы:

    • пробел;
    • неразрывный пробел;
    • табуляция;
    • возврат каретки;
    • перевод строки;
    • перевод формы (страницы).

    Пример 3. Убрать все пробелы с левой стороны строки » мир!» и присоединить к ней строку «Привет «.

    Строка = СокрЛ(" мир!"); Строка = "Привет "+Строка; Сообщить(Строка);

    Итогом выполнения данного кода будет вывод на экран строки «Привет мир!».

    СокрП

    СокрП(<Строка>) . Отсекает незначащие символы, стоящие справа от первого значащего символа в строке.

    Пример 4. Сформировать из строк «Привет » и » мир!» фразу «Привет мир!»

    Строка = СокрП("Привет ")+" "+СокрЛ(" мир!"); Сообщить(Строка);

    СокрЛП

    СокрЛП(<Строка>) . Отсекает незначащие символы, стоящие справа от первого значащего символа в строке, также отсекает незначащие символы, стоящие слева от первого значащего символа в строке. Данная функция используется чаще предыдущих двух, так как она более универсальна.

    Пример 5. Убрать незначащие символы стоящие слева и справа в наименовании контрагента.

    Контрагент = Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", "0777121211"); КонтрагентОбъект = Контрагент.ПолучитьОбъект(); КонтрагентОбъект.Наименование = СокрЛП(КонтрагентОбъект.Наименование); КонтрагентОбъект.Записать();

    Лев

    Лев(<Строка>, <ЧислоСимволов>) . Получает первые символы строки, число символов указывается в параметре ЧислоСимволов.

    Пример 6. Пусть в структуре Сотрудник содержаться имя, фамилия и отчество сотрудника. Получить строку с фамилией и инициалами.

    ИнициалИмени = Лев(Сотрудник.Имя, 1); ИнициалОтчества = Лев(Сотрудник.Отчество, 1); ПолноеИмя = Сотрудник.Фамилия + " " + ИнициалИмени + "." + ИнициалОтчества + ".";

    Прав

    Прав(<Строка>, <ЧислоСимволов>) . Получает последние символы строки, число символов указывается в параметре ЧислоСимволов. Если указанное количество символов превышает длину строки, то возвращается вся строка.

    Пример 7. Пусть в конце строковой переменной записана дата в формате «ггггммдд», получить строку с датой и преобразовать ее к типу Дата .

    Строка = "Текущая дата: 20170910"; СтрокаДата = Прав(Строка, 8); Дата = Дата(СтрокаДата);

    Сред

    Сред(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Получает подстроку из строки переданной в параметре Строка , начиная с символа номер которого указан в параметре НачальныйНомер и длиной переданной в параметр ЧислоСимволов. Нумерация символов в строке начинается с 1. Если в параметре НачальныйНомер указано значение, меньшее или равное нулю, то параметр принимает значение 1. Если параметр ЧислоСимволов не указан, то выбираются символы до конца строки.

    Пример 8. Пусть в строковой переменной начиная с девятой позиции содержится код региона, следует получить его и записать в отдельную строку.

    Строка = "Регион: 99 г. Москва"; Регион = Сред(Строка, 9, 2);

    СтрНайти

    СтрНайти(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Осуществляет поиск указанной подстроки в строке, возвращает номер позиции первого символа найденной подстроки. Рассмотрим параметры данной функции:

    • Строка . Исходная строка;
    • ПодстрокаПоиска . Искомая подстрока;
    • НаправлениеПоиска . Указывает направление поиска подстроки в строке. Может принимать значения:
      • НаправлениеПоиска.СНачала ;
      • НаправлениеПоиска.СКонца ;
    • НачальнаяПозиция . Указывает позицию в строке, с которой начинается поиск;
    • НомерВхождения . Указывает номер вхождения искомой подстроки в исходной строке.

    Пример 9. В строке «Привет мир!» определить позицию последнего вхождения символа «и».

    НомерПозиции = СтрНайти("Привет мир!", "и", НаправлениеПоиска.СКонца); Сообщить(НомерПозиции);

    Итогом выполнения данного кода будет вывод на экран номера последнего вхождения символа «и»: 9.

    ВРег

    ВРег(<Строка>) . Преобразует все символы указанной строки в 1с 8 к верхнему регистру.

    Пример 10. Преобразовать строку «привет мир!» к верхнему регистру.

    СтрокаВрег = ВРег("привет мир!"); Сообщить(СтрокаВрег);

    Итогом выполнения данного кода будет вывод на экран строки «ПРИВЕТ МИР!»

    НРег

    НРег(<Строка>) . Преобразует все символы указанной строки в 1с 8 к нижнему регистру.

    Пример 11. Преобразовать строку «ПРИВЕТ МИР!» к нижнему регистру.

    СтрокаНрег = НРег("ПРИВЕТ МИР!"); Сообщить(СтрокаВрег);

    Итогом выполнения данного кода будет вывод на экран строки «привет мир!»

    ТРег

    ТРег(<Строка>) . Преобразует строку следующим образом: первый символ каждого слова переводится в верхний регистр, остальные символы слова переводятся в нижний регистр.

    Пример 12. Сделать заглавными первые буквы слов в строке «привет мир!».

    СтрокаТрег = ТРег("привет мир!"); Сообщить(СтрокаТрег);

    Итогом выполнения данного кода будет вывод на экран строки «Привет Мир!»

    Символ

    Символ(<КодСимвола>) . Получает символ по его коду в кодировке Unicod.

    Пример 13. Добавим слева и справа в строку «Привет Мир!» символ ★

    СтрокаСоЗвездами = Символ("9733")+"Привет Мир!"+Символ("9733"); Сообщить(СтрокаСоЗвездами);

    Итогом выполнения данного кода будет вывод на экран строки «★Привет Мир!★»

    КодСимвола

    КодСимвола(<Строка>, <НомерСимвола>) . Получает код символа в кодировке Unicode из строки указанной в первом параметре, расположенного в позиции указанной во втором параметре.

    Пример 14. Узнать код последнего символа в строке «Привет Мир!».

    Строка = "Привет Мир!"; КодСимвола = КодСимвола(Строка, СтрДлина(Строка)); Сообщить(КодСимвола);

    Итогом выполнения данного кода будет вывод на экран кода символа «!» — 33.

    ПустаяСтрока

    ПустаяСтрока(<Строка>) . Проверяет состоит ли строка только из незначащих символов, то есть является ли она пустой.

    Пример 15. Проверить является ли пустой строка состоящая из трех пробелов.

    Пустая = ПустаяСтрока(" "); Сообщить(Пустая);

    Итогом выполнения данного кода будет вывод на экран слова «Да» (строковое выражение логического значения Истина ).

    СтрЗаменить

    СтрЗаменить(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Находит в исходной строке все вхождения подстроки поиска и заменяет ее на подстроку замены.

    Пример 16. В строке «Привет Мир!» заменить слово «Мир» на слово «Друзья».

    Строка = СтрЗаменить("Привет Мир!", "Мир", "Друзья"); Сообщить(Строка);

    Итогом выполнения данного кода будет вывод на экран строки «Привет Друзья!»

    СтрЧислоСтрок

    СтрЧислоСтрок(<Строка>) . Позволяет посчитать количество строк в многострочной строке. Для перехода на новую строку в 1с 8 используется символ ПС (символ перевода строки).

    Пример 17. Определить число строк в тексте:
    «Первая строка
    Вторая строка
    Третья строка»

    Число = СтрЧислоСтрок("Первая строка"+Символы.ПС +"Вторая строка"+Символы.ПС +"Третья строка"); Сообщить(Число);

    Итогом выполнения данного кода будет вывод на экран количества строк в тексте: 3

    СтрПолучитьСтроку

    СтрПолучитьСтроку(<Строка>, <НомерСтроки>) . Получает строку в многострочной строке по ее номеру. Нумерация строк начинается с 1.

    Пример 18. Получить последнюю строку в тексте:
    «Первая строка
    Вторая строка
    Третья строка»

    Текст = "Первая строка"+Символы.ПС +"Вторая строка"+Символы.ПС +"Третья строка"; ПоследняяСтрока = СтрПолучитьСтроку(Текст, СтрЧислоСтрок(Текст)); Сообщить(ПоследняяСтрока);

    Итогом выполнения данного кода будет вывод на экран строки «Третья строка».

    СтрЧислоВхождений

    СтрЧислоВхождений(<Строка>, <ПодстрокаПоиска>) . Возвращает число вхождений указанной подстроки в строку. Функция чувствительна к регистру.

    Пример 19. Определить сколько раз входит в строку «Строки в 1с 8.3 и 8.2» буква «с», вне зависимости от ее регистра.

    Строка = "Строки в 1с 8.3 и 8.2"; ЧислоВхождений = СтрЧислоВхождений(Врег(Строка), "С"); Сообщить(ЧислоВхождений);

    Итогом выполнения данного кода будет вывод на экран числа вхождений: 2.

    СтрНачинаетсяС

    СтрНачинаетсяС(<Строка>, <СтрокаПоиска>) . Проверяет начинается ли строка переданная в первом параметре, со строки во втором параметре.

    Пример 20. Определить начинается ли ИНН выбранного контрагента с цифры 1. Пусть в переменной Контрагент Контрагенты .

    ИНН = Контрагент.ИНН; НачинаетсяСЕдиницы = СтрНачинаетсяС(ИНН, "1"); Если НачинаетсяСЕдиницы Тогда //Ваш код КонецЕсли;

    СтрЗаканчиваетсяНа

    СтрЗаканчиваетсяНа(<Строка>, <СтрокаПоиска>) . Проверяет заканчивается ли строка переданная в первом параметре, на строку во втором параметре.

    Пример 21. Определить заканчивается ли ИНН выбранного контрагента на цифру 2. Пусть в переменной Контрагент хранится ссылка на элемент справочника Контрагенты .

    ИНН = Контрагент.ИНН; ЗаканчиваетсяНаДвойку = СтрЗаканчиваетсяНа(ИНН, "2"); Если ЗаканчиваетсяНаДвойку Тогда //Ваш код КонецЕсли;

    СтрРазделить

    СтрРазделить(<Строка>, <Разделитель>, <ВключатьПустые>) . Разделяет строку на части по указанным символам-разделителям и записывает полученные строки в массив. В первом параметре хранится исходная строка, во втором строка содержащая разделитель, в третьем указывается, нужно ли записывать в массив пустые строки (по умолчанию Истина ).

    Пример 22. Пусть у нас есть строка содержащая числа разделенные символом «;», получить из строки массив чисел.

    Строка = "1; 2; 3"; Массив = СтрРазделить(Строка, ";"); Для Сч = 0 По Массив.Количество() - 1 Цикл Попытка Массив[Сч] = Число(СокрЛП(Массив[Сч])); Исключение Массив[Сч] = 0; КонецПопытки КонецЦикла;

    В результате выполнения будет получен массив с числами от 1 до 3-х.

    СтрСоединить

    СтрСоединить(<Строки>, <Разделитель>) . Преобразует массив строк из первого параметра в строку, содержащую все элементы массива через разделитель, указанный во втором параметре.

    Пример 23. Используя массив чисел из предыдущего примера, получить исходную строку.

    Для Сч = 0 По Массив.Количество() - 1 Цикл Массив[Сч] = Строка(Массив[Сч]); КонецЦикла; Строка = СтрСоединить(Массив, "; ");