Настройка прайс-листов — различия между версиями
Iv (обсуждение | вклад) |
Iv (обсуждение | вклад) |
||
(не показано 19 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | [[Категория:Сервер удаленного заказа ]] | ||
+ | |||
+ | ==Описание в ини== | ||
+ | |||
Каждый использующийся прайс лист должен быть описан в ини сервера . Каждый прайс-лист описывается в виде секции [Price n] (где n – порядковый номер, пишется через пробел). Секция должна содержать следующие параметры: | Каждый использующийся прайс лист должен быть описан в ини сервера . Каждый прайс-лист описывается в виде секции [Price n] (где n – порядковый номер, пишется через пробел). Секция должна содержать следующие параметры: | ||
Строка 4: | Строка 8: | ||
|Параметр||Описание||Значение по умолчанию | |Параметр||Описание||Значение по умолчанию | ||
|- | |- | ||
− | |Level||Минимальный уровень доступа|| | + | |Level||Минимальный уровень доступа||-1 (доступен для всех) |
+ | возможно перечисление нескольких значений через ; | ||
|- | |- | ||
|DocType||Тип документа, который будет соответствовать заказу||0 | |DocType||Тип документа, который будет соответствовать заказу||0 | ||
Строка 10: | Строка 15: | ||
|PriceName||Русское название прайс-листа|| (20 символов) | |PriceName||Русское название прайс-листа|| (20 символов) | ||
|- | |- | ||
− | |ProcName|| | + | |ProcName||Имя запрашиваемой процедура |
+ | FromFile - прайс-лист не будет обновляться из базы | ||
+ | |||
+ | FROMCDS=Путь_к_файлу - Файл остатков будет загружен из cds | ||
+ | файл должен обязательно содержать все объявленные доп колонки | ||
+ | датасет параметров в этом случае не требуется | ||
+ | |||
+ | ||Обязательный параметр | ||
|- | |- | ||
|ParamDataSet||Описание датасета параметров||Обязательный параметр | |ParamDataSet||Описание датасета параметров||Обязательный параметр | ||
Строка 27: | Строка 39: | ||
|- | |- | ||
|CheckRests||Если 1, то в прайс-лист не попадут позиции с нулевыми остатками|| 0 | |CheckRests||Если 1, то в прайс-лист не попадут позиции с нулевыми остатками|| 0 | ||
+ | |- | ||
+ | |DiscountOverMinPrice||Номер скидки/наценки которая будет применена к минимальной цене||0 | ||
|} | |} | ||
Строка 42: | Строка 56: | ||
– для второго, и так далее. | – для второго, и так далее. | ||
− | + | :Если для разных прайс-листов используются разные типы документов, то надо завести файл с описанием типов документов (DocTypesDesc.dat) | |
− | + | ==Распределение прайс-листов по клиентам== | |
+ | ;1.Распределение прайс листов по клиентам с помощью параметра Level прайс листа и клиента. | ||
+ | При значении по умолчанию (-1) прайс-лист будет доступен для скачивания всем клиентам. При изменении этого параметра на любой другой только тем клиентам значение Level(параметр 8 в users.dat) которых присутствует в Level прайс листа. | ||
+ | |||
+ | Пример: | ||
+ | Прайс-листы | ||
+ | [Price 0] | ||
+ | Level=-1 (либо не определен) | ||
+ | [Price 1 ] | ||
+ | Level=10 | ||
+ | [Price 2] | ||
+ | Level=10;20 | ||
+ | Клиенты | ||
+ | 20100000000000-000-00 = Клиент1 = 1 = = = = = 10 = = = = = = = | ||
+ | 20100000000000-000-01 = Клиент1(2 адрес) = 1 = = = = = 20 = = = = = = = | ||
+ | 20100000000000-000-00 = Клиент2 = 1 = = = = = = = = = = = = | ||
+ | Получаем | ||
+ | Клиент1 - 0,1,2 | ||
+ | Клиент1(2 адрес) - 0,2 | ||
+ | Клиент2 - только 0 | ||
+ | ;2.Распределение прайс-листов с помощью персональных договоров. | ||
+ | Возможна передача клиенту прайс-листов указанных в его договоре. В таком случае при запросе прайс-листа цены берутся не из указанного в настройках, а из данных персонального прайса, возможные скидки игнорируются. Ид такого прайс-листа должен быть обязательно перечислен в параметре ExtraPrices секции Prices. | ||
+ | Применение [[Настройка_персональных_цен|договоров]] возможно к каждому конкретному uin. В договоре необходимо создать поле Heap.AddressId | ||
+ | в которое записывается код адреса, такой же код должен быть указан в [[Users.dat|Users.dat]] на выбранном uin 13 параметр. При получении прайс-листа у этого клиента будут действовать все договора с пустым значением поля Heap.AddressId и те у которых стоит код для этого uin. | ||
+ | Пример: | ||
+ | |||
+ | Договор1 Heap.AddressId=2210 | ||
+ | Договор2 Heap.AddressId пусто | ||
+ | Договор3 Heap.AddressId=1789 | ||
+ | |||
+ | Клиент1 20100000000000-000-00 = Клиент1 = 1 = = = = = = = = = = 2210 = = Применяются Договор1 и Договор2 | ||
+ | Клиент2 20100000000000-000-00 = Клиент1 = 1 = = = = = = = = = = = = Применяется только Договор2 | ||
+ | |||
+ | |||
+ | == Ограничительные прайс-листы == | ||
+ | Установка идов ограничительных прайс листов производится либо в | ||
+ | RServ.ini секция Prices параметры | ||
+ | |||
+ | MaxPriceList (задает условие для ограничительного прайс листа сверху, устанавливает MaxPrice ) | ||
+ | |||
+ | MinPriceList (задает условие для ограничительного прайс листа сверху снизу, устанавливает MinPrice ) | ||
+ | В условии можно использовать поля полученные из процедуры Get_Web_Partners | ||
+ | либо передавая их в Get_Web_Partners | ||
+ | передаваться могут 3 поля MinPrice, MaxPrice, MaxPriceList | ||
− | + | Если параметр прайс-листа Heap.@System = 2, то прайс будет считаться ограничительным сверху, в остальных случаях - снизу | |
− | + | Для корректной работы необходимо чтобы иды ограничительных прайс-листов были перечислены в секции Prices параметр ExtraPrices, | |
+ | если у клиента указан прайс не перечисленный в этом параметре ограничение применяться не будет |
Текущая версия на 06:42, 14 сентября 2011
Описание в ини
Каждый использующийся прайс лист должен быть описан в ини сервера . Каждый прайс-лист описывается в виде секции [Price n] (где n – порядковый номер, пишется через пробел). Секция должна содержать следующие параметры:
Параметр | Описание | Значение по умолчанию |
Level | Минимальный уровень доступа | -1 (доступен для всех)
возможно перечисление нескольких значений через ; |
DocType | Тип документа, который будет соответствовать заказу | 0 |
PriceName | Русское название прайс-листа | (20 символов) |
ProcName | Имя запрашиваемой процедура
FromFile - прайс-лист не будет обновляться из базы FROMCDS=Путь_к_файлу - Файл остатков будет загружен из cds файл должен обязательно содержать все объявленные доп колонки датасет параметров в этом случае не требуется |
Обязательный параметр |
ParamDataSet | Описание датасета параметров | Обязательный параметр |
RecalcPrices | Применять персональные договора | 0 |
RecalcQuantity | Применять блочные резервы и округления | 0 |
ApplyMarkup | Применять скидки из Users.dat | 0 |
ApplyMinPrice | Применять ограничительный прайс снизу | 1 |
ApplyMaxPrice | Применять ограничительный прайс сверху | 1 |
CheckRestricts | Если 1, то при выходе цены за пределы ограничительных,она будет обнуляться (т.е. позиция не попадет в прайс-лист) | 0 |
CheckRests | Если 1, то в прайс-лист не попадут позиции с нулевыми остатками | 0 |
DiscountOverMinPrice | Номер скидки/наценки которая будет применена к минимальной цене | 0 |
Замечание 1: Значением параметра ParamDataSet является строка, определяющая структуру датасета и значения его полей. Каждое поле описывается в виде: Имя поля,Тип=”Значение”. Описания полей между собой разделяются символом “|”. Строку, описывающую датасет, можно легко получить, запустив ГБ с ключом –packetlog и выполнив нужный отчет. Например, если нужны параметры процедуры PriceLists_Report, то в GB_Log_Server они будут перечислены после строки «Open PriceLists_Report». Если полю передается пустое значение, то его можно не описывать.
Замечание 2: Колонки Node, Price1, Price2, Quantity являются обязательными, поэтому, в случае если результат процедуры не содержит колонок Node, Price, Quantity, необходимо указать соответствия для этих колонок. Например: Quantity=FreeQty, где FreeQty – колонка из отчета, соответствующая необходимой колонке Quantity. Соответствия можно смотреть прямо в ГБ в Настройке колонок.
Замечание 3: В разделе Prices необходимо указать параметры Price[i], Price[i+1], где i=3 для первого дополнительного прайс-листа, 5 – для второго, и так далее.
- Если для разных прайс-листов используются разные типы документов, то надо завести файл с описанием типов документов (DocTypesDesc.dat)
Распределение прайс-листов по клиентам
- 1.Распределение прайс листов по клиентам с помощью параметра Level прайс листа и клиента.
При значении по умолчанию (-1) прайс-лист будет доступен для скачивания всем клиентам. При изменении этого параметра на любой другой только тем клиентам значение Level(параметр 8 в users.dat) которых присутствует в Level прайс листа.
Пример: Прайс-листы [Price 0] Level=-1 (либо не определен) [Price 1 ] Level=10 [Price 2] Level=10;20 Клиенты 20100000000000-000-00 = Клиент1 = 1 = = = = = 10 = = = = = = = 20100000000000-000-01 = Клиент1(2 адрес) = 1 = = = = = 20 = = = = = = = 20100000000000-000-00 = Клиент2 = 1 = = = = = = = = = = = = Получаем Клиент1 - 0,1,2 Клиент1(2 адрес) - 0,2 Клиент2 - только 0
- 2.Распределение прайс-листов с помощью персональных договоров.
Возможна передача клиенту прайс-листов указанных в его договоре. В таком случае при запросе прайс-листа цены берутся не из указанного в настройках, а из данных персонального прайса, возможные скидки игнорируются. Ид такого прайс-листа должен быть обязательно перечислен в параметре ExtraPrices секции Prices. Применение договоров возможно к каждому конкретному uin. В договоре необходимо создать поле Heap.AddressId в которое записывается код адреса, такой же код должен быть указан в Users.dat на выбранном uin 13 параметр. При получении прайс-листа у этого клиента будут действовать все договора с пустым значением поля Heap.AddressId и те у которых стоит код для этого uin.
Пример: Договор1 Heap.AddressId=2210 Договор2 Heap.AddressId пусто Договор3 Heap.AddressId=1789 Клиент1 20100000000000-000-00 = Клиент1 = 1 = = = = = = = = = = 2210 = = Применяются Договор1 и Договор2 Клиент2 20100000000000-000-00 = Клиент1 = 1 = = = = = = = = = = = = Применяется только Договор2
Ограничительные прайс-листы
Установка идов ограничительных прайс листов производится либо в RServ.ini секция Prices параметры
MaxPriceList (задает условие для ограничительного прайс листа сверху, устанавливает MaxPrice )
MinPriceList (задает условие для ограничительного прайс листа сверху снизу, устанавливает MinPrice )
В условии можно использовать поля полученные из процедуры Get_Web_Partners
либо передавая их в Get_Web_Partners передаваться могут 3 поля MinPrice, MaxPrice, MaxPriceList
Если параметр прайс-листа Heap.@System = 2, то прайс будет считаться ограничительным сверху, в остальных случаях - снизу
Для корректной работы необходимо чтобы иды ограничительных прайс-листов были перечислены в секции Prices параметр ExtraPrices, если у клиента указан прайс не перечисленный в этом параметре ограничение применяться не будет