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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Ahrefs [Bot]


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

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