Имя: Пароль:
1C
1C 7.7
v7: Помогите разобраться с кодом
0 Milli
 
18.10.11
13:27
При выборе на форме элемента, контрагент в СЗ находится (СЗКонтр.НайтиЗначение(Док.Контрагент)=1), а если выбираю группу, то не находится. Что не так я делаю?

СЗКонтр = СоздатьОбъект("СписокЗначений");
Если ПустоеЗначение(ВыбКонтрагент)=0 Тогда    
  Контр = СоздатьОбъект("Справочник.Контрагенты");
  Если ВыбКонтрагент.ЭтоГруппа()=1 Тогда
     Контр.ИспользоватьРодителя(ВыбКонтрагент);
     Контр.ВыбратьЭлементы();
     Пока Контр.ПолучитьЭлемент()=1 Цикл
        Если Контр.ЭтоГруппа()=0 Тогда
           СЗКонтр.ДобавитьЗначение(Контр);
        КонецЕсли;
     КонецЦикла;
  Иначе
     СЗКонтр.ДобавитьЗначение(ВыбКонтрагент);
  КонецЕсли;
КонецЕсли;

Док = СоздатьОбъект("Документ");
СвойстваКонтр = СоздатьОбъект("Справочник.СвойстваКонтрагентов");
Если ПустоеЗначение(ВыбЗначСвойств)=0 Тогда
  СвойстваКонтр.ВыбратьЭлементыПоРеквизиту("ЗначениеСвойства",
     ВыбЗначСвойств,0,0);
  Пока СвойстваКонтр.ПолучитьЭлемент() = 1 Цикл
     Док.ВыбратьПоЗначению(ВыбНачПериода,ВыбКонПериода,
        "Контрагент",СвойстваКонтр.Владелец);
     Пока Док.ПолучитьДокумент()=1 Цикл
        Если СЗКонтр.НайтиЗначение(Док.Контрагент)=1 Тогда
           …  
        КонецЕсли;
     КонецЦикла;
  КонецЦикла;
КонецЕсли;
1 viktor_vv
 
18.10.11
13:30
Так у тебя же в СЗКонтр нету групп.
2 viktor_vv
 
18.10.11
13:30
Если Контр.ЭтоГруппа()=0 Тогда
3 Milli
 
18.10.11
13:32
Так там и не должны быть группы, в СЗ я добавляю только элементы, а потом делаю поиск этого элемента.
4 Milli
 
18.10.11
13:34
(3) элементы из выбранной на форме группы
5 Godofsin
 
18.10.11
13:36
(3) Если Док.Контрагент у тебя группа, в СЗ он найден не будет.
В (1) правильно тебе написали
6 palpetrovich
 
18.10.11
13:38
СЗКонтр.ДобавитьЗначение(Контр.ТекущийЭлемент());
7 Milli
 
18.10.11
13:42
(6) нашелся :) спасибо!
8 viktor_vv
 
18.10.11
13:45
Тю блин :), сбило " а если выбираю группу ". Не понял что где выбирается :).