Поиск по блогу

вторник, 26 апреля 2016 г.

Инициализация реквизитов при создании нового объекта

Один из методов упрощения работы пользователя - это заполнение реквизитов нового объекта (элемент справочник, документ) значениями по умолчанию. Реализовать заполнение реквизитов можно двумя способами:
  1. в обработчике события формы элемента - ПриСозданииНаСервере;
  2. в обработчике события объекта - ОбработкаЗаполнения.
Первый способ не рекомендуется использовать, но все-равно его рассмотрим. Создадим в модуле формы обработчик события ПриСозданииНаСервере. В обработчике проверим факт создания нового объекта, если объект новый, то произведем заполнение реквизитов.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

// Если ссылка у объекта пустая, значит он еще не записан,
// а следовательно он является новым объектом.
ЭтоНовыйОбъект = Объект.Ссылка.Пустая();

// Если объект новый, то выполняем заполнение реквизитов.
Если ЭтоНовыйОбъект Тогда
Объект.Ответственный = Пользователи.ТекущийПользователь();
Объект.Комментарий = "Документ создан " + Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy");
КонецЕсли;

КонецПроцедуры

воскресенье, 10 апреля 2016 г.

СКД. Добавление собственного пункта расшифровки.

Потребовалось как-то создать отчет, который выводит информацию об оплате товара: не оплачен (сумма оплаты = 0), частично оплачен (сумма оплаты < суммы товара), оплачен (сумма оплаты = сумма товара). Сумма оплаты формируется по неким условиям, и требуется предоставлять пользователю информацию о том, каким образом была сформирована сумма, выражаясь терминами СКД: расшифровать сумму оплаты товара.

Для вывода такой информации требуется нестандартный вариант расшифровки. Первым делом мне потребовалось переопределить поле для расшифровки, а если быть точнее, добавить поле для расшифровки. Для этого в схеме компоновки данных отчета на вкладке Макеты создал макет поля СуммаОплаты (см. рисунок 1), обратите внимание на заполнение свойств раздела Макет.
Рисунок 1. Макет поля СуммаОплаты