Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.


...

<?xml version="1.0" encoding="UTF-8"?> <beans xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- Расширенный (EXTended) список поставщиков "услуг лояльности". Или внешние (EXTernal) поставщики лояльности --> <!-- Средство для получения списка РА, что могут действовать на чек прямо сейчас --> <bean id="loy-actions-provider" class="ru.crystals.loyal.actions.provider.InMemoryLoyActionsProvider" init-method="start"> <property name="cache" ref="actions-cache"/> </bean> <!-- Реестр всех "поставщиков"
Информация
Блок кода
languagexml
titleСтруктура файла ext-loyalty-providers.xml
linenumberstrue
collapsetrue
title

Описание

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

На кассе может присутствовать более одного провайдера:

  • SetRetail0
  • Manzana
  • Set API
  • и.т.п.

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

Одно из частых требований - производить фильтрацию рекламных акций (РА) и применять скидку на округление только после окончания расчета скидок в цепочке. Для настройки порядка, в котором провайдеры лояльности будут применяться к чеку, а также выбора порядка применения скидок различного типа (округление, суммирующиеся всегда, и.т.д.), используется конфигурацонный файл /home/tc/storage/crystal-cash/modules/loyalty/ext-loyalty-providers.xml.

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

При установке кассы из дистрибутива, файл (для версий 10.2.59.0 и выше) ext-loyalty-providers.xml будет выглядеть следующим образом:

Внимание

Начиная с версии (при обновлении на версию) 10.2.99.0 содержимое конфигурацонного файла ext-loyalty-providers.xml перенесено в БД и вносить изменения надо будет в БД, подробнее ниже по тексту.

Устаревшая версия Jira
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keyCR-5733

Устаревшая версия Jira
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdbc8d3685-f9c0-329d-9054-b12aabbcb834
keySR-4807

Оглавление

Описание

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

На кассе может присутствовать более одного провайдера:

  • SetRetail0
  • Manzana
  • Set API
  • и.т.п.

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

Одно из частых требований - производить фильтрацию рекламных акций (РА) и применять скидку на округление только после окончания расчета скидок в цепочке. Для настройки порядка, в котором провайдеры лояльности будут применяться к чеку, а также выбора порядка применения скидок различного типа (округление, суммирующиеся всегда, и.т.д.), используется конфигурацонный файл /home/tc/storage/crystal-cash/modules/loyalty/ext-loyalty-providers.xml.

Блок кода
titleКод 1 - расположение файла ext-loyalty-providers.xml на кассе
/home/tc/storage/crystal-cash/modules/loyalty/ext-loyalty-providers.xml

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

При установке кассы из дистрибутива, файл (для версий 10.2.59.0 и выше) ext-loyalty-providers.xml будет выглядеть следующим образом:

