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

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




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Как автоматически создать инфо-тип со специфическим кодом функции? Нужно создать ИТ 0416.
СообщениеДобавлено: Чт, янв 24 2008, 09:31 
Ассистент
Ассистент

Зарегистрирован:
Пт, сен 01 2006, 16:41
Сообщения: 37
Необходимо при увольнении сотрудника создать ИТ 0416 и компенсировать все неиспользованные лимиты подлежащие компенсации - кнопочка "компенсировать все". Т.е. использовать код функции инициировавшей PAI - ALLCOMPENS?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 24 2008, 12:04 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
ИМХО либо ФМ искать, либо запускать бизнес-логику инфотипа, подсовывая ей на вход нужные параметры.

Второй способ надо дополнительно "исследовать", но вполне вероятно, что он подойдет. Подробнее см. de-coupling - разделение бизнес логики и представления данных в инфотипах.

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 24 2008, 13:24 
Начинающий
Начинающий

Зарегистрирован:
Пт, янв 11 2008, 16:36
Сообщения: 7
Попробуйте INCLUDE ZXPADU02.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 24 2008, 13:39 
Ассистент
Ассистент

Зарегистрирован:
Пт, сен 01 2006, 16:41
Сообщения: 37
Bully написал(а):
ИМХО либо ФМ искать, либо запускать бизнес-логику инфотипа, подсовывая ей на вход нужные параметры.

Второй способ надо дополнительно "исследовать", но вполне вероятно, что он подойдет. Подробнее см. de-coupling - разделение бизнес логики и представления данных в инфотипах.


Спасибо! Одним ФМ скорее всего не отделаюсь, help буду смотреть!

INCLUDE ZXPADU02 м.б. можно будет задействовать, но вопрос все тот же - каким образом создать этот ИТ. Где выставить параметр ALLCOMPENS при его создании?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 24 2008, 17:06 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, сен 13 2007, 09:44
Сообщения: 256
tartan написал(а):
Bully написал(а):
ИМХО либо ФМ искать, либо запускать бизнес-логику инфотипа, подсовывая ей на вход нужные параметры.

Второй способ надо дополнительно "исследовать", но вполне вероятно, что он подойдет. Подробнее см. de-coupling - разделение бизнес логики и представления данных в инфотипах.


Спасибо! Одним ФМ скорее всего не отделаюсь, help буду смотреть!

INCLUDE ZXPADU02 м.б. можно будет задействовать, но вопрос все тот же - каким образом создать этот ИТ. Где выставить параметр ALLCOMPENS при его создании?

Я не совсем понимаю проблему. Юзера после нажатия кнопки создания инфотипа ломает надать еще одну кнопку компенсации?
Если так, то инклуд ZXPADU02 не поможет - он работает c PAI логикой.
Нужно писать PBO логику в ZXPADU01.
Передать команду можно так
Code:
sy-ucomm = 'Код'.

выйти из PBO логики и пойти сразу на PAI с обработкой команды
Code:
SUPPRESS DIALOG.

Ну и естественно это надо все обернуть проверками, чтобы не зациклиться.
Да и ZXPADU01 не очень удачное место, так как он расположен в начале PBO инфотипов. По идее в нем тогда придется повторить всю логику, которая идет после перед вызовом SUPPRESS DIALOG.
Попробуйте это написать в проге работающей с расширением инфотипа T582C.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 25 2008, 14:01 
Ассистент
Ассистент

Зарегистрирован:
Пт, сен 01 2006, 16:41
Сообщения: 37
Цитата:
Я не совсем понимаю проблему. Юзера после нажатия кнопки создания инфотипа ломает надать еще одну кнопку компенсации?

Дело в том, что при увольнении сотрудника мы хотим расчитывать компенсацию автоматически используя, например, динамические мероприятия.

Цитата:
Нужно писать PBO логику в ZXPADU01.
Передать команду можно так Код:
Code:
sy-ucomm = 'Код'.

Прописал здесь код
Code:
sy-ucomm = allcompens

Цитата:
выйти из PBO логики и пойти сразу на PAI с обработкой команды
Code:
SUPPRESS DIALOG.

Это где, в ZXPADU02? Но я после ZXPADU01 в ZXPADU02 не попадаю.
Как пойти в PAI?

Но даже после подавления диалога при создании ИТ через динамические мероприятия меня вываливает в ИТ и требует выбрать правило компенсации. Хотя в переменной sy-ucomm стоит значение ALLCOMPENS.

В модуле PAI есть код:
Code:
IF FCODE = COMPENS_ALL

