|
Как проверить "..имя объекта конфигурации, должно состоять из одного слова..." | ☑ | ||
---|---|---|---|---|
0
aspirator23
10.03.14
✎
14:41
|
Пользователи заполняют справочник, наименования элементов, которого впоследствии используются как имена кнопок, программно формируемых на форме обработки. Поэтому названия элементов справочника должны корректно введены: "...должны состоять из одного слова, начинаться с буквы и не должно содержать специальных символов, кроме “_”..."
(пробел допустим - вырежу при формировании кнопки). Каким способом можно проверить соблюдение правила, кроме приведенной ниже процедуры? Не люблю без необходимости использовать Попытка-Исключение-КонецПопытки. Процедура НаименованиеОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка) Попытка ТЗПроверки=Новый ТаблицаЗначений; ТЗПроверки.Колонки.Добавить(СтрЗаменить(СокрЛП(Текст)," ","")); Исключение СтандартнаяОбработка=Ложь; Предупреждение("Наименование должно начинаться с буквы и не должно содержать специальных символов, кроме “_”"); КонецПопытки; КонецПроцедуры |
|||
1
ОбычныйЧеловек
10.03.14
✎
14:46
|
(0) Это на сколько же сильно надо ненавидеть пользователя, что бы свои поблемы (по формиромнию идентификатора колонки) возлагать на пользователя.....
|
|||
2
aspirator23
10.03.14
✎
14:47
|
(1) О ненависти нет речи. Справочник доступен пользователю. Он сам решает как должна быть названа кнопка.
|
|||
3
ОбычныйЧеловек
10.03.14
✎
15:03
|
(2) в твоем описание поблемы - пользователь ровным счетов ничего не решает... С таким подходом - разработка это не совсем твое (без обид).
Совет: Справочник вообще не твогай - захотел пользоватеь назвать "моя супер пупер кнопка" - так пусть называет.Когда формируешь кнопку\колонку или что там у тебя еще - создавай уникальный идентификатор и связывай его с элеметом справочника.Либо получай идентификатор этого сравочника (викинув оттуда запрещенные символы) - работы на 5 минут. |
|||
4
Torquader
10.03.14
✎
15:11
|
У справочника, наверное, есть код - его и используй, как идентификатор, а вот текстовое представление пусть пользователь пишет как хочет - может быть - они хотят, чтобы все кнопки назывались одинаково.
|
|||
5
aspirator23
10.03.14
✎
15:11
|
(3) Проблема в том, что здесь пару словами всю задачу не опишешь. Поэтому лучше отвлечься от методики как ее решить.
Нужно решить: Как проверить значение на соответствие правилу? Правило для наименования объектов. |
|||
6
aspirator23
10.03.14
✎
15:17
|
(4) В данной задаче к сожалению код не подходит.
Проблема решается использованием названия элемента справочника и семью строками кода указанном в (0). Но в этом коде не нравится попытка/исключение. |
|||
7
ОбычныйЧеловек
10.03.14
✎
15:18
|
(5) Глупостью занимаешься (ибо в чем задача (и способ решения) было понятно с первых строк. Ну раз уж тебе не жить не быть хочется
Проверить слово то в цикле по длине строки проверь каждый символ (символ должен быть в интревале символов которые являются буквами) |
|||
8
aspirator23
10.03.14
✎
15:19
|
(7) О цикле думал, но уж больно некрасивое решение.
|
|||
9
echo77
10.03.14
✎
15:24
|
Найти(), но все равно в цикле по строке доступных символов
|
|||
10
aspirator23
10.03.14
✎
15:27
|
(9) Видимо решение только циклом. Закрываем ветку.
|
|||
11
ОбычныйЧеловек
10.03.14
✎
15:28
|
(8) оно конечно наверно здорово искать красивое решение для изначально неправильной задачи, но вот вопрос - зачем? Может все таки сразу сделать и красиво и правильно?
|
|||
12
mrDSide
10.03.14
✎
15:30
|
Так попробуй))
имя=/"_/"; Для й=1 По СтрДлина(МоеНазвание) Цикл имя=имя+КодСимвола(Сред(МоеНазвание,й,1)); КонецЦикла; Колонки.Добавить(....); |
|||
13
aspirator23
10.03.14
✎
15:34
|
(12) Интересное решение. Запомню.
|
|||
14
mrDSide
10.03.14
✎
15:39
|
(13) Точно говорю, работает нормально (делал когда-то тестовое задание) на УФ, там хотели видеть в колонках склады и что не отчет и не СКД.
|
|||
15
Remark
10.03.14
✎
15:57
|
(12)+ Я так таблицы дбф загружал, там идентификаторы могли только регистром символа отличаться, что в 1с при установке отбора в табполе представляет проблему, так как берет разные ключи, а в 1с они одинаковые.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |