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

03.05.23

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

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

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

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

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

 

 

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

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

 

 

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

 

 

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

 

 

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

 

 

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

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

См. также

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

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

2400 руб.

29.06.2020    18138    25    6    

39

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

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

20.08.2024    11690    mrXoxot    43    

111

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

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

27.05.2024    6033    smielka    37    

97

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

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

01.03.2024    4818    dimanich70    8    

18

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

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

27.12.2023    13373    809    elcoan    47    

113

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

10.04.2023    11135    160    acces969    31    

121

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    4995    kalyaka    6    

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

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

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

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

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