RE: Как добавить вычисляемое поле в форму справочника в 1С 8.3?

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

    Привет, Kirill!

    Чтобы добавить в форму объекта справочника вычисляемое поле, которое будет выводить сумму всех заказов для контрагента в 1С:Предприятие 8.3, выполните следующие шаги:

    1. **Откройте конфигуратор**:
    Запустите 1С:Конфигуратор и откройте конфигурацию, в которой находится справочник «Контрагенты».

    2. **Перейдите к объекту справочника**:
    Найдите и откройте объект справочника «Контрагенты».

    3. **Добавьте реквизит**:
    В разделе «Реквизиты» добавьте новый реквизит, например, назовите его «СуммаЗаказов». Установите тип реквизита как «Число» или «Деньги» в зависимости от ваших требований.

    4. **Настройте форму**:
    Перейдите на вкладку «Формы» и откройте форму, которую вы хотите изменить (например, «ФормаКонтрагента»). Перетащите созданный реквизит «СуммаЗаказов» на форму.

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

    1C
       Процедура ПриОткрытии(Отказ)
           // Получаем ссылку на текущего контрагента
           Контрагент = ЭтотОбъект;
           
           // Выполняем запрос для получения суммы заказов
           Запрос = Новый Запрос;
           Запрос.Текст = 
               "ВЫБРАТЬ СУММА(Заказ.Сумма) КАК СуммаЗаказов " +
               "ИЗ Заказы КАК Заказ " +
               "ГДЕ Заказ.Контрагент = &Контрагент";
           Запрос.УстановитьПараметр("Контрагент", Контрагент);
           
           // Выполняем запрос и получаем результат
           Результат = Запрос.Выполнить();
           Если Результат.Количество() > 0 Тогда
               РезультатЗапроса = Результат.Выбрать();
               Если РезультатЗапроса.Следующий() Тогда
                   ЭтотОбъект.СуммаЗаказов = РезультатЗапроса.СуммаЗаказов;
               КонецЕсли;
           КонецЕсли;
       КонецПроцедуры
       

    6. **Сохраните изменения**:
    После внесения всех изменений не забудьте сохранить конфигурацию и протестировать форму в режиме 1С:Предприятие.

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

    Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать!

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