|
Проверка на пробелы |
☑ |
0
black_cat1305
29.07.13
✎
14:33
|
Добрый день! Помогите мне о великие люди в 1С. Я новичок и только начинаю программировать!!! Задача моя состоит в том: Есть форма куда пользователь вбивает наименование номенклатуры. И для проверки правильно ли набивает пользователь номенклатуру необходимо в процедуру ОкончаниеВводаТекста поставить проверку: Если пользователь вбил номенклатуру, например 30 ГОСТ241-15, то в этом случае срабатывает проверка на наличие пробела перед словом ГОСТ (пробел должен быть обязателен), иначе выходит сообщение что нет пробела перед ГОСТ. Если же пользователь вбивает номенклатуру 40-ОСТ-1-12569 без тире перед словом ОСТ, то выходит снова предупрежедение что перед ОСТ должно быть обязательно тире и на этом процедура завершается
|
|
1
drcrasher
29.07.13
✎
14:34
|
1) окончаниеВводаТекста тут ни при чем
2) регэксп в руки
|
|
2
black_cat1305
29.07.13
✎
14:34
|
я вот уже написала кое что, но правильно не срабатывает:
Стр = АртикулПоиска; // создала копию изначальной строки
Если Найти(ВРЕГ(Стр),"ГОСТ") > 0 Тогда
Стр = СтрЗаменить(Стр, " ", ""); // убрала все пробелы
Стр = СтрЗаменить(Стр, "ГОСТ", " ГОСТ"); // добавила пробел перед ГОСТ
Если Стр <> АртикулПоиска Тогда // сравнение начальной строки с эталонной
Предупреждение("Нет пробела перед ГОСТ!");
Возврат;
КонецЕсли;
ИначеЕсли Найти(ВРЕГ(Стр),"ОСТ") > 0 Тогда
Стр = СтрЗаменить(Стр, " ", ""); // убрала все пробелы
Стр = СтрЗаменить(Стр, "-", ""); // убрала все тире
Стр = СтрЗаменить(Стр, "ОСТ", "-ОСТ"); // добавила пробел перед ОСТ
Если Стр <> АртикулПоиска Тогда
Предупреждение("Перед ОСТ должно быть тире! И не должно быть никаких пробелов!!!");
Возврат;
КонецЕсли;
КонецЕсли;
|
|
3
floody
29.07.13
✎
14:36
|
ост в гост вроде входит
|
|
4
palpetrovich
29.07.13
✎
14:41
|
"40-ОСТ-1-12569" Стр = СтрЗаменить(Стр, "-", ""); // убрала все тире --- может ну его?
ну и, как намекает (3) лучше так: Найти(ВРЕГ(Стр)," ОСТ") > 0
|
|
5
Кефир
29.07.13
✎
14:44
|
А какая разница что ОСТ входит в ГОСТ, мы же уже не нашли ГОСТ когда пошли ОСТ искать.
Стр = СтрЗаменить(Стр, "-", ""); // убрала все тире
Но там же тире часто встречаются и без ошибок, конечно выйдет что
Стр <> АртикулПоиска
|
|
6
Кефир
29.07.13
✎
14:47
|
Если Найти(ВРЕГ(Стр)," ГОСТ") = 0 Тогда //Гост без пробела
Если Найти(ВРЕГ(Стр),"-ОСТ") = 0 Тогда //ОСТ без тире
|
|
7
black_cat1305
30.07.13
✎
06:26
|
Доброе утро! Спасибо всем кто откликнулся на мое сообщение!!! Сейчас буду пробовать)))
|
|
8
Мимохожий Однако
30.07.13
✎
06:43
|
Сначала надо составить правила форматирования наименования, а уж потом кодировать. Я орфографических и других специфических правил не увидел.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший