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

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

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 функции:
СтрЧислоВхождений(<СтрИсточник>,<СтрПодстрока>)
и
СтрЗаменить(<СтрИсточник>,<СтрПодстрока>,<СтрЗамены>)


Теги:
 


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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

* Последние вакансии

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
173 Сообщений
alex0402
75 Сообщений
oleg-x
67 Сообщений
AIFrame AIFrame
60 Сообщений
buketov.av buketov.av
47 Сообщений
wise wise
43 Сообщений
ilyay ilyay
39 Сообщений
Анюта17
33 Сообщений
Alter
32 Сообщений
KOI8-R
32 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal