Типы договоров — различия между версиями
Bars (обсуждение | вклад) (Новая страница: «Категория:Справочники ГБ == Виды типов договоров == Типы договоров делятся на системные …») |
Bars (обсуждение | вклад) |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | [[Категория: | + | [[Категория:Типы объектов ГБ]] |
== Виды типов договоров == | == Виды типов договоров == | ||
Строка 13: | Строка 13: | ||
Каждое воздействие описывается 4 параметрами: | Каждое воздействие описывается 4 параметрами: | ||
* Момент воздействия | * Момент воздействия | ||
− | *: Определены следующие моменты воздействия договора: | + | *: '''Определены следующие моменты воздействия договора:''' |
** Изменение документа | ** Изменение документа | ||
** Отгрузка документов (группировка по партнеру) | ** Отгрузка документов (группировка по партнеру) | ||
Строка 27: | Строка 27: | ||
** Изменение цены товара | ** Изменение цены товара | ||
** Пользовательское | ** Пользовательское | ||
+ | ** Выбор склада | ||
* Условие - логическое выражение, при выполнении которого срабатывает воздействие. | * Условие - логическое выражение, при выполнении которого срабатывает воздействие. | ||
* Воздействие – определяет поведение системы при срабатывании условия. | * Воздействие – определяет поведение системы при срабатывании условия. | ||
− | *: Специфические функции для воздействий договоров: | + | *:'''Специфические функции для воздействий договоров:''' |
− | ** WARN | + | *:'''Общие''' |
− | ** DENY | + | ** [[WARN]] – выдает окошко для подтверждения действия |
− | ** | + | ** [[DENY]] – запрещает выполнение действия |
− | * Приоритет – у одного типа договора на один и тот же момент воздействия может быть определено несколько воздействий с разными приоритетами. | + | *: '''Функции для персональных цен:''' |
+ | ** [[DISCOUNT]] Задает скидку для товара | ||
+ | ** [[SETSPECIALPRICE]] Задает цену для товара | ||
+ | ** [[APPLYCONTRACTCONDITIONS]] Применяет скидки, отсрочку платежа и прайс-лист из договора | ||
+ | ** [[CONTRACTPARAM]] Получает значение из товарного наполнения договора | ||
+ | *: '''Функции для взаимодействия разных договоров:''' | ||
+ | ** [[BLOCKEFFECT]] Блокирует выполнение воздействия для заданного типа договора | ||
+ | ** [[APPLYNEXTEFFECT]] Принудительно осуществляет поиск и исполнение воздействий того же типа | ||
+ | * Приоритет – у одного типа договора на один и тот же момент воздействия может быть определено несколько воздействий с разными приоритетами. Правила их совместной работы: | ||
+ | ** Если ни в одном типе договоров нет воздействия с функцией [[BLOCKEFFECT]], то срабатывает только одно воздействие с максимальным приоритетом, и для вызова следующего по порядку нужно вызвать функцию [[APPLYNEXTEFFECT]]. Данный режим сохранен только для совместимости, мы настоятельно не рекоммендуем его использовать | ||
+ | ** Если хотя бы в одном типе договора есть воздействие с функцией [[BLOCKEFFECT]] (в установках, где это не требуется, настоятельно рекоммендуется добавить фальшивое воздействие с условеим 0!), то срабатывают все воздействия в порядке убывания приоритета, и пропускаются те, выполнение которых было заблокировано вызовом [[BLOCKEFFECT]]. | ||
− | + | == Пример совместной работы воздействий == | |
− | + | Предположим, нам нужно запретить продажу товаров из определенной группы всем покупателям, не имеющим лицензии. | |
− | + | Такой запрет делается при помощи двух типов договоров: | |
− | |||
− | |||
− | |||
− | + | 1. Запрет продажи без лицензии, системный | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Id=Z | ||
+ | |||
+ | Воздействие: | ||
+ | {| class="wikitable" | ||
+ | ! Момент !! Условие !! Воздействие !! Приоритет | ||
+ | |- | ||
+ | | Выбор товара || ''Проверка принадлежности товара папке'' || DENY(`Запрещена отгрузка без лицензии`) || 1 | ||
+ | |} | ||
+ | |||
+ | Создается 1 договор данного типа на партнера 0 (тип договора, закладка "Общие договора") - таким образом, этот договор будет действовать для всех партнеров. | ||
+ | |||
+ | 2. Лицензия, системный или нет - в зависимости от того, хотим ли мы его выбирать в документе. | ||
+ | |||
+ | Воздействие: | ||
+ | {| class="wikitable" | ||
+ | ! Момент !! Условие !! Воздействие !! Приоритет | ||
+ | |- | ||
+ | | Выбор товара || ''Проверка принадлежности товара папке'' || BLOCKEFFECT(Z) || 2 | ||
+ | |} | ||
+ | |||
+ | Создается для каждого партнера, которому нужно разрешить отгрузку. Поскольку приоритет 2>1, то воздействие выполнится первым и заблокирует запрет выписки | ||
+ | |||
+ | == Персональные цены == | ||
При помощи воздействий договоров реализуются системы [[Персональные цены|персональных цен и скидок]] | При помощи воздействий договоров реализуются системы [[Персональные цены|персональных цен и скидок]] |
Текущая версия на 08:28, 31 марта 2010
Содержание
Виды типов договоров
Типы договоров делятся на системные и несистемные, за это отвечает свойство System в типе договора.
Договор системного типа не нужно выбирать на документе, он будет работать всегда. Договор обычного типа (не системного) обязательно должен быть выбран в документе в поле Contract.
С каждым партнером может быть связан набор договоров, некоторые из которых могут быть системными. Для любых типов договоров можно определять управляющие воздействия, которые могут изменять процесс работы с документами. При наличии действующего системного договора (на дату документа) нельзя изменять партнера.
Воздействия
Каждое воздействие описывается 4 параметрами:
- Момент воздействия
- Определены следующие моменты воздействия договора:
- Изменение документа
- Отгрузка документов (группировка по партнеру)
- Выбор товара
- Выбор партнера
- Выбор договора
- Поиск товара
- Открытие документа
- Управляющее воздействие для модемного сервера
- Отгрузка документа
- Изменение количества товара
- Отгрузка документа (проверка товаров)
- Изменение цены товара
- Пользовательское
- Выбор склада
- Условие - логическое выражение, при выполнении которого срабатывает воздействие.
- Воздействие – определяет поведение системы при срабатывании условия.
- Специфические функции для воздействий договоров:
- Общие
- Функции для персональных цен:
- DISCOUNT Задает скидку для товара
- SETSPECIALPRICE Задает цену для товара
- APPLYCONTRACTCONDITIONS Применяет скидки, отсрочку платежа и прайс-лист из договора
- CONTRACTPARAM Получает значение из товарного наполнения договора
- Функции для взаимодействия разных договоров:
- BLOCKEFFECT Блокирует выполнение воздействия для заданного типа договора
- APPLYNEXTEFFECT Принудительно осуществляет поиск и исполнение воздействий того же типа
- Приоритет – у одного типа договора на один и тот же момент воздействия может быть определено несколько воздействий с разными приоритетами. Правила их совместной работы:
- Если ни в одном типе договоров нет воздействия с функцией BLOCKEFFECT, то срабатывает только одно воздействие с максимальным приоритетом, и для вызова следующего по порядку нужно вызвать функцию APPLYNEXTEFFECT. Данный режим сохранен только для совместимости, мы настоятельно не рекоммендуем его использовать
- Если хотя бы в одном типе договора есть воздействие с функцией BLOCKEFFECT (в установках, где это не требуется, настоятельно рекоммендуется добавить фальшивое воздействие с условеим 0!), то срабатывают все воздействия в порядке убывания приоритета, и пропускаются те, выполнение которых было заблокировано вызовом BLOCKEFFECT.
Пример совместной работы воздействий
Предположим, нам нужно запретить продажу товаров из определенной группы всем покупателям, не имеющим лицензии. Такой запрет делается при помощи двух типов договоров:
1. Запрет продажи без лицензии, системный
Id=Z
Воздействие:
Момент | Условие | Воздействие | Приоритет |
---|---|---|---|
Выбор товара | Проверка принадлежности товара папке | DENY(`Запрещена отгрузка без лицензии`) | 1 |
Создается 1 договор данного типа на партнера 0 (тип договора, закладка "Общие договора") - таким образом, этот договор будет действовать для всех партнеров.
2. Лицензия, системный или нет - в зависимости от того, хотим ли мы его выбирать в документе.
Воздействие:
Момент | Условие | Воздействие | Приоритет |
---|---|---|---|
Выбор товара | Проверка принадлежности товара папке | BLOCKEFFECT(Z) | 2 |
Создается для каждого партнера, которому нужно разрешить отгрузку. Поскольку приоритет 2>1, то воздействие выполнится первым и заблокирует запрет выписки
Персональные цены
При помощи воздействий договоров реализуются системы персональных цен и скидок