Текущее время: Вт, мар 19 2024, 10:22

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


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


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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Как работает пересчет курсов в MIRO при фактурировании в иностранной валюте - для FAQ
СообщениеДобавлено: Пн, фев 03 2014, 15:16 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4840
Откуда: Москва
Пол: Мужской
Сегодня в очередной раз просидел полдня с отладчиком, чтобы разобраться как работает пересчет курс валют в MIRO.
Тема довольно универсальная, так что решил написать этот топик и внести его в FAQ.

1. Если в заказе стоит галку "курс фиксирован", то курс копируется в MIRO из заказа

2. Если галка "курс фиксирован" в заказе не стоит, то курс в MIRO в стандарте определяется по дате из поля "дата проводки", но можно поменять эту логику на поле "дату документа" в badi FI_TRANS_DATE_DERIVE.

3. После того, как заказ указан, поле "курс" на закладке "подробно" становится серым и поменять его уже нельзя.
Тем не менее, ввести курс в MIRO вручную можно, для этого ДО ввода номера заказа нужно на закладке "БазДанные" ввести код валюты, перейти на закладку "подробно" и ввести курс.

4. После того, как заказ уже введен, курс в MIRO фиксируется.
Никакие изменения влияющих на него полей (даты проводки или даты счета) на курс уже не повлияют!
Эта ситуация непрозрачна для пользователей, поэтому выработалось такое решение - после ввода ссылки на заказ делать серым поле с датой в неявной точке расширения (инклюд LFDCBFM0, конец FORM modify_screen_header_fields)
Code:
  FIELD-SYMBOLS: <drseg> type mmcr_drseg.
  assign ('(SAPLMR1M)YDRSEG') to <drseg>.
  if <drseg>-ebeln is not initial.
    if (ваши условия срабатывания)
      LOOP AT SCREEN.
        if screen-name = 'INVFO-BLDAT'.
          screen-input = 0.
          MODIFY SCREEN.
        endif.
      ENDLOOP.
    endif.
  endif.


5. И, наконец, просто ошибка в логике стандарта.
Допустим, пользователь ошибся с вводом нужной даты, понял это уже после ввода ссылки на заказ (посмотрев на курс на закладке "подробно") и хочет исправить ситуацию, то есть такой тестовый сценарий:
а. укажем в MIRO дата проводки = дата1, введем ссылку на заказ
б. сотрем ссылку на заказ, нажмем enter
в. меняем дату проводки на дату2 и снова вводим ссылку на заказ.

В результате подтянется курс вовсе не на новую дату2, а все на ту же дату1 (!)
Лечим так (точка расширения в инклюде LMR1MF6J, начало FORM po_data_reset)
Code:
*Если в MIRO ввести номер заказа, а потом стереть его, то после этого
*изменения в дате документа не приведут к пересчету курса валюты при повторном вводе номера заказа.

*причина в том, что дата пересчета остается в глобальной памяти в (SAPLFDCB)BKPF-WWERT и
*при ссылке в MIRO на новый заказ это поле является приоритеным по сравнению с стандартной логикой определения.
*то есть сначала в LMR1MF6P MOVE_DATA_TO_FI вызывается MM_VENDOR_DIALOG_COMP_IMPORT который читает дату пересчета из SAPLFDCB(BKPF-WWERT)
*а уж потом ФМ MRM_PO_HEADER_CHECK вызывает ФМ FI_CURRENCY_CHECK, который переопределяет дату пересчета курса в badi FI_TRANS_DATE_DERIVE,
*но только если на входе она пустая, а она уже не пустая.

*лечим:
  FIELD-SYMBOLS <wwert> type bkpf-wwert.
  assign ('(SAPLFDCB)BKPF-WWERT') to <wwert>.
  if sy-subrc = 0.
    clear <wwert>.
  endif.


Дополнения и исправления приветствуются!

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как работает пересчет курсов в MIRO при фактурирвоании в иностранной валюте - для FAQ
СообщениеДобавлено: Пт, фев 07 2014, 09:22 
Администратор
Администратор
Аватара пользователя

Зарегистрирован:
Пн, авг 16 2004, 21:27
Сообщения: 4364
Откуда: Москва
Пол: Мужской
Круто, спасибо. Помню, сам с этими курсами мучился, когда полномасштабный ММ внедрял :) давненько уже, правда.

_________________
С уважением,
Admin
e-mail: admin @ sapforum.ru


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как работает пересчет курсов в MIRO при фактурирвоании в иностранной валюте - для FAQ
СообщениеДобавлено: Вс, фев 09 2014, 23:25 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, май 07 2007, 09:44
Сообщения: 408
Как раз не давно опытным путем наткнулись на п.3.
Юзеру нужно было провести MIRO с фиксированным курсом. И ему вместо того, чтобы завести курс в заказе (в заказе поле в заголовке, а фактурировалась только одна позиция) предложили сначала ввести курс в открытое поле, а потом уже выбрать заказ.
Все было хорошо, пока этот счет не решили сторнировать. В документе сторно курс определился не из первичного документа, а из даты проводки.
В результате рублевый эквивалент в первичном документе 1000 руб. А в сторно 1010 руб.
Ваш метод исправления "лечит" эту проблему?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как работает пересчет курсов в MIRO при фактурирвоании в иностранной валюте - для FAQ
СообщениеДобавлено: Пн, фев 10 2014, 12:28 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4840
Откуда: Москва
Пол: Мужской
CrecerRu, то чем вы пишите - это отдельные "грабли".

Сейчас нет времени проверить, но если при сторнировании фактуры MIRO действительно курс подтягивается не из сторнируемого документа, а просто на дату, то я бы выставил сообщение в SAP.

Мне кажется, это совсем очевидно некорректное поведение системы.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как работает пересчет курсов в MIRO при фактурировании в иностранной валюте - для FAQ
СообщениеДобавлено: Чт, окт 15 2015, 16:24 
Модератор
Модератор
Аватара пользователя

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

Если делаем доп.дебетование к заказу, по которому нет запаса, то система делает проводку по счету отклонений.
И если делается проводка в валюте (например в USD, а валюта БЕ - RUB), и при этом для самого счета отклонений не настроены проводки в валюте - то будет сообщение SG105 - "Введите курс RUB/USD - тип курса М для (дата) в системной настройке". Неочевидно :)

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как работает пересчет курсов в MIRO при фактурировании в иностранной валюте - для FAQ
СообщениеДобавлено: Ср, янв 30 2019, 17:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
По п.5 1700942 - Exchange rate cannot be changed as changing the posting date during logistics invoice verification

Если ничего не помогает можно сэнхансить READ_EXCHANGE_RATE (это вам от эфайщиков подгон :mrgreen: )

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как работает пересчет курсов в MIRO при фактурировании в иностранной валюте - для FAQ
СообщениеДобавлено: Пн, окт 31 2022, 17:11 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, окт 04 2016, 18:36
Сообщения: 261
Коллеги, подскажите пожалуйста следующий момент
По поводу сообщения SG105 - "Введите курс CNY/USD - тип курса М для (дата) в системной настройке"

Делаю MIRO доп дебетование к заказу на поставку. Заказ в CNY, МИРО в USD. И при сохранении вылезает эта ошибка, при этом не понятно почему. Курса такого действительно в системе нет, однако можно ли как-то обойти эту ситуацию, т.к. курс то вводится в MIRO напрямую как вариант, и все.
Был ли опыт отключения этого сообщения, или подобный опыт?

Курс ввести бы не хотелось, т.к. возможно это повлияет на некоторые процессы, которые все надо перетестировать.


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

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


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

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


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

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