Блок кода
languagexml
titleСтруктура файла ext-loyalty-providers.xml
linenumberstrue
collapsetrue
<?xml version="1.0" encoding="UTF-8"?>
<beans xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
	   xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<!-- Расширенный (EXTended) список поставщиков "услуг лояльности". ОнИли же - главный "калькулятор" "преференций"внешние (EXTernal) поставщики лояльности -->

	<!-- Средство для получения списка РА, что могут действовать на чек прямо сейчас -->
	<bean id="loy-providersactions-registryprovider" class="ru.crystals.loyal.providersactions.provider.LoyProvidersRegistryImplInMemoryLoyActionsProvider" init-method="initstart">
		<property name="providers"cache" ref="actions-cache"/>
			<list>
				<bean </bean>

	<!-- Реестр всех "поставщиков" "услуг лояльности". Он же - главный "калькулятор" "преференций" -->
	<bean id="loy-providers-registry" class="ru.crystals.loyal.providers.CustomSetLoyProviderLoyProvidersRegistryImpl" init-method="init">
					<property name="providers">
			<list>
				<bean class="ru.crystals.loyal.providers.CustomSetLoyProvider">
					<property name="actionsProvider" ref="loy-actions-provider"/>
					<property name="filter">
						<bean class="ru.crystals.loyal.providers.set.filters.SetActionsAndFilter">
							<property name="filters">
								<list>
									<bean class="ru.crystals.loyal.providers.set.filters.NonWorksAnyTimeSetActionsFilter" />
									<bean class="ru.crystals.loyal.providers.set.filters.NonRoundingSetActionsFilter" />
								</list>
							</property>
						</bean>
					</property>
				</bean>

				<!-- сторонние поставщики лольяности пошли -->
				<ref bean="set-api-loy-provider"/>
				<bean class="ru.crystals.pos.loyal.ml.ManzanaLoyProvider" />
				<bean class="ru.crystals.pos.loyal.sc.SCLoyProvider" />
				<ref bean="loymax-loy-provider" />
				<ref bean="kopilka-loy-provider" />
				<ref bean="set-machine-loy-provider" />

				<bean class="ru.crystals.loyal.providers.CustomSetLoyProvider">
					<property name="actionsProvider" ref="loy-actions-provider"/>
					<property name="filter">
						<bean class="ru.crystals.loyal.providers.set.filters.SetActionsAndFilter">
							<property name="filters">
								<list>
									<bean class="ru.crystals.loyal.providers.set.filters.WorksAnyTimeSetActionsFilter" />
									<bean class="ru.crystals.loyal.providers.set.filters.NonRoundingSetActionsFilter" />
								</list>
							</property>
						</bean>
					</property>
				</bean>

				<bean class="ru.crystals.loyal.providers.CustomSetLoyProvider">
					<property name="actionsProvider" ref="loy-actions-provider"/>
					<property name="filter">
						<bean class="ru.crystals.loyal.providers.set.filters.RoundingSetActionsFilter" />
					</property>
				</bean>
			</list>
		</property>

		<property name="staleFeedbackSendIntervalSeconds" value="120"/>
		<property name="maxStaleFeedbackToSend" value="5"/>
    </bean>

	<!-- Наш (SET10) классический поставщик услуг лояльности -->
	<bean id="classic-set10-loy-provider" class="ru.crystals.loyal.providers.ClassicSetLoyProvider">
		<property name="actionsProvider" ref="loy-actions-provider"/>
	</bean>

	<!-- Поставщик лояльности SetMachine -->
	<bean id="set-machine-loy-provider" class="ru.crystals.pos.loyal.sm.SetMachineLoyProvider">
		<property name="actionsProvider" ref="loy-actions-provider"/>
	</bean>

	<!-- Поставщик лояльности Loymax -->
	<bean id="loymax-loy-provider" class="ru.crystals.pos.loyal.loymax.LoymaxLoyProvider">
		<property name="actionsProvider" ref="loy-actions-provider"/>
	</bean>

	<!-- Поставщик лояльности Kopilka -->
	<bean id="kopilka-loy-provider" class="ru.crystals.pos.loyal.kopilka.KopilkaLoyProvider">
		<property name="actionsProvider" ref="loy-actions-provider"/>
	</bean>

    <bean id="set-api-loy-provider" class="ru.crystals.pos.loyal.SetApiPluginLoyProvider" init-method="init">
        <property name="actionsProvider" ref="loy-actions-provider" ref="loy-actions-provider"/>
    </bean>
</beans>/>
    </bean>
</beans>

С версии 10.2.99.0+ содержимое конфигурацонного файла ext-loyalty-providers.xml переносится в кассовую БД и находится в таблице catalog.sales_management_properties:

module_nameplugin_nameproperty_keyproperty_valuedescription
SET_DISCOUNTS
ext.loyalty.providers

(конфигурация провайдеров лояльности - ранее текстовое содержимое файла

ext-loyalty-providers.xml как оно есть, в формате xml)

Описание провайдеров лояльности (xml)

При обновлении кассы на версию 10.2.99.0 и выше содержимое файла ext-loyalty-providers.xml перенесётся в БД кассы автоматически, в указанную таблицу. После ручного редактирования конфигурации провайдеров лояльности в БД кассы необходимо перезагрузить кассу. Файл ext-loyalty-providers.xml останется на кассе, но потеряет актуальность, кроме случаев, когда конфигурация в БД окажется невалидной (например, формат некорректный). В случае ошибки в конфигурации из БД, конфигурация возьмется из файла, чтобы не сломать работу кассы.

Список и порядок применяемых провайдеров лояльности находится в бине "loy-providers-registry", свойстве "providers". Вам всё ещё нужно регистрировать провайдер лояльности во "Внешних системах" на сервере и создавать рекламную акцию для срабатывания его, чтобы расчет скидок в нем действительно был произведен. Доступные кассе провайдеры лояльности и способ их записи представлены в таблице 1.


Список и порядок применяемых провайдеров лояльности находится в секции loy-providers-registry, свойстве providers.

...