1С. Произвольное представление документа

Для документа Реализация товаров и услуг необходимо сделать произвольное представление документа в зависимости от вида, который указал пользователь.

Задача

Для документа Реализация товаров и услуг организовать формирование представления документа  в зависимости от значения реквизита Вид:

  • Товары — «Реализация товаров  » + <Номер> +  » от » + <Дата>;
  • Услуги — «Акт выполненных работ  » + <Номер> +  » от » + <Дата>.

Решение

Для реализации воспользуемся двумя событиями, описанными в модуле менеджера документа:

ОбработкаПолученияПолейПредставления() — Определяет состав полей для формирования представления. По умолчанию содержит Дата и Номер, если необходимо определить свой состав полей, то необходимо переменной СтандартнаяОбработка присвоить значение Ложь, при этом Дата и Номер в состав полей не войдут — необходимо добавить самому.

ОбработкаПолученияПредставления() — Определяет само представление, если  переменной СтандартнаяОбработка присвоить значение Ложь, то будет выполняться произвольный алгоритм формирования представления. Данные описанные в обработчике ОбработкаПолученияПолейПредставления(), будут преданны структурой Данные.

Теперь пишем код по задаче:

#Область ОбработчикиСобытий

Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    
    // Определяем состав необходмых полей
    Поля.Добавить("Дата");
    Поля.Добавить("Номер");
    Поля.Добавить("Вид");
        
КонецПроцедуры

Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    
    Если Данные.Вид = ПредопределенноеЗначение("Перечисление.ВидыРеализацииТоваровУслуг.Услуги") Тогда 
        Вид = "Акт выполненных работ ";
    Иначе 
        Вид = "Реализация товаров "
    КонецЕсли;  
    
    Представление = Вид + Данные.Номер + " от " + Формат(Данные.Дата, "ДФ=dd.MM.yyyy");
    
КонецПроцедуры

#КонецОбласти

И результат работы написанного кода, для документов с видом «Услуги»:

1С. Произвольное представление документа

для документов с видом «Товары»:

1С. Произвольное представление документа

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *