|
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
|
Тю блин :), сбило " а если выбираю группу ". Не понял что где выбирается :).
|
|