Автор Тема: Коммерческое закрытие заказов  (Прочитано 13134 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Коммерческое закрытие заказов
« : Октябрь 20, 2015, 11:11:59 am »
Доброго времени суток уважаемые ТОРО-вцы! При коммерческим закрытии заказов ТОРО, а происходит это обычно не чаще раза в год, а то и раз в два года, транзакцией iw38 на каждый заказ выходит предупреждающее сообщение о том Позиция заказа на поставку 4500000022 00010 заказа 4000001 еще без инд. окончат. счета. В общем то это 4500000022 заказ на поставку и в нём не стоит галочка окончат.счёта, но эту галочку в ручную пользователи не ставят, а автоматом она не ставится, т.к. перерасчётный счёт не создаёт проводку, но оное и не используется в общем в компании. Если галочку ставлю в ручную в заказе на поставку окончат.счёт, то предупреждающее сообщение при коммерческим закрытии заказа ТОРО не появляется. Просто заказов очень много и при закрытии на каждый заказ ТОРО это сообщение выходит. Пробывал убрать это сообщение через настройку Управление выходными документами - Управление сообщениями, добавил туда тип сообщение с номером и указал без сообщения, но видимо всё же не та настройка и сообщение также появляется. Проблема конечно не критичная, но юзеры капризный народ. Просят убрать это действо. Может кто знает как убрать это сообщение при коммерческом закрытии заказов ТОРО?

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Коммерческое закрытие заказов
« Ответ #1 : Октябрь 20, 2015, 03:19:45 pm »
You are not allowed to view links. Register or Login
ставится, т.к. перерасчётный счёт не создаёт проводку, но оное и не используется в общем в компании. Если галочку ставлю в ручную в заказе на поставку окончат.счёт, то предупреждающее сообщение при коммерческим закрытии заказа ТОРО не появляется.
Ну если бы ты еще и класс сообщения с номером сообщения указал бы.. то наверное было бы проще сказать, что-то по этому поводу.

PS: Кстати еще так подумал а зачем тогда ставить метку поступления счета в заказе? Не ставьте ее и не будет тогда система требовать чтобы счет был введен.
« Последнее редактирование: Октябрь 20, 2015, 03:26:43 pm от Uukrul »

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Коммерческое закрытие заказов
« Ответ #2 : Октябрь 21, 2015, 05:40:23 am »
Я об этом как то не подумал. Класс сообщений IW номер сообщения 215 тип сообщения W. В том то и дело что сообщение появляется потому что галочка эта не стоит в заказе на поставку тогда это сообщение и выходит. Как эту настройку обойти мне пока не понятно, может со стороны MM надо что то подкручивать.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Коммерческое закрытие заказов
« Ответ #3 : Октябрь 21, 2015, 12:11:58 pm »
You are not allowed to view links. Register or Login
Я об этом как то не подумал. Класс сообщений IW номер сообщения 215 тип сообщения W. В том то и дело что сообщение появляется потому что галочка эта не стоит в заказе на поставку тогда это сообщение и выходит. Как эту настройку обойти мне пока не понятно, может со стороны MM надо что то подкручивать.
Мы наверное про разные галочки. Я имею в виду галку с рисунка ME23N-NOMIGO.png ниже. Если эта галка стоит в заказе, то счет к такому заказу не проводится и не требуется. Управляется это из ММ. Если у вас счета к заказам не нужны, то у вас вот эту галку не нужно ставить в заказах.

Что касается сообщений, можете показать картинку просмотра данных таблицы T160M в транзакции SE16 с ограничением ARBGB = IW, как на рисунке ниже T160M-IW.png

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Коммерческое закрытие заказов
« Ответ #4 : Октябрь 21, 2015, 03:15:15 pm »
Мы действительно про разные галочки говорим. Я на рисунке обозначил про какую галочку я говорю. Вот по умолчанию она не стоит. Если я в ручную её ставлю, то предупреждающее сообщение при коммерческом закрытии не появляется. Прилагаю оба скрина, на втором рисунке я обозначил настройку в табличке, которую сделал, но она также не помогла, сообщение также появляется.


Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Коммерческое закрытие заказов
« Ответ #5 : Октябрь 21, 2015, 11:23:28 pm »
You are not allowed to view links. Register or Login
Мы действительно про разные галочки говорим. Я на рисунке обозначил про какую галочку я говорю. Вот по умолчанию она не стоит.
Она не может стоять по умолчанию... это галка последнего счета. А вот та которую я вам показала, как раз может задаваться и если она не будет установлена, то к заказу не будет предполагаться ввода счетов. Проверьте у себя на заказе. А то сейчас вы ставите галку, а счетов нет и не предполагается, что как по мне несколько не правильно.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Коммерческое закрытие заказов
« Ответ #6 : Октябрь 22, 2015, 06:34:09 am »
Вы всё правильно говорите Uukrul. Галочку поступления счёта я и не трогаю. Она сама там появляется когда делается счёт фактура. Вот тот скрин который я выслал там галочка поступления счёта стоит и счёт фактура и приёмка работ по всем позициям в заказе на поставку выполнена. Вопрос и заключается в том как другая галочка на поле Последний счёт влияет на коммерческое закрытие заказов ТОРО.  У нас заказы ТОРО технически не закрываются до тех пор пока по ним не проведут фактические затраты, т.е. сам заказ на поставку, счёт фактура и приёмка работ, но галочка эта автоматом не проставляется потому что у нас не используется какой то там счёт для перерасчёта чего то там, это мне так ММ-щик объяснил. Но стоит мне поставить эту галочку последний счёт в заказе на поставку руками, то сообщение это не появляется при коммерческом закрытии. Можно конечно начать копаться в настройках ММ и искать что то связанное с галочкой Последний счёт, но мне показалось что просто убрать это предупреждающее сообщение будет проще.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Коммерческое закрытие заказов
« Ответ #7 : Октябрь 22, 2015, 10:47:33 am »
You are not allowed to view links. Register or Login
Вы всё правильно говорите Uukrul. Галочку поступления счёта я и не трогаю.
Так ее как раз и надо трогать, если вам поступление счета не важно к заказу.

You are not allowed to view links. Register or Login
галочка поступления счёта стоит и счёт фактура и приёмка работ по всем позициям в заказе на поставку выполнена. Вопрос и заключается в том как другая галочка на поле Последний счёт влияет на коммерческое закрытие заказов ТОРО
А вот это уже проблема к ММ, они не настроили установку галки последнего счета или же при фактурировании не закрывается все количество, так что это проблема ваших мм-щиков, а не ваша.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Коммерческое закрытие заказов
« Ответ #8 : Декабрь 21, 2015, 12:50:16 pm »
В общем я так и не смог победить это информационное сообщение, связанное с индикатором последнего счета-фактуры. Может есть какое нибудь расширение или Badi чтобы заставить эту галочку проставляться автоматически.  Может кто реализовывал потому как у меня пока так и не получилось найти  какое то решения для этой казалось бы не большой проблеммки.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Коммерческое закрытие заказов
« Ответ #9 : Декабрь 22, 2015, 11:20:50 am »
You are not allowed to view links. Register or Login
Может кто реализовывал потому как у меня пока так и не получилось найти  какое то решения для этой казалось бы не большой проблеммки.
BADI: ME_PROCESS_PO_CUST

Там есть метод POST в него передается ссылка на класс который позволяет получить доступ к данным заказа, сделать изменения данных и сохранить заказ. Вот там вы и можете проставлять данную галку. Главное чтобы вы это правильно делали, а то поставите галку до ввода счета и все, счета больше проводить к заказу не сможете.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Коммерческое закрытие заказов
« Ответ #10 : Декабрь 22, 2015, 11:36:35 am »
You are not allowed to view links. Register or Login
BADI: ME_PROCESS_PO_CUST

Там есть метод POST в него передается ссылка на класс который позволяет получить доступ к данным заказа, сделать изменения данных и сохранить заказ. Вот там вы и можете проставлять данную галку. Главное чтобы вы это правильно делали, а то поставите галку до ввода счета и все, счета больше проводить к заказу не сможете.

Спасибо за совет, обязательно буду пробывать.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Коммерческое закрытие заказов
« Ответ #11 : Январь 11, 2016, 07:23:15 am »
В продолжении темы. В общем решено было изменять заказы на поставку только после того как была создана счёт фактура. Отсюда возникла необходимость изменение транзакции MIRO. После прочтения всякой инфы в инете нашёл такой BADI INVOICE_UPDATE, создал на его основе ещё один. Ставлю брейк и пытаюсь создать счёт фактуру проваливается в отладчик. Значит BADI вроде создал правильно. Там есть три метода CHANGE_AT_SAVE, CHANGE_BEFORE_UPDATE, CHANGE_IN_UPDATE. Пытаюсь в методе   CHANGE_AT_SAVE сделать что то типа
Код: You are not allowed to view links. Register or Login
method if_ex_invoice_update~change_at_save.
data: wa_reseg_new like line of ti_rseg_new.
  field-symbols: <fs_ydrseg> type MRM_TAB_MRMRSEG  .
  ASSIGN ti_rseg_new TO <fs_ydrseg>.

  loop at <fs_ydrseg> into wa_reseg_new.
    BREAK-POINT.
  "  ASSIGN wa_reseg_new TO <fs_ydrseg>.
    wa_reseg_new-erekz = 'X'.
    MODIFY <fs_ydrseg> FROM wa_reseg_new .
  endloop.
endmethod.
Активирую. Запускаю создание счёта фактуры, но на определённом моменте падает в дамп. Пишет что при попытке изменить то поле в заказе последний счёт дамп и происходит, т.е. по сути ругается на то что я пытаюсь изменить содержимое заказа. Вот мне не понятно, получается что в принципе изменить нельзя чтоли?? Может кто что подскажет?

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Коммерческое закрытие заказов
« Ответ #12 : Январь 11, 2016, 02:44:45 pm »
А с чего вы решили что можете менять полученные таблицы? В этом методе все данные которые вам передаются это импорт-парметры. Менять их дело бесполезное и не правильное. В данном BADI вы можете обновить свои Z-данные если они имеются. Так же можно обновить что либо еще вам нужное, но нельзя менять значения проводимого документа.

Оффлайн themax

  • Newbie
  • *
  • Сообщений: 346
  • Репутация: +5/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Коммерческое закрытие заказов
« Ответ #13 : Январь 13, 2016, 04:57:39 am »
Вы абсолютно правы Uukrul относительно параметров самого интерфейса этого класса, но мне тут подсказали один код, мы его чутка доработали, в общем то работает. Если у позиции в заказе на поставку например две услуги и материала, то пока все услуги или материалы по каждой позиции не будут отфактурированы галочка последний счёт не ставится. Единственное что не получилось это со сторнированием, хотел сделать что при сторнировании документа галочка в заказе на поставку снималась, но видимо мозгов не хватает. Если кому то будет нужно или интересно вот код.
Код: You are not allowed to view links. Register or Login
data: begin of wa_tab,
          ebelp type ekpo-ebelp,
          netpr type ekpo-netpr,
          MENGE type ekpo-MENGE,
          DMBTR type ekbe-DMBTR,
        end of wa_tab,
        begin of wa_tab1,
          ebelp type ekbe-ebelp,
          DMBTR type ekbe-DMBTR,
          SHKZG type ekbe-SHKZG,
        end of wa_tab1,
        begin of wa_tab3,
          ebelp type ekbe-ebelp,
          DMBTR type ekbe-DMBTR,
        end of wa_tab3,
        begin of wa_tab2,
          belnr type rseg-belnr,
          ebeln type rseg-ebeln,
          ebelp type rseg-ebelp,
          wrbtr type rseg-wrbtr,
          summa type rseg-wrbtr,
        end of wa_tab2.
  data: tab LIKE TABLE OF wa_tab,
        tab1 LIKE TABLE OF wa_tab1,
        tab2 LIKE TABLE OF wa_tab2,
        tab3 LIKE TABLE OF wa_tab3.
  type-pools mmcr.
  data: ydrseg type table of mmcr_drseg.
  field-symbols: <fs> like ydrseg.
  field-symbols: <s> type mmcr_drseg.
  field-symbols: <s1> type mmcr_drseg.
  data: sss(40).

  sss = '(SAPLMR1M)YDRSEG[]'.
  assign (sss) to <fs>.
  read table <fs> index 1 assigning <s1>.
  BREAK-POINT.
  if sy-tcode <> 'MR8M'.
    select ebelp netpr menge into CORRESPONDING FIELDS OF TABLE tab from ekpo where ebeln = <s1>-ebeln.
    select * from ekbe  into CORRESPONDING FIELDS OF TABLE tab1 where ebeln = <s1>-ebeln and VGABE = 2.

    loop at <fs> assigning <s>.
      wa_tab3-ebelp = <s>-ebelp.
      if <s>-SHKZG = 'H'.
        wa_tab3-dmbtr = -1 * <s>-NETWR.
      else.
        wa_tab3-dmbtr = <s>-NETWR.
      endif.
      COLLECT wa_tab3 into tab3 .
    endloop.
    loop at <fs> assigning <s>.
      READ TABLE tab into wa_tab WITH KEY ebelp = <s>-ebelp.
      wa_tab-DMBTR = wa_tab-netpr * wa_tab-menge.
      if sy-subrc = 0.
        loop at tab1 into wa_tab1 where ebelp = <s>-ebelp.
          if wa_tab1-SHKZG = 'H'.
            wa_tab1-dmbtr = -1 * wa_tab1-dmbtr.
          endif.
          wa_tab-DMBTR = wa_tab-DMBTR - wa_tab1-dmbtr.
        endloop.
        READ TABLE tab3 into wa_tab3 WITH KEY ebelp = <s>-ebelp.
        wa_tab-DMBTR = wa_tab-DMBTR - wa_tab3-dmbtr.
        if wa_tab-DMBTR <= 0.
          <s>-erekz = 'X'.
        endif.
      endif.
    endloop.
  else.
    loop at <fs> assigning <s>.
      <s>-erekz = ''.
    endloop.
  endif.

Осталось только по думать как быть со сторнированием.

Sapforum.Biz

Re: Коммерческое закрытие заказов
« Ответ #13 : Январь 13, 2016, 04:57:39 am »