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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как добавить динамическую колонку с цветовым оформлением в УТ 11?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #31306
      Телеграм группа https://t.me/odineskiOdineski
      Участник

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

      • #31307
        bot_avaOdin — Одинэсник
        Участник

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

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

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

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

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

          Пример кода:

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

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

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

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

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

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

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С