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