Имя: Пароль:
1C
1С v8
Добавление нового значения в свойство номенклатуры
,
0 Евгений90
 
29.10.12
08:12
Делаю во внешней обработке. На форме есть ПолеВвода (НовЗнач) и по нажатию на кнопку выполняется следующий код. Новое значение добавляется, но хочу чтобы выполнялась проверка: если такое значение уже есть, то вывести сообщение, если нет, то  записать. Что не так в коде?

Процедура ДобавитьЗначениеНажатие(Элемент)
     НовЗнач = ЭтаФорма.ЗначениеНоменклатуры;
     СпрЗначСвОб  = Справочники.ЗначенияСвойствОбъектов;
     сСпрЗначСвОб = СпрЗначСвОб.НайтиПоНаименованию(НовЗнач);
     Если сСпрЗначСвОб = СпрЗначСвОб.ПустаяСсылка() Тогда
       
     сСпрЗначСвОб = Справочники.ЗначенияСвойствОбъектов.СоздатьЭлемент();
     сСпрЗначСвОб.Владелец = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Импортер");
     сСпрЗначСвОб.Наименование = НовЗнач;
     сСпрЗначСвОб.Записать();
     Сообщить ("Значения добавлены");
 Иначе
   
     Сообщить ("Такое значение уже есть!");
      Возврат;

     КонецЕсли;
КонецПроцедуры
1 rbcvg
 
29.10.12
08:13
"сСпрЗначСвОб.Наименование = НовЗнач" - не взлетает поди...
2 Евгений90
 
29.10.12
08:14
(1) Не понял?
3 Defender aka LINN
 
29.10.12
08:19
(0) Тебе буквы для названий переменных со склада под роспись выдают, что ли?
И в чем проблема-то?
4 Oleg_Kag
 
29.10.12
08:20
1)сСпрЗначСвОб = СпрЗначСвОб.НайтиПоНаименованию(СокрЛП(НовЗнач));
2) Если НЕ сСпрЗначСвОб.ПустаяСсылка() Тогда
5 Евгений90
 
29.10.12
08:21
Не выполняется проверка при добавлении нового значении,  если такое значение уже есть, то вывести сообщение, если нет, то  записать
6 Defender aka LINN
 
29.10.12
08:22
Ставю рубль на то, что в отличие от аффтара, пользователям со склада буквы выдают на развес, и поэтому свойство называется как-нибудь типа "Имени Третьего Краснознаменного Племенного Завода Имени Двадцатого Съезда Всемирной Прокосмической Партии"
7 Defender aka LINN
 
29.10.12
08:22
(5) И почему?
8 Евгений90
 
29.10.12
08:22
(4) Ошибка {Форма.Форма.Форма(8)}: Метод объекта не обнаружен (ПустаяСсылка)
     Если НЕ сСпрЗначСвОб.ПустаяСсылка() Тогда
9 Defender aka LINN
 
29.10.12
08:24
(8) Логично.
10 Обработка
 
29.10.12
08:26
Пусть вводят вручную. У вас что каждый день куча новых товаров с импортероами?
11 Евгений90
 
29.10.12
08:26
Это так, для тренировки навыков
12 Евгений90
 
29.10.12
08:27
В исходном коде, какое значение ни добавляя, выводится сообщение, что такое значение уже есть
13 Defender aka LINN
 
29.10.12
08:30
(12) Ужос. Есть еще и некий "исходный" код?
14 Евгений90
 
29.10.12
08:32
Это тот код, который я в начале указал
15 QbeeQ
 
29.10.12
08:32
Если сСпрЗначСвОб = Справочники.ЗначенияСвойствОбъектов.ПустаяСсылка() Тогда
16 Евгений90
 
29.10.12
08:35
(15) Тоже самое. На любое значение выводится "Такое значение уже есть"
17 Defender aka LINN
 
29.10.12
08:36
(16) Слушай, ты отладчик не пробовал открыть, а?
18 QbeeQ
 
29.10.12
08:37
Это ещё неправильно
Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(НовЗнач);
19 QbeeQ
 
29.10.12
08:38
+(18) Точнее так правильно
20 Евгений90
 
29.10.12
08:41
(19) Бесполезно.. все тоже самое
21 QbeeQ
 
29.10.12
08:42
Значит ссылка действительно не пустая. Смотри отладчиком какое значение оно находит
22 Евгений90
 
29.10.12
08:44
(21) Как отладчиком смотреть.. я всего недели 4 с 1с знаком..
23 Defender aka LINN
 
29.10.12
08:49
(22) Еще не поздно выбрать себе другую профессию
24 cw014
 
29.10.12
08:59
ЭтаФорма.ЗначениеНоменклатуры - тип какой?
25 Евгений90
 
29.10.12
09:04
(24) Строка
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.