Получить только цифры из строки 1с

Обновлено: 04.07.2024


&НаКлиенте
Процедура ПолучениеДлиныСтроки ( Команда )

Длина_Строки_Число = СтрДлина ( "АБВГД" ); // 5 (символов)

&НаКлиенте
Процедура ПолучениеЧастиСтроки ( Команда )

ВычисляемаяСтрока = "1С Предприятие 8.3" ;

// N символов слева
Первые_два_символа = Лев ( ВычисляемаяСтрока , 2 ); // 1С

// N символов справа
Последние_три_символа = Прав ( ВычисляемаяСтрока , 3 ); // 8.3

// N символов из середины (с 4-го символа получим 11 символов)
Средние_символы = Сред ( ВычисляемаяСтрока , 4 , 11 ); // Предприятие

&НаКлиенте
Процедура ПолучениеЧислаВхожденийТекстаВСтроку ( Команда )

ВычисляемаяСтрока = "Между нами провода да да да да да. И ты сказала да да да." ;
Количество_вхождений = СтрЧислоВхождений ( ВычисляемаяСтрока , "да" ); // 8

&НаКлиенте
Процедура ПолучениеКодаСимвола ( Команда )

Код_из_символа = КодСимвола ( "C" ); // 67 (Латиница)
Код_первого_символа_в_строке = КодСимвола ( "Артур" ); // 1040 (Кирилица)
Код_пятого_символа_в_строке = КодСимвола ( "ABCDEFG" , 5 ); //69 (Латиница)
Символ_из_кода = Символ ( 67 ); // "A" (Латиница)

Преобразование в регистр (верхний, нижний, титульный) в 1С 8.3:

&НаКлиенте
Процедура ПреобразованиеВРегистр ( Команда )

//Регистры (верхний, нижний, титульный)
ВычисляемаяСтрока = "У лукоморья Дуб зелёный" ;
Преобразование_в_Верх_регистр = ВРег ( ВычисляемаяСтрока ); // У ЛУКОМОРЬЯ ДУБ ЗЕЛЁНЫЙ
Преобразование_в_Нижн_регистр = НРег ( ВычисляемаяСтрока ); // у лукоморья дуб зелёный
Преобразование_в_Титл_регистр = ТРег ( ВычисляемаяСтрока ); // У Лукоморья Дуб Зелёный

&НаКлиенте
Процедура ПреобразованиеСтрокиВЧисло ( Команда )

фЧисло = Число ( "987.65" ); // 987,65
фЧисло = Число ( "987,65" ); // 987,65
фЧисло = 100 + "24" ; // 124

//Для сложения числа и строки для получения строки:
фСтрока = Строка ( 100 ) + "24" ; // "10024"

&НаКлиенте
Процедура ПоискТекстаВСтроке ( Команда )

ВычисляемаяСтрока = "1С Предприятие 8.3" ;
ТекущийИндекс = Найти ( ВычисляемаяСтрока , "1С" ); // 1

&НаКлиенте
Процедура ПроверкаНаПустуюСтроку ( Команда )

ВычисляемаяСтрока = " " ;
Если ПустаяСтрока ( ВычисляемаяСтрока ) Тогда
// Т.е. может содержать только незначащие символы (например: Пробелы или Переносы)
Сообщить ( "Эта строка пустая!" );
КонецЕсли;

Проверка начала и конца строки: СтрНачинаетсяС, СтрЗаканчиваетсяНа (доступно с платформы 8.3.6.1977) в 1С 8.3:

&НаКлиенте
Процедура ПроверкаНачалаИКонцаСтроки ( Команда )

// СтрНачинаетсяС - это проверка начала строки - со слова "Как"
РезультатПроверки = СтрНачинаетсяС ( "Как хорошо жить" , "Как" ); // Истина

// СтрЗаканчиваетсяНа - это проверка конца строки: на слово "хорошо"
РезультатПроверки = СтрЗаканчиваетсяНа ( "Как хорошо жить" , "хорошо" ); // Ложь

Перевод строки на разные языки НСтр (доступно с платформы 8.3.6.1977) в 1С 8.3:

&НаКлиенте
Процедура ПереводСтрокиНаРазныеЯзыки ( Команда )

РезультатПеревода = НСтр ( "ru = 'Как дела?'; en = 'How are you?'" ); // зависит от установленного языка

Операции с многострочной строкой (с переносами) в 1С 8.3:

&НаКлиенте
Процедура МногострочнаяСтрока ( Команда )

//Вставка переноса в строку
ВычисляемаяСтрока =
"Оплата по договору №1" + Символы . ПС + //1-я строка
"Контрагент ""Новая жизнь""" + Символы . ПС + //2-я строка (если нужно использовать " в строке то, используются двойные кавычки "")
"Сумма 1000 руб. с НДС 20%" ; //3-я строка

Результат_число_строк = СтрЧислоСтрок ( ВычисляемаяСтрока ); // 3(строки)
Результат_2_строка = СтрПолучитьСтроку ( ВычисляемаяСтрока , 2 )); // "Контрагент ""Новая жизнь"""

