|
v7: Создание элемента подчиненного справочника |
☑ |
0
servp2008
18.05.17
✎
09:17
|
Добрый день. Помогите с вопросом. Есть процедура, которая проверяет отсутствие договора у контрагента и создает его. Но при попытке создания нового элемента постоянно выскакивает ошибка - не верный владелец. Как исправить? За раннее спасибо всем ответившим.
процедура Сформировать()
Контрагенты=создатьОбъект("справочник.контрагенты");
Договор=создатьОбъект("справочник.Договоры");
ТипДоговора=СоздатьОбъект("Справочник.ВидыДоговоров");
контрагенты.ВыбратьЭлементы();
Таб=СоздатьОбъект("Таблица");
таб.вывестиСекцию("Секция_2");
Пока контрагенты.получитьЭлемент()=1 Цикл
Если контрагенты.текущийЭлемент().принадлежитГруппе(грКонтрагента)=1 Тогда
договор.ИспользоватьВладельца(контрагенты.ТекущийЭлемент());
договор.выбратьЭлементы();
Если договор.получитьЭлемент()=0 тогда
таб.вывестиСекцию("Секция_1");
договор.новый();
договор.Виддоговора = типдоговора.найтипоНаименованию(сокрлп("Совместный договор"));
договор.Статус=перечисление.статусДоговора.НеДействует;
договор.записать();
КонецЕсли;
конецЕсли;
КонецЦикла;
таб.толькопросмотр(1);
таб.показать();
конецПроцедуры
|
|
1
Ёпрст
гуру
18.05.17
✎
09:20
|
>>>Если контрагенты.текущийЭлемент().принадлежитГруппе(грКонтрагента)=1 Тогда
За такие конструкции нужно стальной линейкой по пальчикам
|
|
2
Ёпрст
гуру
18.05.17
✎
09:22
|
Ну и за попытку создания договора у группы - имеешь сабд.
|
|
3
Ёпрст
гуру
18.05.17
✎
09:22
|
сабж
|
|
4
Дмитрий
18.05.17
✎
09:23
|
(0) если есть вложенные группы, они тоже попадут в цикл, а группа не может быть владельцем.
ну и можно явно присвоить договор.валаделец = владелец
|
|
5
servp2008
18.05.17
✎
09:33
|
Спасибо. Благодаря вам уважаемые Ёпрст и Дмитрий проблему победил.
|
|