SAPфорум.RU
https://www.sapboard.ru/forum/

Закрыть изменение суммы в заказе при существовании последующих документов
https://www.sapboard.ru/forum/viewtopic.php?f=2&t=94203
Страница 1 из 1

Автор:  Лисенок [ Вт, дек 20 2016, 09:53 ]
Заголовок сообщения:  Закрыть изменение суммы в заказе при существовании последующих документов

Добрый день,

Необходимо ограничить внесение изменений в заказ, а именно в стоимость, если уже созданы поставки (ограничение на изменение количества сделали через вид сообщения, см. viewtopic.php?f=2&t=94114).
Подскажите, пожалуйста, как лучше это сделать: через настройки или через user-exit-ы, и какие?

Автор:  LKU [ Вт, дек 20 2016, 12:21 ]
Заголовок сообщения:  Re: Закрыть изменение суммы в заказе при существовании последующих документов

Я бы попробовал использовать badi ME_PROCESS_PO_CUST, метод FIELDSELECTION_ITEM_REFKEYS.
Там проверял нужные вам предусловия (наличие последующих документов) и подменял код выбора полей на тот, который используется в просмотре заказов (ME23).
Для пользователя будет выглядеть так, что он зашел в me22n, а заказ выглядит как в me23n - смотреть можно, менять - нет.

Автор:  DED_MOROZ [ Вт, дек 20 2016, 17:17 ]
Заголовок сообщения:  Re: Закрыть изменение суммы в заказе при существовании последующих документов

А решить данную задачу настройками не получится?
А именно:
Для типа позиции заказа установить правило исполнения "при первой ссылке".
Как только будет создана поставка к заказу на любое количество, то статус исполнения позиции заказа будет "исполнено" и, насколько помню, кнопка обновления цен в заказе будет неактивна.

Автор:  LKU [ Вт, дек 20 2016, 20:04 ]
Заголовок сообщения:  Re: Закрыть изменение суммы в заказе при существовании последующих документов

Упс, мне почему-то казалось, что вопрос про закупочные заказы, соответственно и ответ был про них.
Сорри, что запутал.

Автор:  Лисенок [ Ср, дек 21 2016, 09:35 ]
Заголовок сообщения:  Re: Закрыть изменение суммы в заказе при существовании последующих документов

DED_MOROZ, я попробовала сделать эту настройку, после чего меняла сумму и в старом заказе и во вновь созданном после настройки, ничего не поменялось, система дает вносить изменения (

Автор:  DED_MOROZ [ Ср, дек 21 2016, 10:28 ]
Заголовок сообщения:  Re: Закрыть изменение суммы в заказе при существовании последующих документов

После создания поставки статус исполнения позиции какой проставляется?

Автор:  Лисенок [ Ср, дек 21 2016, 14:19 ]
Заголовок сообщения:  Re: Закрыть изменение суммы в заказе при существовании последующих документов

смотрю по таблице VBUP-BESTA (подтверждено), стоит - C(полностью)
в статусе поставки (LFSTA) и общем статусе(LFGSA) поставки B-частично,
а в ссылочных статусах - А(не обработано)

Автор:  DED_MOROZ [ Чт, дек 22 2016, 11:47 ]
Заголовок сообщения:  Re: Закрыть изменение суммы в заказе при существовании последующих документов  Тема решена

Обманул, статус исполнения не влияет на запрет изменений стоимости позиции.

За закрытие этого поля отвечает следующий код:
Инклюд MV45AFFE_FELDAUSWAHL_STATUS.
Подпрограмма FELDAUSWAHL_STATUS.
Code:
    when 'KOMV '.
      da_help_menge = xvbapf-omenge - xvbapf-smenge.
      IF ( xvbup-fksaa = charc OR
           xvbup-fksaa = charb OR
         ( vbap-fkrel CA con_fkrel_liefer AND
           vbak-vbtyp CA vbtyp_reto AND
           da_help_menge NE 0 ) OR
         ( vbap-fkrel CA con_fkrel_liefer AND
           xvbapf-faklmeng NE 0 ) ) AND
           vbap-fkrel NE con_fkrel_fplan.
        screen-input = 0.
      ENDIF.


Другими словами, проверяется что либо статус фактурирования заказа = С или B(это для фактурируемых заказов), либо что отфактурированное кол-во не 0.

Закрыть поля на редактирование можно, в ЮЭ
MV45AFZZ
FORM USEREXIT_FIELD_MODIFICATION.

написав нужную предпосылку, в вашем случае статус создания поставки есть в VBUP( LFSTA, LFGSA).

Но этого будет мало, так как надо еще запретить изменение таблицы калькуляции(закладка условия)
Статусы полей этой закладки смотрите где то здесь LV69AO03, MODULE (PBO) FELDAUSWAHL.
Точка расширения тоже есть - LV69AFZZ, form userexit_field_modification.

Ну и кнопочку пересчета цен надо сделать серой, это уж сами найдете :)

Автор:  jh [ Чт, дек 22 2016, 14:16 ]
Заголовок сообщения:  Re: Закрыть изменение суммы в заказе при существовании последующих документов

По поводу закрытия от редактирование цен есть нота.

Автор:  Лисенок [ Чт, дек 22 2016, 15:50 ]
Заголовок сообщения:  Re: Закрыть изменение суммы в заказе при существовании последующих документов

Спасибо большое

Автор:  SDюк [ Пн, июн 19 2017, 16:11 ]
Заголовок сообщения:  Re: Закрыть изменение суммы в заказе при существовании последующих документов

jh написал:
По поводу закрытия от редактирование цен есть нота.


По каким ключевым словам искать ?

Автор:  jh [ Пн, июн 19 2017, 18:12 ]
Заголовок сообщения:  Re: Закрыть изменение суммы в заказе при существовании последующих документов

я имел в виду 105621, но там, похоже, тоже про field_modification, нет сейчас под рукой.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/