Имя: Пароль:
1C
1С v8
Не получается програмно заполнить доп. сведения для документа
0 wallkman2011
 
15.02.22
11:01
всем привет. Используем типовую БП, создали доп. сведения для документа "Реализация товаров услуг", Исполнитель, тип значения : Дополнительное значение.
и вручную в документах это проставляем.
Решили ускорить процесс, чтобы каждый раз не открывать эту формочку "Доп. сведения" через квадратную кнопку.
Возможно, можно просто вынести на форму реквизит, но я не знаю как.
Поэтому, создал "Расширение конфигурации", и в него добавил: документ РеализацияТоваровУслуг, форму данного документа, Справочник "ЗначенияСвойствОбъектов", рс: ДополнительныеСведения и все измерения и ресурс, ПВХ ДополнительынеРеквизитыИСведения.
Далее на форму документа Реализация добавил реквизит (тип СправочникСсылка.ЗначенияСвойствОбъектов), преварительно этот реквизит создал в расширении для документа.
и теперь в модуле формы в процедуре:
Расш1_ПослеЗаписиНаСервереПосле(ТекущийОбъект, ПараметрыЗаписи)
я заполняю програмно регистр сведений

ДС = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Исполнитель (Реализация (акты, накладные))", Ложь);
    МедежерЗаписи = РегистрыСведений.ДополнительныеСведения.СоздатьМенеджерЗаписи();
    МедежерЗаписи.Объект = ТекущийОбъект;
    МедежерЗаписи.Свойство = ДС;
    МедежерЗаписи.Значение = Объект.Расш1_Исполнитель;
    МедежерЗаписи.Записать(Истина);

Но выкидывает ошибку: Для РС поле Объект не может быть пустым.
почему то оно не заполняется, хотя в отладчике "ТекущийОбъект" - это ссылка на документ, а МенеджерЗаписи.Объект - Неопределено.
может я забыл что то еще добавить в расширение?
спасибо.
1 lubitelxml
 
15.02.22
11:02
МедежерЗаписи.Объект = ТекущийОбъект.Ссылка;
2 Aleksandr N
 
15.02.22
11:08
(0) ТекущийОбъект = это не ссылка.
3 wallkman2011
 
15.02.22
11:13
(1,2) Спасибо большое )))) все получилось
4 wallkman2011
 
15.02.22
11:19
А вы не подскажите, можно ли сделать чтобы при выборе на форме документа "Реализация товаров услуг", когда открывается форма списка для выбора исполнителя, там все значения свойств, помимо наших трех исполнителей есть и другие этого в списке есть еще и другие значения с другими свойствами, а как на них наложить отбор, чтобы только исполнители показывались?
вот так это выглядит:
https://ibb.co/By93N4C
я думаю нужно что то делать в форме списка "при открытии" для справочника "ЗначенияСвойствОбъектов"
5 Dmitrii
 
гуру
15.02.22
11:20
(0) >> тот реквизит создал в расширении для документа.

Зачем?
Если ты всё равно хранишь значение не в самом документе, а в РС.ДополнительныеСведения?
Достаточно было реквизит формы.
При открытии формы (ПриСозданииНаСервере и ПриЧтенииНаСервере) заполнять его из регистра.
А в после записи сохранять значение этого реквизита в регистр.

Реквизит документа тут не нужен совершенно.
6 Dmitrii
 
гуру
15.02.22
11:24
(4) Установить отбор по владельцу. В качестве владельца указать твой элемент ПВХ.ДополнительныеРеквизитыИСведения.
7 wallkman2011
 
15.02.22
11:27
(Dmitrii) установить отбор по владельцу тут понятно, а где это делать? получается в форме списка
8 Dmitrii
 
гуру
15.02.22
11:28
(0) >> ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию.


Лютый гавнокод. Наименование любой пользователь может поменять в любой момент.
Чтобы не искать по наименованию, в ПВХ.ДополнительныеРеквизитыИСведения специально добавили реквизит Имя. Там даже на форме элемента ПВХ специальная группа "Для разработчиков".
9 Dmitrii
 
гуру
15.02.22
11:36
(7) Расширение поля формы для поля ввода (Form field extension for a text box).
СвязиПараметровВыбора (ChoiceParameterLinks).
Использование: Чтение и запись.
Тип: ФиксированныйМассив.
Параметры выбора.
Фиксированный массив из элементов типа СвязьПараметраВыбора.
Пример.

НоваяСвязь = Новый СвязьПараметраВыбора("Отбор.Владелец", "Объект.Контрагент");
НовыйМассив = Новый Массив();
НовыйМассив.Добавить(НоваяСвязь);
НовыеСвязи = Новый ФиксированныйМассив(НовыйМассив);
Элементы.Реквизит1.СвязиПараметровВыбора = НовыеСвязи;

Доступность: Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Примечание: Свойство доступно для записи только на сервере.
10 wallkman2011
 
15.02.22
11:54
(9)спасибо буду разбираться