Текущее время: Чт, июл 24 2025, 07:01

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Определение даты в правиле расчёта
СообщениеДобавлено: Пн, сен 17 2012, 22:06 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 17 2012, 21:38
Сообщения: 64
Добрый день!
Подскажите пожалуйста, какой операцией в правиле расчёта ЗП можно узнать дату возникновения вида оплаты? (Желательно отдельно день, отдельно месяц, отдельно год).
То есть, например, чтобы можно было ввести ВО и, в зависимости от того до 15 числа введён этот ВО или после, обрабатывать по разным веткам.
Поиск не помог) Заранее спасибо!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Определение даты в правиле расчёта
СообщениеДобавлено: Вт, сен 18 2012, 07:58 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, ноя 07 2006, 10:12
Сообщения: 1194
Откуда: Москва
Пол: Мужской
А можно подробнее описать бизнес-ситуацию когда это необходимо сделать?

_________________
С уважением, Р.В. Величко


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение даты в правиле расчёта
СообщениеДобавлено: Вт, сен 18 2012, 08:03 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
Вообще, если ВО уже находится где-нибудть в таблицах IT/RT, то дату узнать нельзя. Можно определелить дату в момент загрузки записи из ИТ. Раз речь идет о конкретной дате, то подразумевается ИТ0015. В функции P0015 добраться до даты можно например так
Code:
TABLE 0015
RTE=BBEGDA
в результате в RTE будет лежать дата начала действия. Проблема в том, что дата хранится во внутреннем формате - коль-во дней с определенной даты, поэтому просто так на 15 число месяца не проверишь.
Тут два пути, либо сделать самодельную операцию для работы с частями даты. Стандартную такую я так и не нашел.
Либо каким-то образом сформировать дату 01 числа месяца и вычесть ее из предпологаемой даты. Хороший кандидант на это поле aper-PBEGD - первая дата месяца периода расчета. Даже если это первый месяц после приема, и приме выполнен не с первного числа, там будет первое число месяца.
Вот такая последовательность может дать искомый результат
Code:
TABLE 0015
RTE=BBEGDA
TABLEAPER
RTE-BPBEGD
RTE+1
RTE?15
< ...
* ...

Напомню, что это , будет работать в функции P0015.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение даты в правиле расчёта
СообщениеДобавлено: Вт, сен 18 2012, 09:16 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 17 2012, 21:38
Сообщения: 64
to metha: Мне это нужно не совсем для какой-то определённой бизнес-задачи, а скорее для обучения, так как совсем недавно начал осваивать САП...
Мысль сделать такую задачу (ничего общего с реальной жизнью она не имеет, но, по-моему, довольно интересная и необычная): в 0015 ИТ сделать свой вид оплаты на выдачу денег за рождение ребёнка. В этот вид оплаты в поле АМТ вносится "код пола ребёнка" (например 1 это мальчик, -1 девочка). Дата создания вида оплаты - день рождения ребёнка (в случае, если в этом периоде уже произведён расчёт ЗП, сделать перерасчёт, это не страшно).
А сумму начисления прописать в правиле расчёта для этого ВО так, чтобы она зависела от пола ребёнка (это не сложно) и от его знака зодиака (это сложно=))
То есть, например, за мальчика козерога давать 10к рублей, за девочку водолея - 5к и т.д.)
Извините, что отвлекаю такой глупой идеей, но правда интересно, можно ли так сделать...)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Определение даты в правиле расчёта
СообщениеДобавлено: Вт, сен 18 2012, 09:19 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, ноя 07 2006, 10:12
Сообщения: 1194
Откуда: Москва
Пол: Мужской
Прикольная тема :-)) но может тогда стоит обратиться к модулю CM? Менеджмент вознаграждений так как твои доплаты и есть чистые вознаграждения от соответствующих параметров... имхо это будет лучше чем мудрить с правилами в ЗП

_________________
С уважением, Р.В. Величко


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение даты в правиле расчёта
СообщениеДобавлено: Вт, сен 18 2012, 09:22 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 17 2012, 21:38
Сообщения: 64
to metha: Может и лучше, но просто я изучаю пока модуль PY)
С правилами мудрить готов, свободного времени - вагон!=)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Определение даты в правиле расчёта
СообщениеДобавлено: Вт, сен 18 2012, 09:41 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 17 2012, 21:38
Сообщения: 64
To RoustR
Пробовал, возникает такая ошибка "Таблица $ в операции TABLE не поддерживается T0015"
Пока не нашёл, как исправить...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Определение даты в правиле расчёта
СообщениеДобавлено: Вт, сен 18 2012, 11:22 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
Значит с синтаксисом ошибся, писал по памяти.
Замени TABLE 0015 на TABLEP0015


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение даты в правиле расчёта
СообщениеДобавлено: Вт, сен 18 2012, 13:40 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 17 2012, 21:38
Сообщения: 64
to RoustR
Не работает почему-то...
Каким бы числом я не заводил ВО, у меня после всех этих операций получается всегда RTE=20
Разбираюсь дальше.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Определение даты в правиле расчёта  Тема решена
СообщениеДобавлено: Ср, сен 19 2012, 07:17 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
2Ahiless.
Ты меня в смятение вводишь :)
Проверил, все отлично работает. Вот пример лога, запись в ИТ0015 введена на 25-е число
Code:
-U11      *            TABLEP0015
-U11      *            RTE=BBEGDA
-U11      *            TABLEAPER
-U11      *            RTE-BPBEGD
-U11      *            RTE+1
-U11      *            PRINT X
    Строка заголовка таблицы OT

A ВОпл ТекстВОп   APC1C2C3aBKoReBTAwvTvNЕднцСумма/ЕднцЧисло         Сумма

2 0210 Оплата по  01                           25,00
При изменении даты в Ит0015, результат соотвественно меняется.

Вопрос. Ты куда этот код вставил? Я не зря написал, что это будет работать только в функции P0015. В схеме это выглядит так
Code:
P0015 -U11 GEN  NOAB
Если твое правило вызывается в каком-нибудь PIT, то результат будет такой, как ты описал.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение даты в правиле расчёта
СообщениеДобавлено: Чт, сен 20 2012, 09:17 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 17 2012, 21:38
Сообщения: 64
to RoustR:
Спасибо огромное, всё работает как надо! Извини, что сразу не понял про Р0015, не хватает опыта)
Ну и для поиска: если кому интересно, то определить месяц/год создания ВО (он же период расчёта (перерасчёта) ЗП), то это можно сделать с помощью операции CMPER.
Например для сравнения месяца с февралём:
Code:
CMPER MM02
< ...
= ...
> ...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Определение даты в правиле расчёта
СообщениеДобавлено: Чт, сен 20 2012, 09:27 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
Ahiless написал(а):
определить месяц/год создания ВО (он же период расчёта (перерасчёта) ЗП), то это можно сделать с помощью операции CMPER[code]


CMPER определяет не месяц/год создания ВО , а параметры для-периода расчета. То есть, определяет месяц и год периода, за который производится расчет, и на основе этого строет условие для принятия решения.
Для ВО из ИТ0015 эти данные совпадут с датой действия ВО, для ВО из других ИТ - нет.


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

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


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

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


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

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