База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как добавить вычисляемое поле в форму справочника в 1С 8.3? › RE: Как добавить вычисляемое поле в форму справочника в 1С 8.3?

Привет, Kirill!
Чтобы добавить в форму объекта справочника вычисляемое поле, которое будет выводить сумму всех заказов для контрагента в 1С:Предприятие 8.3, выполните следующие шаги:
1. **Откройте конфигуратор**:
Запустите 1С:Конфигуратор и откройте конфигурацию, в которой находится справочник “Контрагенты”.
2. **Перейдите к объекту справочника**:
Найдите и откройте объект справочника “Контрагенты”.
3. **Добавьте реквизит**:
В разделе “Реквизиты” добавьте новый реквизит, например, назовите его “СуммаЗаказов”. Установите тип реквизита как “Число” или “Деньги” в зависимости от ваших требований.
4. **Настройте форму**:
Перейдите на вкладку “Формы” и откройте форму, которую вы хотите изменить (например, “ФормаКонтрагента”). Перетащите созданный реквизит “СуммаЗаказов” на форму.
5. **Напишите код для вычисления суммы**:
В обработчике события “ПриОткрытии” формы добавьте код, который будет вычислять сумму всех заказов для текущего контрагента. Пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 1C Процедура ПриОткрытии(Отказ) // Получаем ссылку на текущего контрагента Контрагент = ЭтотОбъект; // Выполняем запрос для получения суммы заказов Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ СУММА(Заказ.Сумма) КАК СуммаЗаказов " + "ИЗ Заказы КАК Заказ " + "ГДЕ Заказ.Контрагент = &Контрагент"; Запрос.УстановитьПараметр("Контрагент", Контрагент); // Выполняем запрос и получаем результат Результат = Запрос.Выполнить(); Если Результат.Количество() > 0 Тогда РезультатЗапроса = Результат.Выбрать(); Если РезультатЗапроса.Следующий() Тогда ЭтотОбъект.СуммаЗаказов = РезультатЗапроса.СуммаЗаказов; КонецЕсли; КонецЕсли; КонецПроцедуры |
6. **Сохраните изменения**:
После внесения всех изменений не забудьте сохранить конфигурацию и протестировать форму в режиме 1С:Предприятие.
Теперь на форме контрагента будет отображаться сумма всех заказов, связанных с этим контрагентом.
Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать!