Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Дек 2017, 18:25
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Функция СтрЗаменить( )  (Прочитано 6231 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Naxer

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-01-10
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте.
1С:Предприятие 7.7 SQL Бухгалтерия ЧП.

Имеется в сией системе встроенная функция
СтрЗаменить("Старая_Строка", "Заменяющий_Символ", "Заменяемый_Символ");

А имеется ли функция заменения по позиции в строке:
НеизвестнаяФункция("Старая_Строка", "Заменяющий_Симол", Позиция_Замены);

Или опять самому сочинять ???
Заранее Спасибо.


Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
А имеется ли функция заменения по позиции в строке:
НеизвестнаяФункция("Старая_Строка", "Заменяющий_Симол", Позиция_Замены);

на этот вопрос вам справка по встроенному языку подскажет. Ветка: Системные/Функции-Процедуры/Строковые

Оффлайн SharZem

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: 3
  • КПД: 11%
  • Регистрация: 2013-01-19
  • Сайт: 
  • Профессия: Программист 7.7
Мне когда-то приходилось исправлять наименования справочника. Для этого использовал следующий код:
	
    Процедура ИзменитьОдноНаДругое()
Если СтрРодит.Выбран() = 0 тогда
Предупреждение ("Необхідно вибрати групу довідника",0);
Возврат
КонецЕсли;
Спр=СоздатьОбъект("Справочник.Товары");
СпрГруппа=СоздатьОбъект("Справочник.Товары");
СпрГруппа = СтрРодит;
Спр.ИспользоватьРодителя(СпрГруппа);
Спр.ПорядокКодов();
Спр.ВыбратьЭлементы();
  ном=0;
  НачатьТранзакцию();
  Пока Спр.ПолучитьЭлемент()=1 Цикл
  Если Спр.ЭтоГруппа()=1 ТОгда
  продолжить;
  КонецЕсли;
  СобственноеИмя=Спр.СобственноеИмя;

  Если СтрЧислоВхождений(СобственноеИмя,Строка1) = 1 Тогда
      НовоеИмя=ВРЕГ(СтрЗаменить(СобственноеИмя,Строка1,Строка2));
  Если НовоеИмя <> Спр.Наименование Тогда
  Спр.СобственноеИмя = Строка(СокрЛП(НовоеИмя));
  Спр.наименование = Строка(СокрЛП(НовоеИмя));
  Спр.ДляЦенника= Строка(СокрЛП(НовоеИмя));
  Спр.Записать();
  ном=ном+1;
  Если Ном = 100 Тогда
  ЗафиксироватьТранзакцию();
  ном = 0;
  НачатьТранзакцию();
  КонецЕсли;
  Состояние ("Записано " +Ном+ " элементов");
  КонецЕсли;
  КонецЕсли;
  КонецЦикла;
  ЗафиксироватьТранзакцию();
  Предупреждение("Процедуру закінчено !",5);
    КонецПроцедуры
Как сами видите, нужно использовать 2 функции:
СтрЧислоВхождений(<СтрИсточник>,<СтрПодстрока>)
и
СтрЗаменить(<СтрИсточник>,<СтрПодстрока>,<СтрЗамены>)


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
140 Сообщений
AIFrame
70 Сообщений
ilyay ilyay
65 Сообщений
alex0402
51 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
31 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

  • Точка Гостей: 446
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal