Создание нового элемента из поля формы с заполнением реквизитов

03.05.23

Разработка - Работа с интерфейсом

В документе есть поле с ссылкой на справочник. Нужно, чтобы если из этого поля, по кнопке создать, добавляют новый элемент в справочник, у этого элемента был заполнен один из реквизитов.

Собственно, есть следующая задача.

В документе есть поле с ссылкой на справочник.

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

 

 

Потребовалось три действия

1. Перехватываем событие поля Создание. Устанавливаем Стандартную обработку в Ложь, в ПараметрыФормы передаем структуру с ключом ЗначенияЗаполнения. В структуру передаем значение нашего реквизита, который надо установить (у меня это ВладелецТС) и РежимВыбора, чтобы установить режим выбора в форме. Обязательно указываем Владельцем открываемой формы сам Элемент. 

 

 

2. В модуле объекта в процедуре ОбработкаЗаполнения проверяем ЗначенияЗаполнения и заполняем реквизит

 

 

3. В форме элемента ПриСозданииНаСервере проверяем, есть ли в структуре ЗначенияЗаполнения свойство РежимВыбора, и устанавливаем его в Истина.

 

 

Реквизит заполняется и при нажатии Записать и закрыть подставляется в поле, из которого создавали.

 

 

Тестировалось на Платформе 8.3.21.1622, управляемые формы.

Вступайте в нашу телеграмм-группу Инфостарт

Событие Создание Заполнение

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С v8.3 8.3.14 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Библиотека стандартных подсистем 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

28800 руб.

27.03.2025    46591    26    22    

39

Работа с интерфейсом Программист 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами (виджетами) в 1С.

5160 руб.

29.06.2020    22347    32    6    

50

Работа с интерфейсом Программист 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

Редактор графов в 1С - внешний отчет, который формирует графы на основе таблицы значений, используя рисунки табличного документа. Есть возможность добавления, редактирования объектов графа и выгрузки результата в таблицу значений.

5040 руб.

06.10.2020    12383    8    8    

14

Логистика, склад и ТМЦ Пользователь 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Обработка позволяет создать новые дополнительные сведения для определенных видов номенклатуры с набором значений. Вторым шагом - заполнять эти значения в номенклатуре. Кроме этого, для значений свойств еще и наименования на английском языке заполняет.

1 стартмани

10.04.2025    962    3    dimanich70    2    

4

Работа с интерфейсом Программист Стажер 1С v8.3 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    40932    mrXoxot    44    

136

Работа с интерфейсом Программист 1С v8.3 Бесплатно (free)

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

27.05.2024    24058    smielka    38    

111

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Программист 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    17462    dimanich70    11    

26

Работа с интерфейсом 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    22101    1310    elcoan    53    

128
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ixijixi 2060 03.05.23 16:25 Сейчас в теме
По-моему п.3. избыточен для решения задачи
3. dimanich70 922 03.05.23 17:40 Сейчас в теме
(1)Пробовал убрать, но тогда созданный элемент не попадает в поле из которого создается.
ProstoProgrammist; +1 Ответить
2. reset2 17 03.05.23 17:23 Сейчас в теме
Чтобы не мудрить в вызываемой форме, можно переназначить ПараметрыВыбора у элемента формы перед созданием.
А чтобы не писать код в ОбработкеЗаполнения - поставить для реквизитов справочника (ВладелецТС) признак "Заполнять из данных заполнения"
Пример кода для формы документа.

&НаКлиенте
Процедура СсылкаНаСправочникСоздание(Элемент, СтандартнаяОбработка)
	
	// установить параметр выбора, который улетит в создаваемый элемент
	НовыйМассив = Новый Массив();
	НовыйМассив.Добавить(Новый ПараметрВыбора("Отбор.Реквизит1", "Значение для заполнения Реквизита 1"));
	НовыйМассив.Добавить(Новый ПараметрВыбора("Отбор.Реквизит2", "Значение для заполнения Реквизита 2"));

	Элемент.ПараметрыВыбора = Новый ФиксированныйМассив(НовыйМассив);
 
КонецПроцедуры

&НаКлиенте
Процедура СсылкаНаСправочникНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)	
	// очистим параметры, чтобы все элементы попали
	Элемент.ПараметрыВыбора = Новый ФиксированныйМассив(Новый Массив);	
КонецПроцедуры

&НаКлиенте
Процедура СсылкаНаСправочникНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)	
	// очистим параметры, чтобы все элементы попали	
	Элемент.ПараметрыВыбора = Новый ФиксированныйМассив(Новый Массив);	
КонецПроцедуры
Показать
DoctorRoot; Legin; magiicking; keller; BigB; user1503887; JohnyDeath; +7 Ответить
4. dimanich70 922 03.05.23 17:44 Сейчас в теме
(2)Вот оно как. Тоже хотел использовать признак "Заполнять из данных заполнения". Но, честно говоря не понял как сделать. Спасибо.
А две последние процедуры зачем? Вроде как туда не должны попасть.
5. reset2 17 03.05.23 17:57 Сейчас в теме
(4) Это чтобы когда открываешь форму выбора список не фильтровался по значениям указанным в параметрах выбора при создании.
Хотя если отбор нужен и для выбора из имеющихся, то можешь не писать этот код.
6. ProstoProgrammist 6 11.09.23 17:59 Сейчас в теме
Спасибо тебе милый человек, про режим выбора я и не догадался, сделал тоже самое, только в обработку заполнения справочника не вмешивался, просто получаю форму и ее заполняю как мне надо, а потом открываю. Только вот про режим выбора не знал, не возвращался у меня только что созданный элемент справочника обратно в мою форму. А теперь по красоте!
7. user689379_di_ang 09.04.25 06:44 Сейчас в теме
Мне кажется, что будет проще сделать всё в одной процедуре:
&НаКлиенте
Процедура Договор1Создание(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	ТекФорма = ПолучитьФорму("Справочник.Договоры.Форма.ФормаЭлемента1",,Элемент);
	ТекФорма.Объект.ДатаОкончания = Дата("20250101");
	ТекФорма.РежимВыбора = Истина;
	ТекФорма.Открыть();
КонецПроцедуры
Показать
Для отправки сообщения требуется регистрация/авторизация