🔥 Горящие вакансии
Все статьи

Как получить числа из строки в 1С: две функции

Эту и другие технические статьи написали наши программисты 1С и получили за них премии. Если вы тоже работаете с 1С и любите делиться опытом, приходите разработчиком в Neti

Рассмотрим две функции, позволяющие получить числа из строки:

  • ПолучитьСтрокуТолькоПервыеЦифры — в результате строка из первых цифр строки,
  • ПолучитьСтрокуТолькоЦифры — в результате строка из всех цифр строки.
Функция <strong>ПолучитьСтрокуТолькоПервыеЦифры</strong>(ЗНАЧ ВходнаяСтрока)
                РезультатТолькоПервыеЦифры = "";
               
                ИндексЭлемента = 1;  
                ДоступныеСимволы = "0123456789";
               
                Пока ИндексЭлемента <= СтрДлина(ВходнаяСтрока) Цикл
                               ПроверяемыйСимвол = Сред(ВходнаяСтрока, ИндексЭлемента, 1);
                              
                               Если СтрНайти(ДоступныеСимволы, ПроверяемыйСимвол) = 0 Тогда
                                               Если ЗначениеЗаполнено(РезультатТолькоПервыеЦифры) Тогда
                                                               Прервать;
                                               КонецЕсли;
                                              
                                               ВходнаяСтрока = СтрЗаменить(ВходнаяСтрока, ПроверяемыйСимвол, "");
                                              
                                               Продолжить;
                               Иначе
                                               РезультатТолькоПервыеЦифры = РезультатТолькоПервыеЦифры + ПроверяемыйСимвол;
                               КонецЕсли;
                              
                               ИндексЭлемента = ИндексЭлемента + 1;
                КонецЦикла;
               
                Возврат РезультатТолькоПервыеЦифры;
КонецФункции
Функция <strong>ПолучитьСтрокуТолькоЦифры</strong>(ВходнаяСтрока)     
                Результат = ВходнаяСтрока;   
               
ИндексЭлемента = 1;  
                ДоступныеСимволы = "0123456789";
               
                Пока ИндексЭлемента <= СтрДлина(Результат) Цикл
                               ПроверяемыйСимвол = Сред(Результат, ИндексЭлемента, 1);


                               Если СтрНайти(ДоступныеСимволы, ПроверяемыйСимвол) = 0 Тогда
                                               Результат = СтрЗаменить(Результат, ПроверяемыйСимвол, "");
                                               Продолжить;
                               КонецЕсли;


                              ИндексЭлемента = ИндексЭлемента + 1;
                КонецЦикла;
               
                Возврат Результат;      
КонецФункции

Оставить коментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Раз в квартал — дайджест достойный внимания

Вести с полей 1С, кейсы работы с заказчиками и вакансии на удалёнке

Image

Отправить резюме

    Я согласен на обработку персональных данных в соответствии
    со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

    Отправить резюме

      Я согласен на обработку персональных данных в соответствии
      со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

      Pекомендовать друга

        Отправьте контактные данные вашего друга и предупредите его, что мы с ним свяжемся. Когда друг успешно отработает 3 месяца, вы получите 20 000 ₽.


        Выбрать вакансию
        • Ведущий аналитик 1С
        • Программист 1С
        • Консультант-аналитик 1С
        • Проекты для команды специалистов 1С
        • Проекты для специалистов 1С
        • Стажёр-программист 1С
        • Bitrix-разработчик
        Я согласен на обработку персональных данных в соответствии
        со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

        Pекомендовать друга

          Отправьте контактные данные вашего друга и предупредите его, что мы с ним свяжемся. Когда друг успешно отработает 3 месяца, вы получите 20 000 ₽.


          Выбрать вакансию
          • Ведущий аналитик 1С
          • Программист 1С
          • Консультант-аналитик 1С
          • Проекты для команды специалистов 1С
          • Проекты для специалистов 1С
          • Стажёр-программист 1С
          • Bitrix-разработчик
          Я согласен на обработку персональных данных в соответствии
          со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

          Спасибо!

          Мы получили ваше резюме. Менеджер свяжется с вами в течение трех дней

          Горящие вакансии