|
|
Как преобразовать строку в пригодную для ключа структуры? ↓ (Волшебник 26.02.2026 00:05)
PR, Волшебник, Kabz, Seducer, Timon1405, Злоп, trk415e76, palsergeich, TormozIT, Шурик71, Garykom, NorthWind, ass1c, maxab72, Franchiser, Мультук, TTimur, Гость из Мариуполя, bolder, okmail, vis, МаленькийВопросик, yanikolay, mikecool, RomanYS, MichmaN, Михаил_, FirstLineSupport, RomaH, who respawn, alexxx961503, Sneer, CepeLLlka, zzz_zzz_zzz, Джордж1, ДемьянТ, Ногаминебить, ДенисСмирнов, H A D G E H O G s, p-soft, Ёпрст, VladZ, Жан Пердежон, Dmitrii, Доминошник, arsik, toypaul, privetik, Злопчинский, shtucet, nick86, 1cVandal, Dragonofdwarfs, qwerty, Михаил Козлов, Kuzmich123, Daniilvb, Rovan, ryutao, 2mugik, Fedor-1971, zenik, Irbis, Lama12, spiller26, reg0303, АНДР, Климов Сергей, kubik_live, mr_K
| ☑ |
|
0
Dragonofdwarfs
25.02.26
✎
16:54
|
Коллеги, всем доброго времени суток, собственно сам вопрос выше. К ключу требования, насколько я знаю, чтобы он не начинался с цифр и не содержал спецсимволы, кроме "_". Есть ли какая-нибудь бспшная функция, которая производит такие махинации или самому писать?
|
|
|
1
Волшебник
25.02.26
✎
16:55
|
Сгенери GUID, убери дефисы, добавь впереди "_"
|
|
|
2
Dragonofdwarfs
25.02.26
✎
16:59
|
(1) Я примерно так и хочу сделать, только впереди оставить наименование, но пользователь может ввести что ему заблагорассудится, поэтому и хочу сделать преобразование
|
|
|
3
Волшебник
25.02.26
✎
17:00
|
(2) Вы не должны принимать от пользователя строки, которые становятся ключами структуры
|
|
|
4
Kuzmich123
25.02.26
✎
17:00
|
(2) а зачем пользователь участвует в генерации ун. идент.?
|
|
|
5
Fragster
гуру
25.02.26
✎
17:04
|
переходи на Соответствие
|
|
|
6
Dragonofdwarfs
25.02.26
✎
17:08
|
(5) Если бы писал с нуля - перешёл бы) Но там всё на структурах написано
|
|
|
7
Dragonofdwarfs
25.02.26
✎
17:10
|
(4) Хотел больше жизненности что-ли дать, условно как в доп.реквизитах (для разработчика)
|
|
|
8
ass1c
25.02.26
✎
17:21
|
(0) Это же все вроде легко ищется в БСП. Ищешь, используешь, под себя переделываешь...
СтандартныеПодсистемыСервер.ПреобразоватьСтрокуВДопустимоеНаименованиеКолонки(Строка);
Функция ПреобразоватьСтрокуВДопустимоеНаименованиеКолонки(Строка) Экспорт
НедопустимыеСимволы = ":;!@#$%^&-~`'.,?{}[]+=*/|\ ()_""";
Результат = "";
Для Индекс = 1 По СтрДлина(Строка) Цикл
Символ = Сред(Строка, Индекс, 1);
Если СтрНайти(НедопустимыеСимволы, Символ) > 0 Или (КодСимвола(Символ) > 126 И КодСимвола(Символ) < 256) Тогда
Результат = Результат + "_" + КодСимвола(Символ) + "_";
Иначе
Результат = Результат + Символ;
КонецЕсли;
КонецЦикла;
Возврат Результат;
КонецФункции
УправлениеСвойствамиСлужебный.УдалитьНедопустимыеСимволы(Строка);
Процедура УдалитьНедопустимыеСимволы(Строка) Экспорт
НедопустимыеСимволы = """'`/\[]{}:;|-=?*<>,.()+#№@!%^&~«»";
Строка = СтрСоединить(СтрРазделить(Строка, НедопустимыеСимволы, Истина));
КонецПроцедуры
|
|
|
9
Garykom
гуру
25.02.26
✎
17:31
|
(0) Используй хеширование и все
|
|
|
10
Волшебник
25.02.26
✎
18:08
|
(9) Чем это лучше (1) ?
|
|
|
11
TormozIT
гуру
25.02.26
✎
18:52
|
Кроме БСП и писать самому, еще можно скопировать из ИР ирОбщий.ИдентификаторИзПредставленияЛкс
|
|
|
12
Garykom
гуру
25.02.26
✎
20:12
|
(10) Повторяемость преобразования
|
|
|
13
Волшебник
25.02.26
✎
20:18
|
(12) Ну ок
|
|
|
14
Garykom
гуру
25.02.26
✎
20:19
|
(8) Хорошая функция, жаль только медленная
Но допускает обратное преобразование
Кстати так как внутри идет замена недопустимых символов на их числовые коды между "_"
То процедура УдалитьНедопустимыеСимволы() уже лишнее, надо просто все недопустимые включить в ПреобразоватьСтрокуВДопустимоеНаименованиеКолонки
|
|
|
15
Garykom
гуру
25.02.26
✎
20:23
|
Кстати а есть ограничение на длину ключа структуры?
Или на длины идентификаторов колонок, элементов форм и т.д.?
|
|
|
16
Волшебник
25.02.26
✎
20:33
|
(15) Вы точно гуру?
|
|
|
17
Волшебник
25.02.26
✎
20:34
|
Почему я не слышу простого "А зачем?" и "Позовите программиста".
Миста уже не та...
|
|
|
18
Волшебник
25.02.26
✎
20:35
|
(8) Нас теперь воспитывают через БСП всякими уродскими функциями. Кто мы теперь?
|
|
|
19
Волшебник
25.02.26
✎
20:36
|
Почему автор ветки нежится в нашем внимании, хотя должен страдать и молить о пощаде за собственную глупость и невежество?
|
|
|
20
Волшебник
модератор
25.02.26
✎
20:44
|
(0) Тебе предупреждение за нарушение правил форума. Правило 5
|
|
|
21
ass1c
25.02.26
✎
22:47
|
(18) Не знаю, но БСП хорош. Да не без минусов, но куда же без них. Просто большинство обленились и вместо того что бы самому посидеть и поискать/разработать решение сразу же бегут спрашивать на форум/ии - это легкий вариант, не требующий практически никаких затрат, но и не приносящий никакого опыта
|
|
|
22
Волшебник
25.02.26
✎
23:26
|
(21) Ваша БСП погребает пустую новую конфигурацию под собой.
Кстати, пишется "чтобы" в значении цели
|
|
|
23
Злоп
25.02.26
✎
23:59
|
(21) отсюда вопрос: что ценнее с точки зрения работодателя - навык быстрого получения ответа или опыт...?
|
|