Формулы

Формулы

Формула для присваивания значения

Для присваивания значения любому полю используется следующая формула:

= Значение

Например, если вы хотите присвоить значение "Example" полю "Производитель", формула будет выглядеть следующим образом:

= "Example"

 

Результат после загрузки:

 

Формула для привязки к названию столбца

В ПрайсМатрикс возможна настройка загрузки прайсов Excel или CSV с привязкой к названиям столбцов. Актуально, когда поставщик любит добавить какой-нибудь столбец в прайс и порядок последующих столбцов нарушается.

Формула для привязки к названию столбца:

\[ = \text{Loader.Column("НАЗВАНИЕ_КОЛОНКИ")} \]

Пример     =Loader.Column("Артикул производителя")

Привязка к названию столбца

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

Формулы для преобразования регистра

Для выполнения преобразования регистра существуют следующие формулы:

  1. Преобразование в нижний регистр: использовать функцию

    \[ \displaystyle{\displaylines{=A.ToLower()}} \]

    которая принимает в качестве аргумента строку и возвращает ее эквивалент в нижнем регистре. Например, ToLower("Текст") вернет "текст".
    Пример использования:Результат загрузки:

  2. Преобразование в верхний регистр: использовать функцию

    \[ \displaystyle{\displaylines{=A.ToUpper()}} \]

    , которая принимает в качестве аргумента строку и возвращает ее эквивалент в верхнем регистре. Например, ToUpper("текст") вернет "ТЕКСТ".
    Пример использования:
    Результат загрузки:

Формула для условной загрузки полей

Для условной загрузки полей в Прайсматрикс используется функция - IIF.
IIF – логическая функция, которая возвращает одно из двух значений в зависимости от результата логического выражения.

Общая форма функции выглядит следующим образом:

\[ =\text{IIF}(\text{УСЛОВИЕ}, \text{ЗНАЧЕНИЕ_1}, \text{ЗНАЧЕНИЕ_2}) \]

Оператор "равно"(=)

формула для оператора "равно":

\[ =\text{IIF}\left(\text{DOUBLE}(A) = \text{DOUBLE}(B), A, B\right) \]

К примеру, необходимо рассчитать "Старую цену" в зависимости от того равна ли цена закупки(столбец С)  значениям столбца с РРЦ(столбец D),
если да, то старая цена будет на 25% больше цены,
если нет, то на 30% больше цены.
В формулах нельзя использовать проценты, поэтому используем вместо них коэффициенты, 25% - это 1,25; 30% - 1,30
В строку "Старая цена" записываем формулу: Формула для расчете старой цены

Результат загрузки:

Оператор "не равно"(<>)

\[ =\text{IIF}(\text{DOUBLE}(A) <> \text{DOUBLE}(B), A, B) \]

К примеру, в файле есть три столбца с ценой(A,B,C),  формулой нужно создать следующее условие:

если A - не пусто, то грузим A
если B не пусто, то грузим B
если первое и второе условие не выполняется, грузим G.
В итоге получаем следующую формулу:

=IIF(A<>"",A,IIF(B<>"",B,C))

Операторы "больше, меньше"(>, <)

Для сравнения значений применяется формула

\[ =\text{IIF}\left(\text{DOUBLE}(A) < \text{DOUBLE}(B), A, B\right) \]

К примеру, в файле есть столбы цена(C) и РРЦ(D), в некоторых строках значение цены меньше РРЦ:

Пример файла где цена меньше РРЦ

Условие загрузки цены — если цена меньше РРЦ, то вместо цены ставим значение РРЦ, если цена больше РРЦ, оставляем значение цены. В расширенных настройка прописываем формулу в строке Цена:

Формула для сравнения цены и ррц

Результат загрузки:

Результат загрузки после сравнения цены и РРЦ

 

Формула для добавления префикса артикулу

Если необходимо прописать префикс артикулу, это можно сделать в расширенных настройках во время загрузки файла. Необходимо прописать в строке формулу:

\[ ="ПРЕФИКС-"+СТОЛБЕЦ \]

.Добавление префикса артикулу

Результат после загрузки:результат загрузки артикула с префиксом

Формула для  извлечения части строки в ячейке

1 Пример — есть столбец со значениями, но для загрузки необходима только вторая часть строки после точки с запятой:

