PDA

Просмотр полной версии : Помогите раобраться с РеализацияТоварУслуг.Конт? ?агент



cyberozz
10.03.2016, 09:36
Делаю автоматизированную загрузку накладных от поставщика. Застрял на том, что при создании документа реализации не могу присвоить поле Клиент. У себя на форме размещаю реквизит "Клиент" с типом "СправочникСсылка.Контраге� �ты".
Затем в функции создаю новый документ
НовыйДокумент = Документ.РеализацияТоварУ� �луг.СоздатьДокумент();
НовыйДокумент.Контрагент = Клиент;

А в созданном документе поле Клиент пустое.
Пробовал заполнить так: НовыйДокумент.Контрагент = Справочник.Контрагенты.Най тиПоРеквизиту("НаименованиеПолное", Клиент.НаименованиеПолное) ;
Тоже ноль.

Вывод в логи:
Сообщить("Клиент: " + Клиент.НаименованиеПолное) ;

Показывает, что значение не пустое, а реально то, что было выбрано из списка.

alexandr_ll
10.03.2016, 10:27
Делаю автоматизированную загрузку накладных от поставщика. Застрял на том, что при создании документа реализации не могу присвоить поле Клиент. У себя на форме размещаю реквизит "Клиент" с типом "СправочникСсылка.Контраге� �ты".
Затем в функции создаю новый документ
НовыйДокумент = Документ.РеализацияТоварУ� �луг.СоздатьДокумент();
НовыйДокумент.Контрагент = Клиент;

А в созданном документе поле Клиент пустое.
Пробовал заполнить так: НовыйДокумент.Контрагент = Справочник.Контрагенты.Най тиПоРеквизиту("НаименованиеПолное", Клиент.НаименованиеПолное) ;
Тоже ноль.

Вывод в логи:
Сообщить("Клиент: " + Клиент.НаименованиеПолное) ;

Показывает, что значение не пустое, а реально то, что было выбрано из списка.
Так вы хотите увидеть заполненным поле Контрагент или Клиент?
Для поиска по строковому реквизиту следует Использовать
НовыйДокумент.Контрагент = Справочник.Контрагенты.Най тиПоРеквизиту("НаименованиеПолное", СокрЛП(Клиент.Наименование Полное)) ;

cyberozz
10.03.2016, 10:40
Так вы хотите увидеть заполненным поле Контрагент или Клиент?
Для поиска по строковому реквизиту следует Использовать
НовыйДокумент.Контрагент = Справочник.Контрагенты.Най тиПоРеквизиту("НаименованиеПолное", СокрЛП(Клиент.Наименование Полное)) ;

Программно у объекта НовыйДокумент есть только свойство Контрагент, но при открытии документа в самой 1С возле поля стоит подпись "Клиент". Как его правильно заполнить?
СокрЛП, насколько я понимаю, просто удаляет слева и справа пустые символы.

Такие свойства как Склад, Организация, Соглашение - все заполняется из соответствующих реквизитов. А вот именно Контрагент не хочет :(
И проблема в том, что при выборе контрагента руками, слетают все цены и приходится перезаполнять вручную.

mkovali
13.03.2016, 23:50
Если конфигурация типовая, то реквизит документа будет "Контрагент" вне зависимости от подписи на форме.
Поиск лучше делать не по наименованию, а по ИНН, еще лучше - по совокупности ИНН-КПП запросом.