Имя: Пароль:
1C
1C 7.7
v7: Почему всегда СпрКонтрЕНВД.ПолучитьЭлемент() = 1?
0 Sun125
 
27.05.13
15:42
СпрКонтрЕНВД = СоздатьОбъект("Справочник.Контрагенты");
   СпрКонтрЕНВД.НайтиПоНаименованию("111");
   СпрКонтрЕНВД.ВыбратьЭлементы();
   Если СпрКонтрЕНВД.ПолучитьЭлемент() = 1 Тогда
       ТекКонтрЕНВД = СпрКонтрЕНВД.ТекущийЭлемент();
   Иначе
       Сообщить("Не найден контрагент");  
       Возврат;
   КонецЕсли;

Почему всегда СпрКонтрЕНВД.ПолучитьЭлемент() = 1?
Контрагента "111" нет в базе и должно выводится соответствующее сообщение.
1 Kreont
 
27.05.13
15:44
:)
СпрКонтрЕНВД.ВыбратьЭлементы();//Лишнее, еще раз сдесь сделал выборку всех
2 zak555
 
27.05.13
15:44
ты хочешь отобрать все наименование, где есть "111" ?
3 zak555
 
27.05.13
15:44
> Почему всегда СпрКонтрЕНВД.ПолучитьЭлемент() = 1?

удали все элементы из справочника и больше единицы не будет
4 ЧеловекДуши
 
27.05.13
15:46
(0)Запросом, лучше прямым :)
5 Ёпрст
 
27.05.13
15:46
(0)
   

СпрКонтрЕНВД = СоздатьОбъект("Справочник.Контрагенты");
   Если СпрКонтрЕНВД.НайтиПоНаименованию("111")=1 Тогда
       ТекКонтрЕНВД = СпрКонтрЕНВД.ТекущийЭлемент();
   Иначе
       Сообщить("Не найден контрагент");  
       Возврат;
   КонецЕсли;
6 Утконос
 
27.05.13
15:48
Если СпрКонтрЕНВД.НайтиПоНаименованию("111",0,1)=1 Тогда
7 bolder
 
27.05.13
15:50
(0) Твой код написан для поиска контрагента в группе с наименованием "111".Смекаешь разницу?
8 Sun125
 
27.05.13
15:56
(7) ага, заметил это. Спасибо!получилось)
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший