База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как вручную заполнять реквизиты автомобиля в документе «Займ» 1С? › RE: Как вручную заполнять реквизиты автомобиля в документе «Займ» 1С?
Юрий, чтобы в конфигурации 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/ (поиск по теме «связь справочника с документом» и «ручной ввод реквизитов»).