Имя: Пароль:
1C
1C 7.7
v7: 7.7 разделение строки на части
0 Nol
 
26.11.24
08:49
условно мне приходит значение 00114069;00114070;00083046
мне нужно разбить его на отдельные части 00114069 00114070 00083046, чтобы иметь возможность работать с каждым значением отдельно
подскажите как можно такое реализовать?
как разделитель всегда используется ;
1 osa1C
 
26.11.24
08:52
(0)
Функция глРазложить(Знач Стр, Разделитель = ";") Экспорт
	СЗ = СоздатьОбъект("СписокЗначений");
	Если Разделитель = " " Тогда
		Стр = СокрЛП(Стр);
		Пока 1=1 Цикл
			Поз = Найти(Стр,Разделитель);
			Если Поз=0 Тогда
				СЗ.ДобавитьЗначение(Стр);
				Возврат СЗ;
			КонецЕсли;
			СЗ.ДобавитьЗначение(Лев(Стр,Поз-1));
			Стр = СокрЛ(Сред(Стр,Поз));
		КонецЦикла;
	Иначе
		ДлинаРазделителя = СтрДлина(Разделитель);
		Пока 1=1 Цикл
			Поз = Найти(Стр,Разделитель);
			Если Поз=0 Тогда
				СЗ.ДобавитьЗначение(Стр);
				Возврат СЗ;
			КонецЕсли;
			СЗ.ДобавитьЗначение(Лев(Стр,Поз-1));
			Стр = Сред(Стр,Поз+ДлинаРазделителя);
		КонецЦикла;
	КонецЕсли;
КонецФункции
2 Nol
 
26.11.24
08:55
(1) спасибо, я сталкивался с этим на другом ресурсе, но есть ли другие варианты?
3 osa1C
 
26.11.24
08:59
(2) Чем тебя этот не устраивает?
4 Nol
 
26.11.24
09:07
(3) отсутствие понимания как работать с СЗ
я только начинаю и ещё не до конца разобрался как вытащить от туда значения
все равно спасибо
5 Builder
 
26.11.24
09:08
(3) Бездушные боты ....
6 Nol
 
26.11.24
09:09
разобрался
ещё раз спасибо!
7 Nol
 
26.11.24
09:10
(5) если подносить всё на блюдечке, то какой развития не будет)