Текущее время: Пт, июл 25 2025, 18:46

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


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

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


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

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