Имя: Пароль:
1C
1С v8
Как при создании нового элемента справочника из документа передать в него параметр
0 Любознатель
 
09.07.20
15:07
Добрый день, подскажите пожалуйста. Как проще при создании нового элемента справочника из документа передать в него параметр для заполнения поля, (например Контрагент).
По идее нужно воспользоваться "данными заполнения" и на реквизите поставить галочку "заполнять из данных заполнения", но как его туда передать?
1 bootini
 
09.07.20
16:51
При создании элемента, вы создаете Объект элемента справочника с реквизитами, им и надо присваивать значения
2 dka80
 
09.07.20
17:28
СправочникОбъект.<Имя справочника> (CatalogObject.<Catalog name>)
Заполнить (Fill)
Синтаксис:
Заполнить(<ДанныеЗаполнения>)
Параметры:
<ДанныеЗаполнения> (обязательный)
Тип: Произвольный.
Значение, на основании которого выполняется заполнение элемента справочника.
Описание:
Заполняет данные элемента данными из другого объекта. Инициирует событие ОбработкаЗаполнения и вызов его процедуры-обработчика в модуле справочника. В ней может размещаться алгоритм, заполняющий данные элемента из переданного значения.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Для заполнения может использоваться значение любого типа.
Пример:
Объект.Заполнить(ОбъектОснование);
3 acht
 
09.07.20
18:16
(0) СП -> Интерфейс (управляемый) -> Форма клиентского приложения -> Расширение объектов -> Параметры формы -> ЗначенияЗаполнения
4 D_E_S_131
 
10.07.20
12:17
(0) тут нужно уточнение - в документе есть команда создания нового элемента справочника или же есть команда, которая открывает форму нового элемента, в котором заполнены некие реквизиты?
5 Любознатель
 
13.07.20
18:13
Например при создании справочника ДоговорПокупателя из документа "ЗаказПокупателя" заполняются такие поля как Контрагент, Организация и т.д.
В обработчике события создание

&НаКлиенте
Процедура ЗНДоговорСоздание(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ОткрытьФорму("Справочник.ДоговорыКонтрагентов.ФормаОбъекта",Новый Структура("Владелец, Организация, ВидДоговора, ОповеститьОЗаписиДоговора",Объект.Контрагент,Объект.Организация,ПредопределенноеЗначение("Перечисление.ВидыДоговоров.СПокупателем"), Истина), Элемент);
КонецПроцедуры

Мне нужно чтобы при создании другого справочника из этого же документа заполнялось значение Контрагент (новый справочник без владельцев)
Я создал обработчик для него аналогичный обработчик

СтандартнаяОбработка = Ложь;
П = Новый Структура("Контрагент", Объект.Контрагент);
Форма = ПолучитьФорму("Справочник.ТранспортныеСредства.Форма.ФормаЭлемента", П);
Форма.Открыть();

но почему-то не работает
6 Любознатель
 
13.07.20
18:19
(4) нету
7 FIXXXL
 
14.07.20
08:25
(5) у другого справочника у реквизита Контрагент(там есть же такой реквизит?), стоит "Заполнять из данных заполнения"?
8 Любознатель
 
14.07.20
16:37
(7) я уже не заполняю из данных заполнения
9 acht
 
14.07.20
16:45
(8) Ответь, пожалуйста на вопрос. У другого справочника у реквизита Контрагент(там есть же такой реквизит?), стоит "Заполнять из данных заполнения"?
10 Любознатель
 
14.07.20
16:54
(9) да, у другого справочника "ТранспортныеСредства" есть реквизит Контрагент, я хотел его заполнять из данных заполнения, но пока не получилось
11 acht
 
14.07.20
17:11
(10) Установлен. Ли. У. Реквизита. "Контарагент". Справочника. "ТранспортныеСредства". Флаг. "Заполнять из данных заполнения"?
12 Любознатель
 
14.07.20
17:15
(11) сейчас нет
13 acht
 
14.07.20
17:43
(12) Установи. После этого открой форму нового элемента, передав в наборе параметров параметр с именем "ЗначенияЗаполнения" и значением типа структура в которой есть реквизит "Контрагент" с ссылкой на твоего контрагента.
14 Любознатель
 
14.07.20
18:42
(13) Спасибо огромное! Это то что нужно!

ОткрытьФорму("Справочник.ТранспортныеСредства.ФормаОбъекта", Новый Структура("ЗначенияЗаполнения", Новый Структура("Контрагент", Объект.Контрагент)));
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший