- СтрНайти, что ему не нравится?
- Функция СтрЗаканчиваетсяНа()
- Синтаксис
- Параметры
- Возвращаемое значение
- Описание
- Доступность
- Пример использования
- Функция СтрНайти()
- Синтаксис
- Параметры
- Возвращаемое значение
- Описание
- Доступность
- Пример использования
- Не срабатывает функция СтрЗаменить
- Работа со строками в 1С 8.2 и 8.3
- Функции для работы со строками в 1С 8.2 и 8.3
- Строка
- СтрДлина
- СокрЛП, СокрЛ, СокрП
- Лев, Прав, Сред
- ВРег, НРег, ТРег
- Найти
- СтрЧислоВхождений
- СтрЗаменить
- ПустаяСтрока
- СтрЧислоСтрок
- СтрПолучитьСтроку
- Символ, КодСимвола
- Символы
- ЗначениеВСтрокуВнутр, ЗначениеИзСтрокиВнутр
- ВвестиСтроку
СтрНайти, что ему не нравится?
Во внешней обработке
код
НомерВхождения=0;
СтрНайти(СокрЛП(СтрокаТЗОтчетПроизводстваЗаСмену.Комментрарий),»#». НомерВхождения);
Если НомерВхождения > 0 Тогда
ОтчетКоммент = СокрЛП(Сред(СтрокаТЗОтчетПроизводстваЗаСмену.Комментрарий,НомерВхождения));
Если ОтчетКоммент = РеализацияКомментарий Тогда
СтрРеалицации.СформированОтчет = «Сформирован»;
КонецЕсли;
КонецЕсли;
Ошибка
<ВнешняяОбработка.ФормированиеОтчетовЗаСменуНаОснованииРеализации.Форма.Форма.Форма(7565,5)>: Процедура или функция с указанным именем не определена (СтрНайти)
>СтрНайти(СокрЛП(СтрокаТЗОтчетПроизводстваЗаСмену.Комментрарий),»#». НомерВхождения); (Проверка: Толстый клиент (обычное приложение))
что ему не нравится?
(5) Режим совместимости = да
(6) ОФ — толстый клиент
вообще
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер), интеграция.
Может так сработает?
СтрНайти (StrFind)
Синтаксис:
Тип: Строка.
Указывает направление поиска подстроки в строке.
Указывает позицию в строке, с которой начинается поиск.
Если параметр не задан и в параметре НаправлениеПоиска указано значение СНачала, то значение по умолчанию равно 1.
Если параметр не задан и в параметре НаправлениеПоиска указано значение СКонца, то значение по умолчанию равно длине строки.
Допускаются значения от 1 до количества символов в строке, в которой выполняется поиск. Если указано значение, не входящее в диапазон, генерируется ошибка «Неверное значение параметра».
Тип: Число.
Указывает номер вхождения искомой подстроки в исходной строке.
Значение по умолчанию: 1.
Возвращаемое значение:
Тип: Число.
Позиция первого знака найденной подстроки. Нумерация символов в строке начинается с 1. Если строка не содержит указанной подстроки, то возвращается 0.
Описание:
Находит первое вхождение искомой строки как подстроки в исходной строке.
Сравнение выполняется с учетом регистра.
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер), интеграция.
Примечание:
Если параметр пустая строка, то возвращает 1.
Если оба параметра пустые строки, то возвращает 1.
Пример:
Источник
Функция СтрЗаканчиваетсяНа()
Проверяет конечные символы исходной строки на совпадение с указанной подстрокой
Синтаксис
Функция СтрЗаканчиваетсяНа() имеет следующий синтаксис:
А также альтернативный англоязычный синтаксис:
Параметры
Описание параметров функции СтрЗаканчиваетсяНа() :
| Имя параметра | Тип | Описание |
|---|---|---|
| ИсходнаяСтрока | Строка | Строка, окончание которой проверяется на совпадение с подстрокой поиска |
| СтрокаПоиска | Строка | Строка, содержащая предполагаемое окончание строки |
| Жирным шрифтом выделены обязательные параметры | ||
Возвращаемое значение
Булево
Описание вариантов возвращаемых значений:
| Истина | — строка заканчивается указанной подстрокой |
| Ложь | — в противном случае |
Описание
Функция СтрЗаканчиваетсяНа() проверяет строку на совпадение конечных символов строки с указанной подстрокой. Если в параметре Подстрока указана пустая строка, будет вызвано исключение.
Доступность
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Пример использования
Пример кода с использованием функции СтрЗаканчиваетсяНа() :
Источник
Функция СтрНайти()
Возвращает первое или очередное вхождение подстроки в исходную строку.
Синтаксис
Функция СтрНайти() имеет следующий синтаксис:
А также альтернативный англоязычный синтаксис:
Параметры
Описание параметров функции СтрНайти() :
| Имя параметра | Тип | Описание | ||||
|---|---|---|---|---|---|---|
| ИсходнаяСтрока | Строка | Исходная строка. | ||||
| ПодстрокаПоиска | Строка | Искомая подстрока. | ||||
| НаправлениеПоиска (необязательный) | НаправлениеПоиска | Указывает направление поиска подстроки в строке. Возможные значения:
Значение по умолчанию: НаправлениеПоиска.СНачала | ||||
| НачальнаяПозиция (необязательный) | Число | Указывает позицию в строке, с которой начинается поиск. Если параметр не задан и в параметре НаправлениеПоиска указано значение СНачала, то значение по умолчанию равно 1. | ||||
| НомерВхождения (необязательный) | Число | Указывает порядковый номер вхождения подстроки в исходной строке. Значение по умолчанию: 1 (ищется первое вхождение) | ||||
| Жирным шрифтом выделены обязательные параметры | ||||||
Возвращаемое значение
Число
Позиция первого символа найденной подстроки.
Описание
Функция СтрНайти() находит требуемое вхождение подстроки поиска с начала или с конца исходной строки. Нумерация символов в строке начинается с 1. Если строка не содержит указанной подстроки, то возвращается 0. Если параметр ПодстрокаПоиска является пустой строкой, то возвращается 1. Если оба обязательных параметра являются пустыми строками, возвращается 1.
Доступность
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер), интеграция.
Пример использования
Пример кода с использованием функции СтрНайти() :
Источник
Не срабатывает функция СтрЗаменить
Нужно убрать пробелы из числовых полей
Почему не убирается пробел?
(5) Увы, я в своё время тоже выплясывал чечетку вокруг этих пробелов. Там просто не могу понять, что циферка, это число, представление циферки, это текст, а мне надо оперировать с переводом из числа в текст.
Автор, ерундой не майся и просто используй Формат. Только первым параметром передай число, а не текст
(10) Самое прикольное что даже разрабы в больших фирмах об этом хитром дефолтном преобразовании чисел в строки забывают.
И можно встретить глюки когда «все работало а потом перестало».
Ну да сначала у вас была нумерация «Объект_1», «Объект_2» и т.д.
А потом наступил «Объект_1 001» и словили глюк потому что например пробелы в этих наименованиях недопустимы.
(7)Ну ты же не хочешь сначала почитать, а потом писать. Вот и люди не хотят.
(4)В запросе тебе это не надо.
у меня на днях был запар. представьте PHP в нем есть массив, массивы бывают ассоциативные (аналог структуры ы 1с), числовые (к ним надо обращатся по ЧИСЛОВОМУ индексу, и каждый новый элемент получает инкрементный от последнего индекс).
так вот в коде есть запрос в базу и от туда получается числовой массив (в базе он хранится в виде серилизованной строки), я получаю массив и вижу там 3 элемента, при этом в коде обращение идет примерно так «а = массив[20]», где 20 это числовой индекс, я стал искать где это я потерял 17 записей массива, ну нету их и все.
оказалось, что нумерация массива с числовым индексом может идти с пробелами, в моем массиве было 3 элемента с индексами 4,10,20 я себе весь мозг взорвал 🙂 а вы говорите «неразрывный пробел» 🙂
Источник
Работа со строками в 1С 8.2 и 8.3
Строка — это один из примитивных типов данных существующих 1С и работать с ним приходится практически постоянно. Следовательно необходимо иметь представление о том, какие функции для работы со строками существуют, как и когда они используются, а также, что получается в результате. Этим и займемся.
Функции для работы со строками в 1С 8.2 и 8.3
Строка
Функция Строка(x) возвращает текстовое представление переданного ей значения “x”.
СтрДлина
Функция СтрДлина(x) вычисляет количество символов в строке “x”, учитывая пробелы и ничего не значащие символы.
СокрЛП, СокрЛ, СокрП
Функции СокрЛП(x), СокрЛ(x) и СокрП(x) убирают пробелы и ничего не значащие символы у переданной строки “x” с обеих сторон, слева и справа соответственно.
Лев, Прав, Сред
Функции Лев(x, y) и Прав(x, y) возвращают количество символов “y” с левого или правого края переданной им строки “x”. А функция Сред(x, y, z) возвращает количество символов “z” из указанного места “y” переданной строки “x”.
ВРег, НРег, ТРег
Функция ВРег(x) преобразует все символы переданной строки “x” в верхний регистр, НРег(x) — в нижний регистр, ТРег(x) — первую букву каждого слова преобразует в верхний регистр, а все остальные нижний.
Найти
Функция Найти(x, y) возвращает номер первого символа первого вхождения подстроки “y” в строку “x”, если, конечно, такое вхождение найдено (при этом нумерация начинается с 1). Если же вхождений не найдено, то функция возвращает 0.
СтрЧислоВхождений
Функция СтрЧислоВхождений(x, y) возвращает количество вхождений подстроки “y” в строку “x”.
СтрЗаменить
Функция СтрЗаменить(x, y, z) позволяет в указанной строке “x” заменить все вхождения одной подстроки “y” на другую “z”, результатом выполнения функции будет строка с проведенными заменами.
ПустаяСтрока
Функция ПустаяСтрока(x) сравнивает переданную ей строку “x” с пустой и возвращает результат этого сравнения — Истина или Ложь, при этом строка состоящая из пробелов и/или ничего не значащих символов приравнивается к пустой.
СтрЧислоСтрок
Функция СтрЧислоСтрок(x) возвращает количество строк в многострочном тексте “x”.
СтрПолучитьСтроку
Функция СтрПолучитьСтроку(x, y) возвращает строку с номером “y” из многострочного текста “x”.
Символ, КодСимвола
Функция Символ(x) получает код символа “x” и возвращает строку содержащую соответствующий символ (в кодировке Unicode). Функция КодСимвола(x) делает обратное действие — получает символ “x” и возвращает его код в кодировке Unicode. Таблицу символов Unicode можно найти, например, тут.
Символы
Это не функция, а набор наиболее часто используемых специальных символов, состоит из:
- ВК (CR) — возврат каретки;
- ВТаб (VTab) — вертикальная табуляция;
- НПП (NBSp) — неразрывный пробел;
- ПС (LF) — перевод строки;
- ПФ (FF) — перевод формы;
- Таб (Tab) — символ горизонтальной табуляции.
ЗначениеВСтрокуВнутр, ЗначениеИзСтрокиВнутр
Функция ЗначениеВСтрокуВнутр(x) возвращает системное строковое представление значения “x”. Функция ЗначениеИзСтрокиВнутр(x) проделывает обратную операцию и возвращает значение, полученное из строкового системного представления “x”. Обе эти функции используются для сохранения функциональной совместимости с версией 7.7. Использование для каких-либо других целей не рекомендуется. В новых версиях платформы данные функции не работают (хотя их описание присутствует в справке).
ВвестиСтроку
Функция ВвестиСтроку(x, y, z, w) вызывает диалог для ввода строки, введенная строка записывается в переменную “x”, кроме этого можно указать подсказку “y”, длину вводимой строки “z”, отметку многострочности вводимого текста “w”. Функция возвращает Истина — если ввод был произведен, Ложь — если пользователь отказался от ввода. Выглядит это окно примерно так:
Источник