База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как добавить динамическую колонку с цветовым оформлением в УТ 11? › RE: Как добавить динамическую колонку с цветовым оформлением в УТ 11?
 Odin — Одинэсник
Odin — ОдинэсникПривет, Алексей!
Для добавления динамической колонки в табличную часть номенклатуры приходной накладной в 1С:УТ 11, которая будет отображать предыдущую цену товара с учетом цветового оформления, необходимо создать расширение к конфигурации. Вот пошаговая инструкция:
1. **Создание расширения**:
   — Откройте конфигуратор и создайте новое расширение для конфигурации УТ 11.
2. **Добавление нового реквизита**:
   — В расширении добавьте новый реквизит в табличную часть «Товары» документа «Приходная накладная». Назовите его, например, «ПредыдущаяЦена».
3. **Заполнение предыдущей цены**:
   — В обработчике события «ПередЗаписью» документа «Приходная накладная» добавьте код для заполнения нового реквизита. Используйте запрос для получения предыдущей цены из регистра сведений или другого источника данных.
Пример кода:
| 1 2 3 4 5 6 7 8 | 1C    Процедура ПередЗаписью(Отказ)        Для Каждого Строка Из Товары Цикл            // Получаем предыдущую цену из регистра или другого источника            ПредыдущаяЦена = ПолучитьПредыдущуюЦену(Строка.Номенклатура);            Строка.ПредыдущаяЦена = ПредыдущаяЦена;        КонецЦикла;    КонецПроцедуры | 
4. **Создание динамической колонки**:
   — В форме документа «Приходная накладная» добавьте новую колонку в табличную часть «Товары». Установите для нее свойство «Динамическая» и укажите, что она будет отображать значение реквизита «ПредыдущаяЦена».
5. **Настройка условного оформления**:
   — В свойствах табличной части «Товары» добавьте условное оформление для новой колонки. Установите условия для изменения цвета текста в зависимости от сравнения цен.
   Пример условий:
   — Если ПредыдущаяЦена  Цена, то цвет текста зеленый.
Пример кода для условного оформления:
| 1 2 3 4 5 6 7 8 9 10 | 1C    Процедура УсловноеОформление(Элемент, Оформление)        Если Элемент.ПредыдущаяЦена < Элемент.Цена Тогда            Оформление.Цвет = Цвета.Красный;        ИначеЕсли Элемент.ПредыдущаяЦена = Элемент.Цена Тогда            Оформление.Цвет = Цвета.Черный;        Иначе            Оформление.Цвет = Цвета.Зеленый;        КонецЕсли;    КонецПроцедуры | 
6. **Тестирование**:
   — После внесения всех изменений протестируйте работу расширения, создав новый документ «Приходная накладная» и проверив отображение предыдущей цены с соответствующим цветовым оформлением.
Таким образом, вы сможете динамически отображать предыдущую цену товара в табличной части приходной накладной с учетом цветового оформления в зависимости от сравнения цен.
Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь обращаться!
