Форум "1с"
"Наш" Си для бухгалтеров
Что то не ищет ТаблицаЗначений.НайтиЗначениеСпрТов=СоздатьОбъект("Справочник.Товары"); спрТов.ВыбратьЭлементы(); Т.вывестиСекцию("ШапкаНеВошедших"); пока спрТов.ПолучитьЭлемент()=1 цикл //если БылЛи(спрТов)=1 тогда продолжить; конецесли; СТ=спрТов.наименование; если ТЗ.НайтиЗначение(СТ,,)=0 тогда если спрТов.принадлежитгруппе(ВыбТов)=1 тогда если спрТов.ЭтоГруппа()=0 тогда Т.вывестиСекцию("НеВошедшие"); иначе Т.вывестиСекцию("ГрНВ"); конецесли; конецесли; конецесли; конеццикла; блин, тут же по-русски сказано, если нет в ТЗ тогда выводить А выводит 2 раза. Значит, не находит, хоть оно там есть. Сам же вывел перед этим.
|
|
#1 Vlad © 25.07.07 15:57:23
ТЗ.НайтиЗначение(СТ,,)=0 переписал как <CODE> Функция БылЛи(тов); Тз.ВыбратьСтроки(); пока тз.получитьстроку()=1 цикл если строка(тов)=строка(тз.наименование) тогда возврат 1; конецесли; конеццикла; возврат 0; КонецФункции</CODE> т.е. тупо по строчкам, с приведением к строке. все работает. по другому не хочет. Да в принципе, ладно, пойдет. Долго только несколько.. |
|
Судя по симптомам, ты в ТЗ добавляешь элементы справочника, а сравниваешь со строкой. Это другой тип СпрТов=СоздатьОбъект("Справочник.Товары");
|
|
#3 Vlad © 25.07.07 17:10:10
спасибо, работает. надо засечь, что быстрее будет так или в варианте с функцией, но предварительно использовав ИспользоватьРодителя() |
Написать ответ |
|
