|
запрет на лишние пробелы названии товара в 1С | ☑ | ||
---|---|---|---|---|
0
pnamik
13.04.15
✎
18:14
|
Добрый день
Прошу помощи. Как с помощью 1С СокрЛ, 1С СокрП, 1С СокрЛП осуществить проверку на лишние пробелы в названии товара в начале, в конце и в середине названии? Чтобы пользователи не могли ставить пробел (также любые незначающие символы) в начале названии, в середине (кроме одного пробела) и в конце названии товара |
|||
1
Волшебник
модератор
13.04.15
✎
18:16
|
Как-то так:
стр = СокрЛП(стр); Пока Найти(стр, " ") > 1 Тогда стр = СтрЗаменить(стр, " ", " "); КонецЦикла; |
|||
2
ДенисЧ
13.04.15
✎
19:51
|
Маленько поправлю и дополню
стрН = СокрЛП(стр); Пока Найти(стрН, " ") > 1 Тогда стрН = СтрЗаменить(стрН, " ", " "); КонецЦикла; Если стр <> стрН Тогда глОтправитьДокладнуюДиректору("" + глТекущийПользователь() + " неправильно заполнил наименование!"); глСоздатьДокументУвольнения(глТекущийПользователь(), ТекущаяДата() - 24*60*60); КонецЕсли; |
|||
3
mistеr
13.04.15
✎
20:02
|
Если уж подходить серьезно, то в Юникоде много разных пробелов. И многие из них попадают в справочник вовсе не с клавиатуры, а со всяких сайтов и прочих Экселей.
|
|||
4
pnamik
13.04.15
✎
21:00
|
(1) и (2) без реакции. как и раньше можно пробелы ставит везде внаименовании. а нужен запрет
|
|||
5
фобка
13.04.15
✎
21:01
|
(4) в каком событии сия манипуляция была проведена?
|
|||
6
mehfk
13.04.15
✎
21:03
|
(4) Воткни (2) в передзаписью, добавь туда еще проверку на ЭтоНовый() и в случае неравенства срок добавь отказ = истина.
|
|||
7
mehfk
13.04.15
✎
21:03
|
*срок -> строк
|
|||
8
pnamik
13.04.15
✎
21:04
|
(5) в модуля формы элемента нлменклатуры процедура перед запись
|
|||
9
pnamik
13.04.15
✎
21:06
|
у меня самописная конфа 8,0,18,2, может поэтому бездействует?
|
|||
10
pnamik
13.04.15
✎
21:07
|
на отсутствие названия осуществил запрет следующим образом
Если СокрЛП(Наименование) = "" Тогда Предупреждение("На заполнено наменование!"); Отказ = Истина; Возврат; КонецЕсли; м |
|||
11
mehfk
13.04.15
✎
21:08
|
(10) Копрокод.
|
|||
12
zak555
13.04.15
✎
21:09
|
В перед записью объекта пишем
Отказ = СтрЧислоВхождений(Наименование, " "); |
|||
13
pnamik
13.04.15
✎
21:16
|
в модуле (2) ошибку выдает без подробности. похоже конец цикла есть а цикла нет
|
|||
14
Сияющий Асинхраль
13.04.15
✎
21:44
|
(13) Пилять, ну описАлся (1) неужто не видно? Строку
Пока Найти(стр, " ") > 1 Тогда надо писать: Пока Найти(стр, " ") > 1 Цикл |
|||
15
ДенисЧ
13.04.15
✎
21:47
|
(14) у него другую ошибку выдаёт... Ему не доступны две хитрые процедуры )
|
|||
16
Сияющий Асинхраль
13.04.15
✎
21:51
|
(15) пусть из типовых скопирует :-)))))
|
|||
17
Serg_1960
14.04.15
✎
00:02
|
Если СтрДлина(Наименование) <> СтрДлина(СтрЗаменить(СокрЛП(Наименование), " ", " ")) Тогда
Отказ = Истина; КонецЕсли; |
|||
18
GreyK
14.04.15
✎
00:44
|
А вот в этой строке есть пробел "6 061"?
|
|||
19
Злопчинский
14.04.15
✎
01:07
|
(18) мб альт+160
|
|||
20
Сияющий Асинхраль
14.04.15
✎
01:10
|
(18) пробела обычного нет, а двух тем более
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |