Как добавить подсветку строк к настройке, содержащейся в BLC Acumatica Base? - PullRequest
2 голосов
/ 13 июня 2019

Я знаю, как выделить строки, отредактировав код файла ASPX для BLC, но что, если этот BLC является базовой страницей Acumatica? Я не верю, что есть способ редактировать и сохранять изменения для этих файлов. Если есть, как мне это сделать? Я попытался добавить немного JavaScript, чтобы установить backgroundColor на то, что я хотел, но я не смог заставить его работать. Есть ли определенный синтаксис для этого, и если да, могу ли я получить пример?

РЕДАКТИРОВАТЬ: Решение, представленное ниже Samvel для 19R1. Файлы CSS содержат классы, которые он использует. Если вы используете более старую версию, вам придется отредактировать свои CSS-файлы, чтобы использовать цвет.

1 Ответ

2 голосов
/ 15 июня 2019

Вы можете выделить линию сетки с некоторыми условиями, используя Javascript.Первое, что нужно сделать, это получить фактический Javascript для него, он будет выглядеть следующим образом:

function HighligthLines ()
{
    if(px_all && px_all["ctl00_phG_tab_t0_grid"] && px_all["ctl00_phG_tab_t0_grid"].rows)
    {
        let lines = px_all["ctl00_phG_tab_t0_grid"].rows.items;
        for(let i=0;i<lines.length;i++)
        {
            let currentLine=lines[i];
            if(currentLine.getCell("OrderQty").getValue() > 10)
            {
                currentLine.style = 'background-color: red';
                currentLine.repaint();
            }
        }
    }
}

Мы будем использовать px_all объект Acumatica Javascript API.Приведенный выше скрипт проверяет, больше ли OrderQty больше 10 для SO Line, и устанавливает ли он фон строки на красный.

Теперь, после того, как у вас есть скрипт, вам нужно добавить его в продажи Acumatica.Страница заказов.Добавьте элемент управления Javascript над элементом управления Grid, как показано ниже enter image description here

И установите свойства элемента управления Script следующим образом:

IsStartupScript - True
Script          - the script shown above.

Set *От 1015 * до True для управления сеткой enter image description here

Установить Client Events -> AfterRefresh, AfterRowChange и Initialize до HighligthLines

enter image description here

Установите EnableClientScript в True для источника данных и Client Events -> Initialize, CommandPerformed в HighligthLines

enter image description here

После выполнения этих шагов и публикации настроек вы должны увидеть строки заказа клиента с количеством заказа более 10 с красным фоном, как показано ниже: enter image description here

Предлагаемый подход будет работать с Acumatica ERP 2019 R1 для более ранних версий, также необходимо добавить стили CSS в Acumatica ERP CSS.

...