Сейчас при попытке автоматического зоздания ИТ переменная FCODE пустая, переменная COMPENS_ALL = ALLCOMPENS.
После нажатия кнопки "Компенсировать все" переменная FCODE = ALLCOMPENS, COMPENS_ALL = ALLCOMPENS. Т.е. нужно как-то в FCODE поместить значение ALLCOMPENS.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 25 2008, 15:54 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, сен 13 2007, 09:44
Сообщения: 256
tartan написал(а):
Дело в том, что при увольнении сотрудника мы хотим расчитывать компенсацию автоматически используя, например, динамические мероприятия.

Так и пишите процедуру по созданию записей 0416 и добавляйте ее в динамические мероприятия. Это гораздо проще.

SUPPRESS DIALOG нужно ставить только в PBO логику (посмотрите help), то есть в ZXPADU01.
Если проверяется fcode в PAI, то устанавливайте значение fcode = ALLCOMPENS. После SUPPRESS DIALOG управление уходит в PAI логику экрана и в какой-то момент должно прийти на ZXPADU02, если не прервется по ошибке ранее.
А так как SUPPRESS DIALOG стоит в начале PBO логики экрана, то пропущена вся важная часть PBO логики экрана. И поэтому естественно до ZXPADU02 не доходит, ломается ранее.
Вообще в PAI никакй доплогики писать не надо, если нужна стандартная обработка кода ALLCOMPENS.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 25 2008, 17:00 
Ассистент
Ассистент

Зарегистрирован:
Пт, сен 01 2006, 16:41
Сообщения: 37
Murzik написал(а):
Цитата:
Так и пишите процедуру по созданию записей 0416 и добавляйте ее в динамические мероприятия. Это гораздо проще.

Спасибо за ответы!
Так вопрос и состоит в том как написать процедуру фонового создания этого ИТ в динамических мероприятиях с кодом функции ALLCOMPENS. Как вариант буду рассматривать пакетный ввод.
Хотя хотелось обойтись без пакетника.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 25 2008, 18:14 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, сен 13 2007, 09:44
Сообщения: 256
tartan написал(а):
Murzik написал(а):
Цитата:
Так и пишите процедуру по созданию записей 0416 и добавляйте ее в динамические мероприятия. Это гораздо проще.

Спасибо за ответы!
Так вопрос и состоит в том как написать процедуру фонового создания этого ИТ в динамических мероприятиях с кодом функции ALLCOMPENS. Как вариант буду рассматривать пакетный ввод.
Хотя хотелось обойтись без пакетника.

С динамических мероприятиями есть два варианта.
1) Написать свою программу и вызвать ее из динамического мероприятия. Здесь никакого кода не надо передавать вообще.
2) Вызвать создание инфотипа 0416 из динамического мероприятия.
Как передать код и уйти в PAI логику я написал. Осталось в экзитах это обернуть в правильный код.
Код ALLCOMPENS (и любой другой) из динамического мероприятия не передается!
Никакого пакетника не надо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 30 2008, 11:51 
Ассистент
Ассистент

Зарегистрирован:
Пт, сен 01 2006, 16:41
Сообщения: 37
Цитата:
2) Вызвать создание инфотипа 0416 из динамического мероприятия.

Вызываю создание из динамического мероприятия с подавлением вывода на экран, передаю код, все компенсируется. Но теперь проблема - ИТ выводится на экран и нужно просто сохранить вручную.
Как подавить вывод на экран и сохранить автоматически?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 30 2008, 19:40 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, сен 13 2007, 09:44
Сообщения: 256
tartan написал(а):
Вызываю создание из динамического мероприятия с подавлением вывода на экран, передаю код, все компенсируется. Но теперь проблема - ИТ выводится на экран и нужно просто сохранить вручную.
Как подавить вывод на экран и сохранить автоматически?

Как это с подавлением, но выводится :?:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 31 2008, 07:12 
Специалист
Специалист

Зарегистрирован:
Вт, июл 31 2007, 09:35
Сообщения: 161
tartan написал(а):
Цитата:
2) Вызвать создание инфотипа 0416 из динамического мероприятия.

Как подавить вывод на экран и сохранить автоматически?

Enter an indicator which defines whether the step is to be run in the background.
I INS,19,01/D
Step: Create a Dates record, subtype 01, run in the background


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 31 2008, 09:14 
Ассистент
Ассистент

Зарегистрирован:
Пт, сен 01 2006, 16:41
Сообщения: 37
Ага, именно с подавлением (/D) и выводится :(
В отладке полю PSPAR-SUPDG присвоено значение D.


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

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


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

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


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

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