пример ячейки со значением артикула производителя

Для извлечения части строки необходимо в расширенных настройках в нужной строке прописать формулу:

\[ \displaystyle{\displaylines{=F.Substring(F.IndexOf(";") + 1).Trim()\text{}}} \]

F — переменная со значением столбца.
F.IndexOf(";") — находит индекс символа  - ";"
+1 - нужен потому что нам нужна часть строки после ";"
Substring — возвращает строку после символа ";"
Trim — удаляет пробелы слева и справа если есть.

Формула для извлечения части строки

Результат загрузки:

Результат извлечения части строки в ячейке

2 Пример -  в этом примере необходимо извлечь начало строки до *Извлечение начала строки

Для извлечения строки прописываем формулу в расширенных настройках:

\[ \displaystyle{\displaylines{=F.Substring(0, F.IndexOf("*")).Trim()}} \]

Формула для замены одного значения другим

Для замены значения или фразы можно применить формулу:

\[ =B.\text{Replace}(\text{"старый_текст"}, \text{"новый_текст"}) \]

К примеру, в файле название товара выглядит как "Гетры (арт 003), цвет синий", а загрузить нужно "Гетры, цвет синий":

Пример файла с названием Гетры (арт 003), цвет синий

В расширенных настройках загрузки в строке "Название" прописываем формулу

\[ =B.\text{Replace}(\text{"Гетры (арт 003)"}, \text{"Гетры"}) \]

Формула для замены части названия

Результат загрузки:

Результат загрузки измененного названия по формуле

Формула для сложения значений двух столбцов

Формула для сложения  числовых значений

Если нужно объединить числовые значения двух столбцов, можно воспользоваться формулой

\[ =\text{DOUBLE}(A) + \text{DOUBLE}(B) \]

На пример, есть файл с двумя столбцами остатков, в прайс нужно загрузить сумму этих двух столбцов:

Пример файла с двумя столбцами остатков

В расширенных настройках прописываем формулу в строке наличие: Формула для объединения числовых значенийРезультат загрузки:

Результат загрузки наличия

Формула для сложения текстовых значений

Для объединения текстовых значений пользуемся формулой:

\[ \displaystyle{\displaylines{= A+B}} \]

К примеру, нужно, что бы в прайсе  в названии товара был указан производитель через разделитель ";", для этого можно объединить столбцы "Название" и "Производитель":

Пример файла

В расширенных настройках в строке "Название" прописываем формулу:

Формула для объединения текстовых значений

Результат загрузки:

Результат объединения двух текстовых значений

Формула для умножения значений колонки

\[ =\text{DOUBLE(A) * N} \]

где А - это колонка со значениями, которые нужно изменить
N - число на которое нужно умножить значение колонки А

К примеру, нужно изменить значения в колонке Цена, уменьшить цену на 3 процента. Для этого в строке Цена прописываем формулу =DOUBLE(A)*0.97

Формулы для округления цен

Округление к ближайшему целому

\[ =\text{ROUND}(\text{DOUBLE}(A), 1) \]

где А - колонка с ценой или РРЦ
1 - степень округления цены
(0 - округление до ближайшего целого числа, 1 и больше  - количество знаков после запятой)

Round - это метод, который позволяет округлять дробные числа до заданного количества знаков после запятой или до ближайшего целого числа. Например, =ROUND(DOUBLE(А), 0) округлит число до целого числа, а =ROUND(DOUBLE(А), 2) округлит число  с двумя знаками после запятой.

 

Пример использования:
Результат загрузки:

Округление к меньшему

\[ =\text{Int}\left(\text{Double}(A)\right) \]

 

где А - колонка с ценой или РРЦ

Оператор Int используется для приведения значения к целочисленному типу. Он просто отбрасывает дробную часть числа и возвращает целое число.

Пример использования:

 

Результат загрузки:

 

Формулы с использованием регулярных выражений

Регулярные выражения – это мощный инструмент для работы с текстом, который позволяет осуществлять поиск, замену и обработку текстовой информации.
Подробнее про применение формул с регулярными выражениями  в этой инструкции - https://price-matrix.ru/all-instructions/regulyarnye-vyrazheniya-v-prajsmatriks