&НаКлиенте
Процедура РазбиениеСтрокиСРазделителями1 ( Команда ) //Пример №1

Разделитель = ";" ;
СтрокиСРазделителем = СтрЗаменить ( "2020; 2021; 2022" , Разделитель , Символы . ПС );
Для А = 1 По СтрЧислоСтрок ( СтрокиСРазделителем ) Цикл
Сообщить ( СтрПолучитьСтроку ( СтрокиСРазделителем , А ));
КонецЦикла;

&НаКлиенте
Процедура РазбиениеСтрокиСРазделителями2 ( Команда ) //Пример №2 (доступно с платформы 8.3.6.1977)

// Параметры СтрРазделить: Строка, Разделитель(символы), Булево (по умолчанию - Истина - включать в результат пустые строки)
РезультатМассив = СтрРазделить ( "2020; 2021; 2022" , ";" ); // Массив с элементами [0] = "2020", [1] = "2021 ", [2] = "2022"
// Существует обратная функция СтрСоединить, которая наоборот преобразует массив к строке.
РезультатСтрока = СтрСоединить ( РезультатМассив , ";" ); // Строка "2020; 2021; 2022"

Vofka --> Vofka



Просмотр профиля

Для себя писал несколько функций, которыми периодически пользуюсь. Ничего сверхъестественного, просто полезно иметь что-то такое под рукой. Если у вас есть что-то подобное - можно так же тут выкладывать.

sava1 --> sava1



Просмотр профиля Petre --> Petre



Просмотр профиля Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія". sava1 --> sava1



Просмотр профиля Vofka --> Vofka



Просмотр профиля

Слышали. Но для них, как минимум, нужно использовать COM объект, а это использование не родного функционала платформы (я не говорю, что это есть какая-то большая проблема, но в Линуксе, например, работать оно в таком случае не будет). Конечно, во многих случаях на это можно забить. Ну и лично я в регулярных выражениях не шибко силен и мне удобнее использовать подобные функции.

Petre --> Petre



Просмотр профиля

Распечатать

10060 (0x0000274C): Попытка установить соединение была безуспешной  18
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через терминал, а еще у нее свой ноутбук и 17 правил для составления оптимального ЗАПРОСа к данным базы 1С  42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C: Enterprise Development Tools  50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем Cодержимое указанного ниже веб-сайта в этом приложении блокируется. Aboutsecurity_1cv8c.exe  1
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э Google maps : вывод точек на карту и режим панорамы  7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Посмотреть все результаты поиска похожих

Еще в этой же категории

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

Распечатать

17 правил для составления оптимального ЗАПРОСа к данным базы 1С  42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C: Enterprise Development Tools  50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем Google maps : вывод точек на карту и режим панорамы  7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора PostgreSQL: установка, настройка, обслуживание  11
PostgreSQL напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут накладываться на всю таблиц rphost занимает память и грузит процессор  19
У многих возникают проблемы с rphost.exe, разного вида: rphost занимает всю память rphost грузит процессор rphost жрет память причем 1С даже на запущена, а в диспетчере следующее: ежеминутно расчет на 2-3 мегабайта. Как быть и что делат Посмотреть все результаты поиска похожих

Еще в этой же категории

Функция разбора (разложения) строки в массив, аналог СтрРазделить  3
Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено) Результат = Новый Массив; // для обеспечения обратной совместимости Если ПропускатьПустыеСтроки = Неопределено Тогда П Как убрать лидирующие нули в номере Документа  1
Часто при разработке печатных форм или отчетов, нужно номера документов вида 000001 преобразовать в 1 - убрав лидирующие нули. в этой статье я приведу несколько способов, а какой выбрать - решайте сами: Функция УбратьЛидирующиеНули(НомерДокумента) Функция очищает текст в формате HTML от тегов и возвращает неформатированный текст - вариант 2  1
Другой вариант получения текста файла ( Функция очищает текст в формате HTML от тегов и возвращает неформатированный текст ) - это использовать ФорматированныйДокумент: ФормДок = Новый ФорматированныйДокумент; Вложения = Новый Структура; ФормДок Заполнить строку символами или текстом указанное количество раз  1
Данная конструкция формирует строку с нужным фрагментом, повторенным N раз. КоличествоПовторов = 10; ПовторяемыйФрагмент = "*"; СтрокаРезультат = СтрСоединить(новый массив(КоличествоПовторов + 1), ПовторяемыйФрагмент); Разбиваем строку "Фамилия Имя Отчество" на "Фамилия И.О."  1
//////////////////////////// Разборка на инициалы Руководителя ////////////////////////////Выборка.ОРуководитель = "Иванов Иван Иванович" ПервИнициалР = 0; ПервИнициалР = СтрНайти(Выборка.ОРуководитель, " ") + 1; ПервИнициалР = Сред(Вы Посмотреть все в категории Работа с Текстом (Строкой)

Читайте также: