Текущее время: Вт, июл 22 2025, 21:10

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


Правила форума


Вопросы по ППМ (MRP) - сюда.
Вопросы по классификации - сюда.
Вопросы по входящим поставкам - сюда.



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Изменение полей в заказе на поставку после деблокирования
СообщениеДобавлено: Вт, май 22 2012, 11:17 
Ассистент
Ассистент

Зарегистрирован:
Пт, авг 19 2011, 08:19
Сообщения: 25
Добрый день!

Есть такая задача - после деблокирования заказа на поставку необходимо, чтобы поле "Дата поставки" становилось закрытым от изменений.
подскажите, пожалуйста, как это реализовать?

заранее спасибо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение полей в заказе на поставку после деблокирования
СообщениеДобавлено: Вт, май 22 2012, 12:45 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Чт, май 19 2005, 12:34
Сообщения: 1941
Откуда: НК
Пол: Мужской
BAdI ME_PROCESS_PO_CUST, метод FIELDSELECTION_ITEM

_________________
Eritis sicut Deus, scientes bonum et malum...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение полей в заказе на поставку после деблокирования
СообщениеДобавлено: Вт, май 22 2012, 12:55 
Ассистент
Ассистент

Зарегистрирован:
Пт, авг 19 2011, 08:19
Сообщения: 25
спасибо. значит, стандартными настройками никак...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение полей в заказе на поставку после деблокирования
СообщениеДобавлено: Ср, май 23 2012, 14:51 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, фев 04 2010, 15:46
Сообщения: 80
Добрый день. Появилась похожая задача. К сожалению данный BADI только для полей клиента, а вот для стандартных полей он не подходит. Может кто знает другой BADI или какой другой инструмент?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Изменение полей в заказе на поставку после деблокирования
СообщениеДобавлено: Чт, май 24 2012, 08:47 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Чт, май 19 2005, 12:34
Сообщения: 1941
Откуда: НК
Пол: Мужской
тогда FIELDSELECTION_ITEM_REFKEYS
вы погуглите, на SDN даже примеры внедрения есть

_________________
Eritis sicut Deus, scientes bonum et malum...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение полей в заказе на поставку после деблокирования
СообщениеДобавлено: Чт, май 24 2012, 12:30 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, фев 04 2010, 15:46
Сообщения: 80
Дело не в методе, а в BADI. ME_PROCESS_PO_CUST только для работы с полями, созданными дополнительно. Поэтому в CH_FIELDSELECTION попадают только пользовательские поля. Зато можно использовать ME_PROCESS_PO, хотя он только и для внутр. использования. Но если очень надо... :wink:
Однако, не все получилось. На экране просмотра позиций поле удалось закрыть для редактирования. А вот на экране подробного просмотра позиции закрыть пока не получилось. Хотя значение metafield для них одно и то же


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Изменение полей в заказе на поставку после деблокирования
СообщениеДобавлено: Чт, май 24 2012, 15:54 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Чт, май 19 2005, 12:34
Сообщения: 1941
Откуда: НК
Пол: Мужской
anton_bs написал(а):
ME_PROCESS_PO_CUST только для работы с полями, созданными дополнительно

ересь.
давно и успешно используем этот BAdI для работы

_________________
Eritis sicut Deus, scientes bonum et malum...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение полей в заказе на поставку после деблокирования
СообщениеДобавлено: Чт, май 24 2012, 16:01 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, фев 04 2010, 15:46
Сообщения: 80
Это я сам видел. Вот кусок кода, перед вызовом метода FIELDSELECTION_ITEM в ФМ MEPOBADI_FS_ITEM:
Code:
  if not l_instance_cust is initial.
* firewall
    loop at ch_fieldselection assigning <fs1> where metafield ge mmmfd_cust_01.
      insert <fs1> into table lt_fieldselection.
    endloop.
    if sy-subrc is initial.
      call method l_instance_cust->fieldselection_item
        exporting
          im_header         = im_header
          im_item           = im_item
        changing
          ch_fieldselection = lt_fieldselection.
...

Из которого видно, что в ME_PROCESS_PO_CUST будут обрабатываться только поля пользователя...

Можете сами попробовать изменить опции поля, например даты поставки, в BADI ME_PROCESS_PO_CUST. Я думаю ничего у вас не выйдет.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Изменение полей в заказе на поставку после деблокирования
СообщениеДобавлено: Чт, май 24 2012, 16:17 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Чт, май 19 2005, 12:34
Сообщения: 1941
Откуда: НК
Пол: Мужской
Code:
METHOD if_ex_me_process_po_cust~fieldselection_item_refkeys.
  DATA: header TYPE REF TO if_purchase_order_mm
            ,ls_mepoheader TYPE mepoheader
            .
  header = im_item->get_header( ).
  ls_mepoheader = header->get_data( ).
  IF ls_mepoheader-frgrl = ''.
    ch_key6 = 'ZZZZ'. "ключ кода выбора полей
  ENDIF.
ENDMETHOD.

_________________
Eritis sicut Deus, scientes bonum et malum...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изменение полей в заказе на поставку после деблокирования
СообщениеДобавлено: Чт, май 24 2012, 16:53 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, фев 04 2010, 15:46
Сообщения: 80
Да, дествительно так можно.
Но все равно почему-то поле стало серым только на экране просмотра позиций, а на экране подробной инфы позиции оно осталось доступно для измененеия.
Изображение


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Изменение полей в заказе на поставку после деблокирования
СообщениеДобавлено: Пт, май 25 2012, 08:38 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Чт, май 19 2005, 12:34
Сообщения: 1941
Откуда: НК
Пол: Мужской
в общем-то я код для примера привел.

в заказе дата не как в заявках ставится, напрямую в позиции. она из графика поставок тянется.
я бы в PROCESS_ITEM или PROCESS_SCHEDULE, если FRGRL = '', при любом изменении meposchedule-eeind выдавал сообщение, что нельзя менять и делал SET_DATA, ставя старое значение назад.
или даже в CHECK можно проверять и выдавать сообщение об ошибке.
собственно вариантов уйма. нужно только знание возможностей данного BAdI.

_________________
Eritis sicut Deus, scientes bonum et malum...


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

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


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

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


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

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