Имя: Пароль:
1C
1С v8
v8: как проверять элемент справочника?
,
0 RomaH
 
naïve
19.07.13
13:44
Хочу запретить записывать элемент справочника с наименованием длиной меньше 7

делаю в модуле объекта - ПередЗаписью

Процедура ПередЗаписью(Отказ)
   
   Если ОбменДанными.Загрузка Тогда
       Возврат;
   КонецЕсли;
   
   Если СтрДлина(Наименование) < 5 + 2 Тогда
       Отказ = Истина;
   КонецЕсли;


но в базе есть уже элементы с пустым наименованием - при пометке на удаление которых получаю отказ = Итсина ибо наименование не подходит

как правильно проверять справочник?
1 НаборДанных
 
19.07.13
13:46
(0)Проверь, существует ли ссылка и свою проверку.
2 Jonny_Khomich
 
19.07.13
13:46
клёвая номенклатура с пустым наименованием
3 НаборДанных
 
19.07.13
13:48
+(1)В наименование могут запилить пробелы.
4 Wobland
 
19.07.13
13:51
(0) изменить наименование, записать, пометить. раз уж придумал себе такую боль
5 RomaH
 
naïve
19.07.13
14:12
(1) и что это даст?
6 1Сергей
 
19.07.13
14:13
(5) новые не даст записывать, старые - даст
7 RomaH
 
naïve
19.07.13
14:13
по сути проверку надо переносить в другое место - туда где есть возможность получить режим записи - куда?
8 Maxus43
 
19.07.13
14:14
на ЭтоНовый проверяй, старые уж пофиг
9 RomaH
 
naïve
19.07.13
14:14
(6) я как бы в курсе - костыли
10 hhhh
 
19.07.13
14:17
(7) Если (НЕ ЗначениеЗаполнено(Ссылка) ИЛИ СтрДлина(Ссылка.Наименование) >= 7) И СтрДлина(Наименование) < 7 Тогда
       Отказ = Истина;
   КонецЕсли;
11 НаборДанных
 
19.07.13
14:18
(7)Чего? Режим записи? Пятница видимо действует....
(5)Проверяешь, есть ли ссылка, если есть=старый объект, тут уже пофигу, потому что уже обоср.но всё, новые не даешь записать. Могут обойти назвав номенклатуру "    ", сокрЛП сделай. Что еще не понятно?
12 НаборДанных
 
19.07.13
14:27
+(11)Запретить изменение элементов в справочнике избранным, оценить насколько хитер дурак, против которого делаешь проверку, разобрать его стратегию, придумать еще проверки.
13 shadowfiend10
 
19.07.13
14:31
Если Ссылка.ПометкаУдаления <> ПометкаУдаления Тогда

в процедуре перед записью объекта, и так можно разрешать пересохранение по любым реквизитам
14 RomaH
 
naïve
19.07.13
14:33
(13) вот спасибо
Основная теорема систематики: Новые системы плодят новые проблемы.