![]() |
![]() |
![]() |
|
Владелец заполнен неверно | ☑ | ||
---|---|---|---|---|
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) верный рецепт
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |