|
Как преобразовать строку в пригодную для ключа структуры? ↓ (Волшебник 26.02.2026 00:05) | ☑ | ||
|---|---|---|---|---|
|
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) отсюда вопрос: что ценнее с точки зрения работодателя - навык быстрого получения ответа или опыт...?
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |