|
Создать новый элемент справочника | ☑ | ||
---|---|---|---|---|
0
Samir
28.11.11
✎
15:28
|
Чет не соображу что он из под меня хочет, что упустил?
Род=Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию("Счета 20"+Прав(Год(Ф.DAT),2)+" г."); НовДог = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент(); НовДог.Организация = Приход.Организация; НовДог.ВалютаВзаиморасчетов = Приход.ВалютаДокумента; НовДог.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком; НовДог.Владелец = Контр.Ссылка; НовДог.Родитель = Род; НовДог.Наименование = СокрЛП(СокрЛП(ф.NAKL)); НовДог.Записать(); Дог=НовДог.Ссылка; Ругается на то что: значение поля "Владелец" не заполнено... Дык вроде указал. |
|||
1
Buster007
28.11.11
✎
15:29
|
Контр.Ссылка = пустая ссылка?
|
|||
2
Samir
28.11.11
✎
15:30
|
(0) Без строчки:
НовДог.Родитель = Род; Все работает, но создать надо именно в папочке Счета 2011 г. |
|||
3
Defender aka LINN
28.11.11
✎
15:31
|
(2) А группа ТОЧНО тому же владельцу принадлежит?
|
|||
4
Samir
28.11.11
✎
15:52
|
О ёма ё, ну подскажите как создать если её нет.
|
|||
5
Buster007
28.11.11
✎
16:01
|
СоздатьГруппу()?
|
|||
6
Samir
28.11.11
✎
16:09
|
Все равно ругается может больше чуток кода выложить. Происходит загрузка из DBF
Приход=Документы.ПоступлениеТоваровУслуг.СоздатьДокумент(); ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(Приход, глЗначениеПеременной("глТекущийПользователь"), Константы.ВалютаРегламентированногоУчета.Получить(), "Покупка"); Приход.СуммаВключаетНДС = Ложь; Приход.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия; Приход.УчитыватьНДС = Истина; Приход.НДСВключенВСтоимость = Истина; Приход.СуммаВключаетНДС = Истина; Приход.Дата=Ф.DAT; Приход.Склад = Справочники.Склады.НайтиПоКоду("000000001"); Контр=Справочники.Контрагенты.НайтиПоНаименованию(СокрЛП(ф.PROIZ)); Если Контр = Справочники.Контрагенты.ПустаяСсылка() Тогда Сообщить("Создаю Контрагента - "+СокрЛП(ф.PROIZ)); НовКонтр = Справочники.Контрагенты.СоздатьЭлемент(); НовКонтр.Наименование = СокрЛП(ф.PROIZ); НовКонтр.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо; НовКонтр.Записать(); Контр=НовКонтр.Ссылка; КонецЕсли; Приход.Контрагент=Контр; Дог=Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(СокрЛП(ф.NAKL)); Если Дог = Справочники.ДоговорыКонтрагентов.ПустаяСсылка() Тогда Род=Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию("Счета 20"+Прав(Год(Ф.DAT),2)+" г."); Если Род=Справочники.ДоговорыКонтрагентов.ПустаяСсылка() Тогда Род=Справочники.ДоговорыКонтрагентов.СоздатьГруппу(); Род.ВидДоговора=Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком; Род.Владелец = Контр.Ссылка; Род.Записать(); КонецЕсли; НовДог = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент(); НовДог.Организация = Приход.Организация; НовДог.ВалютаВзаиморасчетов = Приход.ВалютаДокумента; НовДог.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком; НовДог.Владелец = Контр.Ссылка; НовДог.Родитель = Род; НовДог.Наименование = СокрЛП(СокрЛП(ф.NAKL)); НовДог.Записать(); Дог=НовДог.Ссылка; КонецЕсли; Приход.ДоговорКонтрагента=Дог; Входящий = Ф.VHOD; КонецЕсли; |
|||
7
catena
28.11.11
✎
16:18
|
Если Род=Справочники.ДоговорыКонтрагентов.ПустаяСсылка() Тогда
А где проверка на Владельца? |
|||
8
Buster007
28.11.11
✎
16:19
|
Дог=Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(СокрЛП(ф.NAKL));
это неправильно, надо наложить отбор на владельца. (сп в помощь) и тут Род=Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию("Счета 20"+Прав(Год(Ф.DAT),2)+" г."); и если НовДог.Родитель = Род; а если Род будет создан, то в Род будет СправочникОбъект, а не СправочникСсылка и будет ругаться. |
|||
9
DrShad
28.11.11
✎
16:21
|
вобще весь код в топку
|
|||
10
Reset
28.11.11
✎
16:51
|
Диагноз в (3).
Находит по наименованию чужую папку. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |