Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

КА 1.1 программно выбрать поле Контрагент

КА 1.1 программно выбрать поле Контрагент
Я
   dmtrpv
 
22.08.18 - 10:15
КА 1.1
Документ ПоступлениеТоваровУслуг

На форме документа есть в том числе поля Контрагент и Договор Контрагента.

Пытаюсь программно создать этот документ, заполнив эти поля, выбрав их из соответствующих справочников.

Код:
ЭтотОбъект.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию("Основной", Истина, ,Справочники.Контрагенты.НайтиПоНаименованию("бла бла"));

работает и поле ДоговорКонтрагента заполняется корректно.

а вот код ЭтотОбъект.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("бла бла");
не работает и поле контрагент НЕ заполняется, хотя по отладчику видно, что контрагент найден.
 
 
   Михаил Козлов
 
1 - 22.08.18 - 10:21
ЭтотОбъект при программном создании ПТиУ что из себя представляет?
   dmtrpv
 
2 - 22.08.18 - 10:22
(1) ЭтотОбъект это документ ПоступлениеТоваровУслуг
   shadow_sw
 
3 - 22.08.18 - 10:34
покажи как ты создаешь документ
   Михаил Козлов
 
4 - 22.08.18 - 10:35
(2) Неудачное имя переменной.
Если в отладчике перед записью созданного документа Контрагент заполнен, может быть у него не взведен флаг Поставщик, хотя вряд ли из-за этого.
   dmtrpv
 
5 - 22.08.18 - 10:42
(4) Какой переменной?
ЭтотОбъект.Контрагент
ЭтотОбъект это док ПоступлениеТоваровУслуг
Контрагент это реквизит этого документа.
   hhhh
 
6 - 22.08.18 - 10:47
(5) программно где создаете документ? Если Обработка, то ЭтотОбъект - это как раз ваша обработка.
   Михаил Козлов
 
7 - 22.08.18 - 10:47
(5) Вы создаете новый документ или используете существующий?
   dmtrpv
 
8 - 22.08.18 - 10:53
(7) Корректнее будет все таки уже существующий, но пустой.
   shadow_sw
 
9 - 22.08.18 - 10:57
НовДок  = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
НовДок.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("бла бла");

вот так правильнее...с вас 500 руб в копилку мисты
   dmtrpv
 
10 - 22.08.18 - 11:03
(9) Я ж не совсем тупой.
НовДок.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("бла бла");

это тож не работает.
поле Контрагент остается пустым, хотя по отладчику видно, что Контрагент найден.
 
 Рекламное место пустует
   Михаил Козлов
 
11 - 22.08.18 - 11:06
(10) "...хотя по отладчику видно, что Контрагент найден." - что смотрите в отладчике: НовДок.Контрагент или Справочники.Контрагенты.НайтиПоНаименованию("бла бла")?
   dmtrpv
 
12 - 22.08.18 - 11:07
(11) НовДок.Контрагент

Проблема в том, что визуально в доке поле Контрагент остается пустым. Ну то есть не происходит выбор и заполнение этого поля.
   shadow_sw
 
13 - 22.08.18 - 11:19
(12) т.е. реквизит заполнен, а поле нет?
   Михаил Козлов
 
14 - 22.08.18 - 11:21
(13)+ Реквизит Контрагент какого документа-объекта заполнен? Для которого открыта форма или другого?
   dmtrpv
 
15 - 22.08.18 - 11:43
(13) да

в доке на форме есть поля Контрагент и ДоговорКонтрагента. Это ссылки на справочники соответствующие.

ЭтотОбъект.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("бла бла"); - этот код заполняет поле ДоговорКонтрагента, в поле появляется, например, договор "Основной"

а вот этот код
ЭтотОбъект.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("бла бла"); - этот код НЕ заполняет поле Контрагент, то есть в поле красное подчеркивание остается, как и было.
   dmtrpv
 
16 - 22.08.18 - 11:44
(15) поправлю, ошибся в 15

ЭтотОбъект.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию("Основной", Истина, ,Справочники.Контрагенты.НайтиПоНаименованию("бла бла")); - этот код заполняет поле ДоговорКонтрагента, в поле появляется, например, договор "Основной"
   shadow_sw
 
17 - 22.08.18 - 12:29
(16) ну понятно, там в обратном порядке - заполняешь контрагента, выполняется процедура "ПриИзменении", подставляется договор, а тут ты в обратном порядке делаешь, соотв. контрагент и не заполняется
   dmtrpv
 
18 - 23.08.18 - 08:30
(17) Да нет.

Сначала заполняю Контрагента, договор потом.
   hhhh
 
19 - 23.08.18 - 08:33
(18) давай процедуру полнстью, где и чего заполняешь. Ты постоянно нас путаешь
   dmtrpv
 
20 - 23.08.18 - 11:25
вот выложил 

https://pastebin.com/43diN9rF
   hhhh
 
21 - 23.08.18 - 12:11
(20) ну значит заполняется, а потом очищается дальше. чудес не бывает


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует