Имя: Пароль:
1C
1С v8
Владелец заполнен неверно
0 Targetai
 
12.10.12
13:20
Пытаюсь создать договор и :

Процедура НовыйДоговор(Клиент)
       НайденныйДоговорОбъект = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
       НайденныйДоговорОбъект.Наименование          = НСтр("ru='Основной договор';uk='Основний договір'",Локализация.КодЯзыкаИнформационнойБазы());
       НайденныйДоговорОбъект.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом;
       НайденныйДоговорОбъект.ВалютаВзаиморасчетов  = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяВалютаВзаиморасчетов");

       Если НЕ ЗначениеЗаполнено(НайденныйДоговорОбъект.ВалютаВзаиморасчетов) Тогда
           НайденныйДоговорОбъект.ВалютаВзаиморасчетов = Константы.ВалютаРегламентированногоУчета.Получить();
       КонецЕсли;

       Если НЕ ЗначениеЗаполнено(НайденныйДоговорОбъект.Организация) Тогда
           НайденныйДоговорОбъект.Организация  = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяОрганизация");
       КонецЕсли;
       /// ДОБАВИТЬ ПРОверку
       Если ПрихРасх= 2 Тогда    // Приход денег
       НайденныйДоговорОбъект.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем;
   Иначе  // Расход денег
       НайденныйДоговорОбъект.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком;
   КонецЕсли;
       НайденныйДоговорОбъект.СхемаНалоговогоУчета       = Справочники.СхемыНалоговогоУчетаПоДоговорамКонтрагентов.ПоПервомуСобытию;
       НайденныйДоговорОбъект.СхемаНалоговогоУчетаПоТаре = Справочники.СхемыНалоговогоУчетаПоДоговорамКонтрагентов.ПоПервомуСобытию;
       НайденныйДоговорОбъект.СложныйНалоговыйУчет       = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновноеЗначениеСложныйНалоговыйУчет");
       Если НайденныйДоговорОбъект.СложныйНалоговыйУчет  Тогда
           
           НайденныйДоговорОбъект.ВедениеВзаиморасчетовНУ = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом
           
       Иначе
           
           НайденныйДоговорОбъект.ВедениеВзаиморасчетовНУ = НайденныйДоговорОбъект.ВедениеВзаиморасчетов;
           
       КонецЕсли;
       НайденныйДоговорОбъект.Владелец =  Клиент;

       НайденныйДоговорОбъект.Записать();
       НайденныйДоговор = НайденныйДоговорОбъект.Ссылка;
       Спр = Клиент.Ссылка.ПолучитьОбъект();
       Спр.ОсновнойДоговорКонтрагента = НайденныйДоговор;
       Спр.Записать();
       


КонецПроцедуры


При попытке отработать код. выдает что "Значение поля "Владелец" не заполнено или заполнено неверно"
Помогите пожалуста, совсем не знаю что делать
1 ptiz
 
12.10.12
13:22
Заполнить владельца.
2 Живой Ископаемый
 
12.10.12
13:22
в в8 есть отладчик. Поставить точку останова на строку

НайденныйДоговорОбъект.Владелец =  Клиент;

Ислледовать выражения слева и справа от равно. Курить почему так вышло и кто виноват
3 Zmich
 
12.10.12
13:28
НайденныйДоговорОбъект.Владелец =  Клиент.Ссылка;
4 hhhh
 
12.10.12
13:28
(0) вы определитесь, что такое "клиент" у вас?

Если ссылка, то надо писать

       Спр = Клиент.ПолучитьОбъект();

Если объект, тогда

     Клиент.ОсновнойДоговорКонтрагента = НайденныйДоговор;
       Клиент.Записать();

и

 НайденныйДоговорОбъект.Владелец =  Клиент.Ссылка;
5 Живой Ископаемый
 
12.10.12
13:31
Следущей темой будет "Свойство объекта не обнаружено: ССылка" или как-то так.. :)
6 Targetai
 
12.10.12
13:42
Клиент определяется в предведущем коде. как контрагент, и с ним проблем нету, он выводиться
Процедура НовыйКонтрагент(ОКПОКлиента, Клиент)    
   спрСсылкаКонтрагенты = СпрКонтрагенты.НайтиПоРеквизиту("КодПоЕДРПОУ",ОКПОКлиента);
   Если спрСсылкаКонтрагенты.Пустая() Тогда
       спрСсылкаКонтрагенты = СпрКонтрагенты.СоздатьЭлемент();
       спрСсылкаКонтрагенты.Наименование = Клиент;
       спрСсылкаКонтрагенты.КодПоЕДРПОУ = ОКПОКлиента;
       спрСсылкаКонтрагенты.Записать();
       Сообщить("Добавлен новый контрагент " + спрСсылкаКонтрагенты.Наименование);
       НовыйДоговор(спрСсылкаКонтрагенты);

   КонецЕсли;
КонецПроцедуры
7 Живой Ископаемый
 
12.10.12
13:46
отлично, итого в процедуру из (0) передается объект а не ссылка. В (3)и (4) верный рецепт