Статьи по: Разработчикам

Синтаксис скриптов

Скрипты



В скрипт передается объект контекста, который содержит свойства с данными и методы. Часть из свойств только для чтения и не могут быть изменены, остальные же используются для записи (внесения изменений)

Есть три типа скриптов:
Товар - изменение цен, наличия, тегов и свойств товаров
Статус - изменение статуса товаров
Анализ - построение представления данных по товару

Общие данные


Передаются в скрипты всех типов

Data

Свойство только для чтения, в котором есть общие данные из системы
MainCurrency - cистемная валюта (USD, EUR, etc)
Category - словарь с категориями, ключ строка с ExternalId категории, значение - данные о категории {Id: Guid; ExternalId: string; Name: string; ParentExternalId: string; IsActive: boolean}
Contractor - словарь с контрагентами, ключ строка с UnifiedName контрагента, значение - данные о контрагенте {ExternalId: string; Name: string; Tags: string[]}
ProductPriceType - словарь с типами цен, ключ строка с UnifiedName типа цены, значение - данные о типе цен {Id: Guid; Name: string; ExtensionData: string}
ContractorPriceType - словарь с типами цен контрагентов, ключ строка с Contractor.UnifiedName-ContractorPriceType.Code, значение - данные о типе цен {Id: Guid; Name: string;}
PriceSet - словарь с группами цен, ключ строка с UnifiedName группы цены, значение - данные о группе цен {Id: Guid; Name: string; UnifiedName: string}
Global - Dictionary<string, Dictionary<string, string>>

ContractorPrices

Свойство только для чтения, массив с ценами контрагентов по текущему товару ReevaluationContractorPrice[]

Тип ReevaluationContractorPrice:
Code - код цены контрагента
Name - название товара контрагента
Url - ссылка товара контрагента
Price - цена
Currency - валюта
ParsedOn - дата и время парсинга (DateTime)
Contractor - UnifiedName контрагента
PriceSet - UnifiedName группы цен

Logs

Свойство только для чтения, используется для записи логов. Содержит метод Add(string message)

Iteration

Техническое свойство только для чтения с номером товара при обработке

Методы

double? ConvertPrice(double? price, string fromCurrency, string toCurrency)
Конвертирует цену из одной валюты в другую

ReevaluationContextPricesWrapper GetPrices(Func<ReevaluationContractorPrice, bool> predicate = null)
Получение цен контрагентов в системной валюте, опционально можно передать предикат для фильтрации

ReevaluationContextPricesWrapper GetPrices(string currency, Func<ReevaluationContractorPrice, bool> predicate = null)
Получение цен контрагентов в заданной валюте, опционально можно передать предикат для фильтрации

Тип ReevaluationContextPricesWrapper
Содержит массив ReevaluationContractorPrice[] Values с ценами и методы double? Min(), double? Max(), double? Avg(), int Count()

Скрипт "Товар"



ProductOld

Свойство только для чтения с данными о товаре
Price - словарь с ценами товара, ключ UnifiedName типа цены, значение - цена (может быть null)
Currency - словарь с валютами цен товара, ключ UnifiedName типа цены, значение - валюта (может быть null)
Property - словарь со свойствами товара, ключ UnifiedName свойства, значение - значение свойства товара (может быть null)
Tag - словарь с тегами товара, ключ UnifiedName тега, значение - true/false
ExternalId - код товара в системе клиента
CategoryId - код категории в системе клиента
Name - название товара
Vendor - производитель
VendorCode - артикул
CreationTime - дата создания товара (DateTime)
Availability - UnifiedName наличия
Catalog - UnifiedName каталога
IsActive - статус товара (true/false)

Product

Свойство для записи
Availability - UnifiedName наличия
Price - словарь с ценами товара, ключ UnifiedName типа цены, значение - цена (может быть null)
Currency - словарь с валютами цен товара, ключ UnifiedName типа цены, значение - валюта (может быть null)
Tag - словарь с тегами товара, ключ UnifiedName тега, значение - true/false
Property - словарь со свойствами товара, ключ UnifiedName свойства, значение - string

Скрипт "Статус"



ProductOld

Свойство только для чтения с данными о товаре, такое же как и в скрипте "Товар"

Product

Свойстово для записи
IsActive - true/false

Анализ


Состоит из двух скриптов: колонки, данные. Скрипт для вычисления колонок выполняется один раз перед запуском скрипта для генерации данных по каждому товару в этих колонках

Колонки

Columns - cвойтво содержит метод для добавления колонки
Add(string dataField, string caption, int width, string alignment = null, string band = null, bool isFixed = false)

Данные

ProductOld - свойство только для чтения с данными о товаре, такое же как и в скрипте "Товар"
Cell - словарь для заполнения данных в ячейках, ключ DataField колонки, значение объект CellData

Тип CellData содержит свойства:
Text - текст в ячейке
ToolTip - подсказка при наведении
Background - цвет фона
Color - цвет текста
IconId - иконка
IconColor - цвет иконки
Href - ссылка, если заполнено, то текст будет отображаться как ссылка
Bold - true/false
Italic - true/false
TextDecoration - underline/line-through

Обновлено на: 21/03/2023

Была ли эта статья полезна?

Поделитесь своим отзывом

Отменить

Спасибо!