Главная Новые темы Список тем Задать вопрос Поиск  

Форум "1с"


"Наш" Си для бухгалтеров


 #0 Vlad © 25.07.07 15:00:11 - 25.07.07 17:10:10

Что то не ищет ТаблицаЗначений.НайтиЗначение



       СпрТов=СоздатьОбъект("Справочник.Т­овары");
        спрТов.ВыбратьЭлементы();
        Т.вывестиСекцию("ШапкаНеВошедших&q­uot;);
        пока спрТов.ПолучитьЭлемент()=1 цикл
            //если БылЛи(спрТов)=1 тогда продолжить; конецесли;
            СТ=спрТов.наименование;
            если ТЗ.НайтиЗначение(СТ,,)=0
            тогда
                
                если спрТов.принадлежитгруппе(ВыбТов)=1
                тогда
                    если спрТов.ЭтоГруппа()=0
                    тогда Т.вывестиСекцию("НеВошедшие")­;
                    иначе Т.вывестиСекцию("ГрНВ");
                    конецесли;
                конецесли;
                
            конецесли;    
        конеццикла;


----- вывод Т.З. --------------------
...........
Ножницы прямые простые  6    2460JAG    0    17
ЯГУАР У            
Ножницы прямые  Cj II 5,5    9955    0    1
Итого    
--дальше вывод по коду выше--------------------------------        
Товар, в выбранной группе товаров, не вошедший в список выше            
14 АКЦИЯ            
Jaguar            
ЯГУАР У    
Ножницы прямые  Cj II 5,5    9955        
......................................


блин, тут же по-русски сказано, если нет в ТЗ тогда выводить
А выводит 2 раза. Значит, не находит, хоть оно там есть. Сам же вывел перед этим.
Цитата

 #1 Vlad © 25.07.07 15:57:23

ТЗ.НайтиЗначение(СТ,,)=0

переписал как

<CODE>
  Функция БылЛи(тов);
  Тз.ВыбратьСтроки();
  пока тз.получитьстроку()=1 цикл
     если строка(тов)=строка(тз.наименование)
     тогда
         возврат 1;
     конецесли;
  конеццикла;
  возврат 0;
КонецФункции</CODE>
т.е. тупо по строчкам, с приведением к строке.
все работает.
по другому не хочет. Да в принципе, ладно, пойдет. Долго только несколько..
 #2 Kortez © 25.07.07 16:35:03

Судя по симптомам, ты в ТЗ добавляешь элементы справочника, а сравниваешь со строкой. Это другой тип

      СпрТов=СоздатьОбъект("Справочник.Т­­овары");
        спрТов.ВыбратьЭлементы();
        Т.вывестиСекцию("ШапкаНеВошедших&a­mp;q­uot;);
        пока спрТов.ПолучитьЭлемент()=1 цикл
            //если БылЛи(спрТов)=1 тогда продолжить; конецесли;
            если ТЗ.НайтиЗначение(спрТов.ТекущийЭлемент(­),,)=0    // измененная строка
            тогда
                
                если спрТов.принадлежитгруппе(ВыбТов)=1
                тогда
                    если спрТов.ЭтоГруппа()=0
                    тогда Т.вывестиСекцию("НеВошедшие")­­;
                    иначе Т.вывестиСекцию("ГрНВ");
                    конецесли;
                конецесли;
                
            конецесли;    
        конеццикла;
 #3 Vlad © 25.07.07 17:10:10

спасибо, работает.

надо засечь, что быстрее будет
так или в варианте с функцией, но предварительно использовав ИспользоватьРодителя()




  • Написать ответ

    Имя: Регистрация HTML?
    smiles смайлики
    Потом перейти в:    
    паутина



      ©  webest.net, 2002-2007  

    top.mail.ru
    » Бесплатный счетчик посещений
    » Рейтинг сайтов