Текущее время: Пн, июл 28 2025, 18:12

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Как написать правило?
СообщениеДобавлено: Пт, мар 04 2011, 20:23 
Ассистент
Ассистент

Зарегистрирован:
Пн, июл 09 2007, 15:40
Сообщения: 48
Коллеги, добрый день.
Ситуация следующая. Есть один вид оплаты ХХХХ без сплита по WPBP и второй YYYY соответственно со сплитом. Нужно для RTE вида оплаты ХХХХ получить разницу ХХХХ и YYYY. Если для YYYY убить сплит, то он суммирует RTE – ставка получается некорректная. Подскажите пжл, какие есть варианты.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать правило?
СообщениеДобавлено: Сб, мар 05 2011, 11:34 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
Вариантов - масса. Например, обработку "вешаем" на YYYY. (Предпологаем, что правило работает в PIT)

ADDWT * передали дальше исходный YYYY
ELIMI * сбросили ненужные сплиты
RTE- XXXX получили разницу YYYY-XXXX
RTE*-1 преобразовали разницу в XXXX-YYYY

Вот, в RTE нужную разницу получили. Что с ней делать дальше?

PS. Вот вариант, через ACTIO. Запускается через ACTION nnnn A (то есть для каждого сплита по WPBP)

ELIMI *
RTE= XXXX
RESET *
RTE- YYYY


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать правило?
СообщениеДобавлено: Сб, мар 05 2011, 13:44 
Ассистент
Ассистент

Зарегистрирован:
Пн, июл 09 2007, 15:40
Сообщения: 48
RTE- XXXX разве так можно? Как минимум нужно указать таблицу, иначе он вычитает просто цифру ХХХХ. Но даже если нам удалось вычитание, то разницу мы получим в RTE YYYY, а не XXXX. Причем если на входе было например 2 строчки по WPBP, то такое вычитание произойдет в каждой из них, а на выходе т.к. сплитов больше не будет он ещё эти две строчки и просуммирует.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать правило?
СообщениеДобавлено: Сб, мар 05 2011, 14:51 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, июн 01 2005, 09:40
Сообщения: 536
Откуда: Belgorod
Пол: Мужской
по моему просто при обработке XXXX сделать RTE-VAYYYY.

_________________
Новый этап на проекте - устранение доработок :).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать правило?
СообщениеДобавлено: Сб, мар 05 2011, 14:58 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
Цитата:
RTE- XXXX разве так можно?


RTE-[2пробела]XXXX - это получить значение из таблицы IT по виду оплат XXXX.

Цитата:
иначе он вычитает просто цифру ХХХХ

Это RTE-[1пробел]NNNNN.

Цитата:
Но даже если нам удалось вычитание, то разницу мы получим в RTE YYYY, а не XXXX
.
Нет, я просто получил запрошенную разницу. И моем примере это разница никуда не запишится, ни в YYYY, ни в XXXX. Я же написал -Что с ней делать дальше?

Цитата:
Причем если на входе было например 2 строчки по WPBP, то такое вычитание произойдет в каждой из них, а на выходе т.к. сплитов больше не будет он ещё эти две строчки и просуммирует.

Это у Вас постановка такая, она предпологает, что я в курсе Вашей задачи. Но это нет, поэтому я не решал Вашу задачу. Я просто показал как можно получить запрошенный результат.
В развитие могу предложить такой вариант - Есть 3 сплита по WPBP, по первому сплиту вида YYYY нет, по остальным есть, но в значение RTE в них разное. Вот и решите эту задачу, опираясь только на Вашу постановку.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать правило?
СообщениеДобавлено: Сб, мар 05 2011, 15:09 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
Вот пример для такой задачи.
Есть 2 сплита по WPBP. В IT есть две записи вида YYYY по каждому из сплиту по WPBP. Есть вид ХХХХ без сплита
Задача. В RTE ХХХХ заменить на разницу ХХХХ-YYYY (вероятно при этом допуская что в YYYY RTE одинаковые, либо не важно какой YYYY будем использовать).

Следующее правило для PIT делает это.

Обработка для вида ХХХХ.

WPALLFRST
RTE- YYYY " два пробела
ELIMI A
ADDWT *


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать правило?
СообщениеДобавлено: Ср, мар 09 2011, 14:41 
Ассистент
Ассистент

Зарегистрирован:
Пн, июл 09 2007, 15:40
Сообщения: 48
RoustR написал(а):
Вот пример для такой задачи.
Есть 2 сплита по WPBP. В IT есть две записи вида YYYY по каждому из сплиту по WPBP. Есть вид ХХХХ без сплита
Задача. В RTE ХХХХ заменить на разницу ХХХХ-YYYY (вероятно при этом допуская что в YYYY RTE одинаковые, либо не важно какой YYYY будем использовать).

Следующее правило для PIT делает это.

Обработка для вида ХХХХ.

WPALLFRST
RTE- YYYY " два пробела
ELIMI A
ADDWT *

Да, задача именно такая. Была идея с WPALL, но проблема в том, что YYYY не обязательно будет в первом или последнем сплите.

Брат Мигель написал:
по моему просто при обработке XXXX сделать RTE-VAYYYY.

Так тоже нехорошо, т.к. RTE YYYY вычитается столько раз, сколько сплитов на входе. Т.е. вход
YYYY 01 1000 5 5000
YYYY 02 1000 3 3000
XXXX 4000 1 4000
RTE-VAYYYY даст 2000 на выходе. А нужно чтобы было 3000.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать правило?
СообщениеДобавлено: Ср, мар 09 2011, 16:06 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
Всегда можете добавить переменную в VAR, по которой можно контролировать кол-во срабатываний.

Типа

AMT=& ZCNT
AMT?0
* "уже срабатывало
= AMT=1
= ADDWT&ZCNT
= AMT=*
= и т.д.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать правило?
СообщениеДобавлено: Пт, апр 01 2011, 15:43 
Ассистент
Ассистент

Зарегистрирован:
Пн, июл 09 2007, 15:40
Сообщения: 48
Использование VAR - хорошая идея.

Коллеги, спасибо за помощь!


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB