Текущее время: Вс, июл 27 2025, 07:13

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


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


ВНИМАНИЕ!

Вопросы по исходящим поставкам - сюда



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Изменеие дат(факт, план,срокКомп) при созданнии исходящей поставки.
СообщениеДобавлено: Ср, апр 11 2007, 16:29 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 10 2006, 08:44
Сообщения: 320
Откуда: Odessa
Здравствуйте у меня такой вопрос.
По заказу создаю исходящею поставку. При ее создании даты: Плановый ОМ, Фактический ОМ, СрокКомплектов. Должны заполнится текущей датой.
Что я для этого делаю, с помощью user exit:
В Include MV50AFZ1.

Code:
FORM USEREXIT_MOVE_FIELD_TO_LIKP.


*Замена дат на текущие

LIKP-KODAT = SY-DATUM.
LIKP-WADAT = SY-DATUM.
LIKP-WADAT_IST = SY-DATUM.
endif.

ENDFORM.


Дата Фактического ОМ (LIKP-WADAT_IST) заполняется текущей датой.
А даты Плановый ОМ, СрокКомплектов (LIKP-WADAT, LIKP-KODAT) заполняются датой из заказа (тоесть: ТрбДатаПоставки ).

Как мне изменить эти даты? может другой user exit?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, апр 11 2007, 18:05 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Наверное, можно этот код можно написать в программе копирования из заказа в поставку (VOFM)

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 12 2007, 07:01 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
для начала написал бы чем создаешь, комплектуешь и отпускаешь поставку.
Ну а вообще - есть БАДИ LE_SHP_DELIVERY_PROC, который позволяет сделать многое. В твоем случае возможно подойдет метод CHANGE_DELIVERY_HEADER, что-то типа:

Code:
method IF_EX_LE_SHP_DELIVERY_PROC~CHANGE_DELIVERY_HEADER.
   . . .
   CS_LIKP-KODAT = SY-DATUM.
   CS_LIKP-WADAT = SY-DATUM.
   CS_LIKP-WADAT_IST = SY-DATUM.
   . . .
endmethod.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 12 2007, 08:09 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 10 2006, 08:44
Сообщения: 320
Откуда: Odessa
OlegDm написал(а):
для начала написал бы чем создаешь, комплектуешь и отпускаешь поставку.


Создаю так: В заказе ->Торговый документ(меню)->Поставить


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 12 2007, 10:04 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 10 2006, 08:44
Сообщения: 320
Откуда: Odessa
Все получилось.
Скопировал в свой пакет BAPI class CL_EX_LE_SHP_DELIVERY_PROC.
И там с ним работаю.

Только в поставках приходится нажимать на Enter (или производить какоето другое действие) чтобы даты поменялись.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 12 2007, 11:17 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
А зачем куда-то копировать класс? Делаешь внедрение (SE19) для определения LE_SHP_DELIVERY_PROC, и тогда при создании поставки методы этого БАДИ будут работать без какого либо принуждения.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 12 2007, 11:48 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 10 2006, 08:44
Сообщения: 320
Откуда: Odessa
О благодарю а тоя так с классами интерфю еще не работал.

У меня постал второй ворос, не хочу создавать новую тему так как он подобен.
Вот хотат чтоб ввели укомплектованое количество (поставка) нажали Enter и соседнее поле объём поставки стало равно укомплект кол.
Делаю так:
Code:
method IF_EX_LE_SHP_DELIVERY_PROC~CHANGE_DELIVERY_ITEM .


**  CS_LIPSD-PIKMG  - Укомплектованное/принятое на склад количество в ПЕ
**  CS_LIPSD-G_LFIMG and LIPS-LFIMG - Фактически поставленное количество (ПЕ) (объем поставки)
  if CS_LIPSD-PIKMG <> 0.
   CS_LIPSD-G_LFIMG = CS_LIPSD-PIKMG.
  endif.
endif.
endmethod.

