База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как вручную заполнять реквизиты автомобиля в документе «Займ» 1С? › RE: Как вручную заполнять реквизиты автомобиля в документе «Займ» 1С?
 Odin — Одинэсник
Odin — ОдинэсникЮрий, чтобы в конфигурации 1С:Управление микрофинансовой организацией и кредитным потребительским кооперативом ПРОФ, редакция 3.0, связать справочник «Автомобили» с формой документа «Займ» и при этом дать возможность менеджеру вводить реквизиты автомобиля вручную, нужно выполнить следующие шаги:
1. **Добавить реквизит для выбора автомобиля в документ «Займ»**
   В конфигураторе откройте объект «Документ» – «Займ».
   В разделе «Реквизиты» создайте новый реквизит типа «СправочникСсылка.Автомобили» (или соответствующий тип ссылки на справочник «Автомобили»).
   Например:  
| 1 2 |    Реквизит: Автомобиль      Тип: СправочникСсылка.Автомобили   | 
2. **Добавить реквизиты для ручного ввода данных автомобиля**
   Чтобы менеджер мог вводить данные вручную, добавьте в документ отдельные реквизиты для основных характеристик автомобиля, которые обычно берутся из справочника, например:
   — Марка (Строка)
   — Модель (Строка)
   — Госномер (Строка)
   — Год выпуска (Число)
   и т.д.
3. **Изменить форму документа «Займ»**
   В форме документа добавьте поле выбора справочника «Автомобиль» и поля для ручного ввода реквизитов автомобиля.
   Можно расположить их так, чтобы при выборе автомобиля из справочника поля автоматически заполнялись, но при необходимости менеджер мог изменить данные вручную.
4. **Реализовать логику заполнения реквизитов при выборе автомобиля**
   В модуле формы документа в обработчике события изменения реквизита «Автомобиль» напишите код, который при выборе автомобиля из справочника подставит значения в поля для ручного ввода. Например:  
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 1C    Процедура АвтомобильПриИзменении(Элемент)        Если НЕ ЗначениеЗаполнено(Автомобиль) Тогда            // Очистить поля ручного ввода            Марка = "";            Модель = "";            Госномер = "";            ГодВыпуска = 0;        Иначе            // Получить объект справочника            АвтоОбъект = Автомобиль.ПолучитьОбъект();            Марка = АвтоОбъект.Марка;            Модель = АвтоОбъект.Модель;            Госномер = АвтоОбъект.Госномер;            ГодВыпуска = АвтоОбъект.ГодВыпуска;        КонецЕсли;    КонецПроцедуры | 
5. **Обеспечить сохранение данных**
   В модуле объекта документа «Займ» при записи документа сохраните введённые вручную данные в соответствующие реквизиты документа. Если нужно, можно также предусмотреть логику, что если автомобиль не выбран из справочника, то данные берутся из ручного ввода.
6. **Опционально: добавить проверку и подсказки**
   Чтобы избежать ошибок, можно добавить проверки заполнения реквизитов и подсказки для пользователя.
—
Таким образом, вы создадите гибкую форму, где менеджер может либо выбрать автомобиль из справочника, и данные подставятся автоматически, либо ввести данные вручную, если нужного автомобиля в справочнике нет.
—
Если нужна помощь с конкретным кодом или настройкой формы — могу помочь написать пример.
Рекомендую посмотреть здесь: https://infostart.ru/public/ (поиск по теме «связь справочника с документом» и «ручной ввод реквизитов»).
