Sapforum.Biz
Инструменты => ABAP - Инструментальные средства => SE37 - Построитель функций => Тема начата: Паганель от Июль 22, 2009, 12:03:42 pm
-
Возникла проблемка при создании перемещения запаса 301 ВД между двумя заводами в разных БЕ:
При проводке стоимость запаса уменьшается на сумму записанную в EXBWR - "Сумма проводки (внешний ввод) во внутренней валюте" (AMOUNT_LC тип BAPI_EXBWR)
Т.е. есть запас 10 шт. по 1 грн., стоимость запаса 10 грн. соответственно.
Делаем перемещение 1 шт. по цене 2 грн.
После проводки должна быть такая картина: к-в запаса 9 шт. стоимость запаса 9 грн.
В действительности получаем такую: к-в запаса 9 шт. стоимость 8 грн.
Самое интересно будет если отпустить к-во меньше 10, скажем 5, но сумму поставить 10 (стоимость запаса), тогда получим следующую картину: к-в запаса 5 шт. стоимость запаса 0 грн.
Это есть не правильно. Может кто сталкивался?
Пример кода:
" Данные для проводки 301 ВДв.
DATA: gm_header TYPE bapi2017_gm_head_01.
DATA: gm_items TYPE TABLE OF bapi2017_gm_item_create.
DATA: gm_items_l TYPE bapi2017_gm_item_create.
DATA: gm_summ TYPE mseg-dmbtr.
DATA: gm_return TYPE TABLE OF bapiret2,
gm_return_l TYPE bapiret2.
DATA: chk_gm TYPE char1.
......................
" Для проводки 301 Вдв
CLEAR gm_items_l.
gm_summ = ztransfersale_l-kolvo * ztransfersale_l-price / 1000.
gm_items_l-material = ztransfersale_l-wareid.
gm_items_l-plant = zwerks2.
gm_items_l-move_plant = zwerks1.
gm_items_l-move_stloc = lgort_in.
gm_items_l-stge_loc = lgort_out.
gm_items_l-move_type = '301'.
gm_items_l-entry_qnt = ztransfersale_l-kolvo.
gm_items_l-entry_uom = po_uom.
gm_items_l-entry_uom_iso = po_uom_iso.
gm_items_l-amount_lc = gm_summ. " <<<<<<< ===============
APPEND gm_items_l TO gm_items.
.................................................................................
TABLES: mkpf.
DATA: bapi_gm_code TYPE bapi2017_gm_code.
DATA: p_bwart LIKE mseg-bwart.
DATA: materialdocument LIKE bapi2017_gm_head_ret-mat_doc.
DATA: gm_code TYPE gm_code.
.....................................................................................
" Проводка движения материала
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = head
goodsmvt_code = bapi_gm_code
IMPORTING
materialdocument = materialdocument
TABLES
goodsmvt_item = items
return = return
EXCEPTIONS
OTHERS = 01.
-
Т.е. есть запас 10 шт. по 1 грн., стоимость запаса 10 грн. соответственно.
Делаем перемещение 1 шт. по цене 2 грн.
т.е. 1 штука списывается по цене 2 грв
В действительности получаем такую: к-в запаса 9 шт. стоимость 8 грн.
Слушай я конечно в отпуске, но если ты делаешь как ты пишешь списание 1 штука по цене 2 грв... то у тебя и должно остаться 9 штук по стоимости 8, ты же 1 штуку за 2 грв списал... правильно все.
-
т.е. 1 штука списывается по цене 2 грвСлушай я конечно в отпуске, но если ты делаешь как ты пишешь списание 1 штука по цене 2 грв... то у тебя и должно остаться 9 штук по стоимости 8, ты же 1 штуку за 2 грв списал... правильно все.
Нет, может я конечно ошибаюсь, но это поле как бы отвечает за стоимость продажи ....
-
Нет, может я конечно ошибаюсь, но это поле как бы отвечает за стоимость продажи ....
Это поле отвечает по какой стоимости ты хочешь отпустить запас... ты там можешь написать 2 штуки стоимость 5 грв, после чего у тебя на складе запас стане 8 штук, общая стоимость 5.
-
Это поле отвечает по какой стоимости ты хочешь отпустить запас... ты там можешь написать 2 штуки стоимость 5 грв, после чего у тебя на складе запас стане 8 штук, общая стоимость 5.
Только что попробывал использовать другое поле AMOUNT_SV - Продажная стоимость (внешний ввод) во внутренней валюте.
gm_items_l-AMOUNT_SV = 1,5. вместо gm_items_l-amount_lc = 1,5.
Запас списался по ССЦ, но нигде в проводках не засветилася сумма 1.5, и на принимаещем заводу запас оприходовался по цене 1.
-
Ну и зачем эти эксперименты... идем в бапишку смотрим на домены, идем в транзакцию отпуска и тоже смотрим на домены, думаю вопросы отпадут какое поле надо использовать и что система глубок пофиг какая сумма стоит в gm_items_l-AMOUNT_SV.
-
Ну смотрел, что за домен и поле - среди ночи подними - скажу .....
Т.е. куда бы не пихал - результат будет тот же - спишется либо по введенной сумме (и оприходуется по введенной) либо по себестоимости?
-
Ну смотрел, что за домен и поле - среди ночи подними - скажу .....
Т.е. куда бы не пихал - результат будет тот же - спишется либо по введенной сумме (и оприходуется по введенной) либо по себестоимости?
Если пихать куда не следует, последствия могут быть очень и очень не предсказуемые :D, это из жизни.. вообще если поле AMOUNT_LC не заполнено, то будет взята расчетная стоимость если в управлении ценой стоит V, в твоем случае ты сказал жестко, что сумма списания задается в транзакции, поэтому система и взяла ее. Другие поля тебе не помогут, но я изначально не понял а что ты хотел сделать то? Задать цену списания вместо суммы списания?
-
Опять не четко выразил что хочу. "Дурак - это тот кого никто не понимает"
Я хочу знать, как при перемещение 301 ВД между 2-мя заводами в разных БЕ, задать продажную стоимость, какое поле использовать......
-
Опять не четко выразил что хочу. "Дурак - это тот кого никто не понимает"
Я хочу знать, как при перемещение 301 ВД между 2-мя заводами, задать продажную стоимость, какое поле использовать......
Никак, так как это не продажа а перемещение. Рисуем на пальцах, цена продажи может быть выше себестоимости, т.е. складской цены? Отвечают может, ну само собой она может быть и ниже. Что в таком случае происходит, у тебя на складе есть 1 штука, цена и стоимость ее пусть будут 100 грв, ты ее перемещаешь по продажной стоимости в 120 грв и что у нас будет по кредиту счета склада на первом заводе? Было 100 кредит на 120, ага на складском счете остаток -20 грв, бухгалтера за это... могут и кое чего поприжать и больно как будет.. опять же на втором заводе оно типа должно по 120 оприходоваться, что тоже не ясно откуда взялись дополнительные 20 грв. Так что это у вас цепочка не правильная.
Читаем курс кажется SCM680 там как раз и будет как сделать продажу внутри завод-завод (БЕ-БЕ) в одной системе.
-
Никак, так как это не продажа а перемещение. Рисуем на пальцах, цена продажи может быть выше себестоимости, т.е. складской цены? Отвечают может, ну само собой она может быть и ниже. Что в таком случае происходит, у тебя на складе есть 1 штука, цена и стоимость ее пусть будут 100 грв, ты ее перемещаешь по продажной стоимости в 120 грв и что у нас будет по кредиту счета склада на первом заводе? Было 100 кредит на 120, ага на складском счете остаток -20 грв, бухгалтера за это... могут и кое чего поприжать и больно как будет.. опять же на втором заводе оно типа должно по 120 оприходоваться, что тоже не ясно откуда взялись дополнительные 20 грв. Так что это у вас цепочка не правильная.
Читаем курс кажется SCM680 там как раз и будет как сделать продажу внутри завод-завод (БЕ-БЕ) в одной системе.
Курс сейчас покурю.
А по поводу лишних 20 грн., так думаю что это нормально, никто же не продает по себестоимости......
Спасибо .....
-
А по поводу лишних 20 грн., так думаю что это нормально, никто же не продает по себестоимости......
Ну... я бы в присутствии бухгалтеров про правильно не говорил бы... поверь можно пострадать за минусовую сумму на складском счете... :D а вообще идем наверное изучаем основы бухучета ::)
-
Ну... я бы в присутствии бухгалтеров про правильно не говорил бы... поверь можно пострадать за минусовую сумму на складском счете... :D а вообще идем наверное изучаем основы бухучета ::)
Это с какой стороны смотреть, отпускать по себестоимости в другую БЕ ..... такого тоже никто не допустит...
-
Это с какой стороны смотреть, отпускать по себестоимости в другую БЕ ..... такого тоже никто не допустит...
Так, давай это... ты тихонько там сам с собой про недопустит :D потому что есть принципы бухучета и все что делается в FI оно вроде как не должно им противоречить. Так что изучаем матчасть, или что лучше находим знакомого бухгалтера который тебе за пару часов проведет ликбез, будет быстрее и намного полезнее чем самому с нуля вливаться в это дело.