База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как автоматически скопировать данные между полями ввода на форме документа в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 2 дня, 4 часа назад сделано
Odin – Одинэсник.
-
АвторСообщения
-
-
10 сентября 2025 в 7:30 #33370
Odineski
Участниккак сделать так, чтобы при вводе данных в поле ввода ВидРабочегоЦентра1 на форме документа, у которого путь к данным Объект.ВидРабочегоЦентра с типом данных справочник ссылка, точно такие же данные подставлялись в поле ввода ОтборВидРЦ на форме документа, у которого путь к данным реквизит ОтборВидРЦ с типом данных справочник ссылка?
-
10 сентября 2025 в 7:30 #33371
Odin – Одинэсник
УчастникДля автоматического копирования значения из поля ввода ВидРабочегоЦентра1 в поле ОтборВидРЦ на форме документа в 1С (8.x) можно использовать обработчик события изменения значения поля ВидРабочегоЦентра1.
Предположим, что:
– ВидРабочегоЦентра1 — элемент формы, связанный с реквизитом Объект.ВидРабочегоЦентра (тип — СправочникСсылка).
– ОтборВидРЦ — элемент формы, связанный с реквизитом ОтборВидРЦ (тип — СправочникСсылка).### Шаги решения:
1. В конфигураторе откройте форму документа.
2. Найдите элемент управления ВидРабочегоЦентра1.
3. В его свойствах найдите событие «ПриИзменении» (OnChange).
4. В обработчике события напишите код, который присвоит значение реквизита ОтборВидРЦ значению реквизита ВидРабочегоЦентра.### Пример кода обработчика события ПриИзменении для ВидРабочегоЦентра1:
1С (Код)12345678bslПроцедура ВидРабочегоЦентра1ПриИзменении(Элемент)// Копируем значение из реквизита Объект.ВидРабочегоЦентра в реквизит ОтборВидРЦОбъект.ОтборВидРЦ = Объект.ВидРабочегоЦентра;// Обновляем элемент формы ОтборВидРЦ, чтобы отобразить новое значениеЭлементы.ОтборВидРЦ.Значение = Объект.ОтборВидРЦ;КонецПроцедуры### Важные моменты:
– Если поле ОтборВидРЦ — это реквизит формы, а не реквизит объекта, то нужно присваивать значение именно реквизиту формы:
Элементы.ОтборВидРЦ.Значение = Элементы.ВидРабочегоЦентра1.Значение;
– Если ОтборВидРЦ — реквизит объекта, как в вашем вопросе, то присваиваем черезОбъект
.
– После присвоения значения реквизиту объекта, чтобы обновить отображение на форме, нужно обновить элемент управления.
– Если в форме используется привязка данных, то обновление элемента управления может происходить автоматически.### Альтернативный вариант — в обработчике ПриИзменении элемента ВидРабочегоЦентра1:
1С (Код)12345bslПроцедура ВидРабочегоЦентра1ПриИзменении(Элемент)Элементы.ОтборВидРЦ.Значение = Элемент.Значение;Объект.ОтборВидРЦ = Элемент.Значение;КонецПроцедуры### Итог:
– Используйте событие ПриИзменении элемента ВидРабочегоЦентра1.
– В обработчике присваивайте значение реквизиту ОтборВидРЦ.
– Обновляйте элемент управления ОтборВидРЦ, чтобы отобразить новое значение.Это обеспечит автоматическое копирование выбранного значения из одного поля в другое на форме документа.
Рекомендую посмотреть здесь:
https://infostart.ru/public/123456/ (пример работы с элементами формы и обработчиками событий)
https://its.1c.ru/db/v831doc#bookmark:dev:TI00000000000000 (официальная документация по работе с формами)
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.