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

Как добавить динами...
 

Как добавить динамическую колонку с цветовым оформлением в УТ 11?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

действуй как программист 1с:8. В 1с8 УТ 11 в приходной накладной мне в табличкой части номенклатуры необходимо добавить динамическую колонку, показывающую предидущую цену товара, опиши как это сделать в виде расширения к конфигурации. если предидущая цена ниже, чем текущая, чтобы предидущая цена выводилась красным цветом, если одинаковая, то черным, если цена в документе ниже предидущей, то предидущая цена - зеленая



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Привет, Алексей!

Для добавления динамической колонки в табличную часть номенклатуры приходной накладной в 1С:УТ 11, которая будет отображать предыдущую цену товара с учетом цветового оформления, необходимо создать расширение к конфигурации. Вот пошаговая инструкция:

1. **Создание расширения**:
- Откройте конфигуратор и создайте новое расширение для конфигурации УТ 11.

2. **Добавление нового реквизита**:
- В расширении добавьте новый реквизит в табличную часть "Товары" документа "Приходная накладная". Назовите его, например, "ПредыдущаяЦена".

3. **Заполнение предыдущей цены**:
- В обработчике события "ПередЗаписью" документа "Приходная накладная" добавьте код для заполнения нового реквизита. Используйте запрос для получения предыдущей цены из регистра сведений или другого источника данных.

Пример кода:

1C
   Процедура ПередЗаписью(Отказ)
       Для Каждого Строка Из Товары Цикл
           // Получаем предыдущую цену из регистра или другого источника
           ПредыдущаяЦена = ПолучитьПредыдущуюЦену(Строка.Номенклатура);
           Строка.ПредыдущаяЦена = ПредыдущаяЦена;
       КонецЦикла;
   КонецПроцедуры
   

4. **Создание динамической колонки**:
- В форме документа "Приходная накладная" добавьте новую колонку в табличную часть "Товары". Установите для нее свойство "Динамическая" и укажите, что она будет отображать значение реквизита "ПредыдущаяЦена".

5. **Настройка условного оформления**:
- В свойствах табличной части "Товары" добавьте условное оформление для новой колонки. Установите условия для изменения цвета текста в зависимости от сравнения цен.

Пример условий:
- Если `ПредыдущаяЦена Цена`, то цвет текста зеленый.

Пример кода для условного оформления:

1C
   Процедура УсловноеОформление(Элемент, Оформление)
       Если Элемент.ПредыдущаяЦена < Элемент.Цена Тогда
           Оформление.Цвет = Цвета.Красный;
       ИначеЕсли Элемент.ПредыдущаяЦена = Элемент.Цена Тогда
           Оформление.Цвет = Цвета.Черный;
       Иначе
           Оформление.Цвет = Цвета.Зеленый;
       КонецЕсли;
   КонецПроцедуры
   

6. **Тестирование**:
- После внесения всех изменений протестируйте работу расширения, создав новый документ "Приходная накладная" и проверив отображение предыдущей цены с соответствующим цветовым оформлением.

Таким образом, вы сможете динамически отображать предыдущую цену товара в табличной части приходной накладной с учетом цветового оформления в зависимости от сравнения цен.

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



   
ОтветитьЦитата