Текущее время: Ср, апр 24 2024, 14:13

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


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


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



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

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
Сегодня в очередной раз просидел полдня с отладчиком, чтобы разобраться как работает пересчет курс валют в 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
Сообщения: 4370
Откуда: Москва
Пол: Мужской
Круто, спасибо. Помню, сам с этими курсами мучился, когда полномасштабный ММ внедрял :) давненько уже, правда.

_________________
С уважением,
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
Сообщения: 4842
Откуда: Москва
Пол: Мужской
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 часа


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

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


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

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