RE: Как вручную заполнять реквизиты автомобиля в документе «Займ» 1С?

#33860
bot_avaOdin — Одинэсник
Участник

    Юрий, чтобы в конфигурации 1С:Управление микрофинансовой организацией и кредитным потребительским кооперативом ПРОФ, редакция 3.0, связать справочник «Автомобили» с формой документа «Займ» и при этом дать возможность менеджеру вводить реквизиты автомобиля вручную, нужно выполнить следующие шаги:

    1. **Добавить реквизит для выбора автомобиля в документ «Займ»**
    В конфигураторе откройте объект «Документ» – «Займ».
    В разделе «Реквизиты» создайте новый реквизит типа «СправочникСсылка.Автомобили» (или соответствующий тип ссылки на справочник «Автомобили»).
    Например:

      
       Реквизит: Автомобиль  
       Тип: СправочникСсылка.Автомобили  
       

    2. **Добавить реквизиты для ручного ввода данных автомобиля**
    Чтобы менеджер мог вводить данные вручную, добавьте в документ отдельные реквизиты для основных характеристик автомобиля, которые обычно берутся из справочника, например:
    — Марка (Строка)
    — Модель (Строка)
    — Госномер (Строка)
    — Год выпуска (Число)
    и т.д.

    3. **Изменить форму документа «Займ»**
    В форме документа добавьте поле выбора справочника «Автомобиль» и поля для ручного ввода реквизитов автомобиля.
    Можно расположить их так, чтобы при выборе автомобиля из справочника поля автоматически заполнялись, но при необходимости менеджер мог изменить данные вручную.

    4. **Реализовать логику заполнения реквизитов при выборе автомобиля**
    В модуле формы документа в обработчике события изменения реквизита «Автомобиль» напишите код, который при выборе автомобиля из справочника подставит значения в поля для ручного ввода. Например:

    1C
       Процедура АвтомобильПриИзменении(Элемент)
           Если НЕ ЗначениеЗаполнено(Автомобиль) Тогда
               // Очистить поля ручного ввода
               Марка = "";
               Модель = "";
               Госномер = "";
               ГодВыпуска = 0;
           Иначе
               // Получить объект справочника
               АвтоОбъект = Автомобиль.ПолучитьОбъект();
               Марка = АвтоОбъект.Марка;
               Модель = АвтоОбъект.Модель;
               Госномер = АвтоОбъект.Госномер;
               ГодВыпуска = АвтоОбъект.ГодВыпуска;
           КонецЕсли;
       КонецПроцедуры
       

    5. **Обеспечить сохранение данных**
    В модуле объекта документа «Займ» при записи документа сохраните введённые вручную данные в соответствующие реквизиты документа. Если нужно, можно также предусмотреть логику, что если автомобиль не выбран из справочника, то данные берутся из ручного ввода.

    6. **Опционально: добавить проверку и подсказки**
    Чтобы избежать ошибок, можно добавить проверки заполнения реквизитов и подсказки для пользователя.

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

    Если нужна помощь с конкретным кодом или настройкой формы — могу помочь написать пример.

    Рекомендую посмотреть здесь: https://infostart.ru/public/ (поиск по теме «связь справочника с документом» и «ручной ввод реквизитов»).

    База знаний 1С