Оно объём поставки не меняет. И я так понимаю это не так все просто там должно менятся вес брутто, нетто а может еще что-то.
Может подскажете как это сделать правильно.
Заранее благодарен.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 12 2007, 12:18 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
ты знаешь, мы тоже кой-какие телодвижения делаем этим методом (CHANGE_DELIVERY_ITEM) (при использовании продажных ЕдИзм (ПЕИ) отличных от базисной ЕдИзм (БЕИ) разрядность коэффициентов пересчета не позволяет достигнуть нужной точности при пересчете из ПЕИ в БЕИ), но изменения осуществляем в CS_LIPS, а не в CS_LIPSD.

Кстати, комплектование - это обязательный шаг вашего бизнес-процесса? А то ведь для типа позиции можно отключить релевантность комплектованию, и тогда достаточно будет вводить только объем поставки.


Последний раз редактировалось OlegDm Чт, апр 12 2007, 12:26, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 12 2007, 12:25 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 09 2007, 13:38
Сообщения: 125
Откуда: Нерезиновая
Пол: Мужской
Мы в своё время придумали механизм автоматического создания поставок через батчинпут. Но у нас возникли проблемы с использованием VL02, поэтому для этих целей использовали VL02N... Код конечно побольше был гораааздо :lol: теперь бы найти ещё его...давненько это было :roll:

Но смысл там в том чтобы через меню добраться до Обработать :arrow: Копировать КоплекКол как объем поставок... И будет всем счастье :wink:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 12 2007, 12:27 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 09 2007, 13:38
Сообщения: 125
Откуда: Нерезиновая
Пол: Мужской
OlegDm написал(а):
но изменения осуществляем в CS_LIPS, а не в CS_LIPSD.

Вот тут-то у нас чехарда тогда и возникла


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 12 2007, 12:58 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 10 2006, 08:44
Сообщения: 320
Откуда: Odessa
Так все таки кто-то подскажет (подробно) как это правильно делается.
Я на свой розсуд не буду ничего изменять, если в дальнейшем будет что-то не так то мне так влетит :(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 12 2007, 13:35 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
ну так для того и существуют песочницы, чтобы ты там мог все хорошо проверить. Рассказать "правильно и подробно" сможет только тот кто это уже делал, и то это будет "правильно и подробно" в применении к бизнес-процессам рассказчика :roll:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 12 2007, 14:04 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 09 2007, 13:38
Сообщения: 125
Откуда: Нерезиновая
Пол: Мужской
OlegDm написал(а):
Рассказать "правильно и подробно" сможет только тот кто это уже делал, и то это будет "правильно и подробно" в применении к бизнес-процессам рассказчика :roll:

Есть здоровенный кусок кода где Ваша проблема реализована, но только Вам это вряд-ли поможет, т.к. это локальная разработка под вполне конкретный бизнес-процесс. Идея изложена выше.
OlegDm написал(а):
но изменения осуществляем в CS_LIPS, а не в CS_LIPSD.

и именно там. Попробуйте посмотреть как это работает в песочнице.
Проблему можно решить и с помощью стандартного BAPI который сам комплектует поставку в статус С, причём таких я находил (se37) несколько. Это как альтернатива батчинпуту. Кстати и работать будет лучше :wink:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 13 2007, 10:21 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 10 2006, 08:44
Сообщения: 320
Откуда: Odessa
Проблема решена:
Code:
method IF_EX_LE_SHP_DELIVERY_PROC~CHANGE_DELIVERY_ITEM .
  if CS_LIPSD-PIKMG <> 0.
    CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'
     EXPORTING
       FUNCTIONCODE                 = 'KOMU_T'
     EXCEPTIONS
       FUNCTION_NOT_SUPPORTED       = 1
       OTHERS                       = 2
              .

    IF SY-SUBRC <> 0.
     MESSAGE W015(ZSDMESSAGE).
*   W.№015.Не удалось изменить "Объем поставки" по "УкомплектКолич"!
     MESSAGE W016(ZSDMESSAGE).
*   W.№016.Произведите ввод "Объем поставки" вручную!
    ENDIF.
  endif.
endmethod.

Прога выполняет: Обработать(Меню)->Копировать КоплекКол как объем поставок...


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

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


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

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


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

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