Текущее время: Чт, июн 26 2025, 04:41

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


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


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: BAdI LE_SHP_BADI (определение - LE_SHP_DELIVERY_PROC)
СообщениеДобавлено: Чт, сен 15 2005, 11:06 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Есть проблема: при отпуске материала (тр. VL02n) кладовщик должен вписать укомплектованное кол-во. Само собой, у него есть полномочия на тр. VL02n. Но кладовщики иногда меняют (или могут изменить) другие поля, отличные от укомплектованного кол-ва или добавляют/удаляют позиции. С удалением проще - метод CHECK_ITEM_DELETION. Как быть с добавлением позиций? Причем, хорошо бы ругаться еще на этапе добавления, а не при сохранении. Попробовал посмотреть метод CHANGE_FCODE_ATTRIBUTES, но это не то, что мне нужно. Подскажите, как определить, добавлена ли позиция, и в каком методе это лучше всего организовать. Хорошо бы, чтоб срабатывало даже по ентеру. CHANGE_FCODE_ATTRIBUTES для этой цели подходит, но я не понял, как в нем реализовать нужную мне проверку.


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

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Дамы и господа! Неужели никто не работал с LE_SHP_BADI? Как определить, добавлена ли позиция(ии) к поставке, я, извратясь, выяснил (правда, в методе DELIVERY_FINAL_CHECK). Помогите теперь удалить "левые" позиции! Потому что пользователь может добавить 1-2 позиции без ссылки и массу позиций со ссылкой на заказ. Чтобы ему потом не искать глазками, какие же это позиции, надо удалить их самостоятельно.
Если можете, подскажите, как отловить это еще до сохранения - т.е., при добавлении позиции (см. 1-й пост), т.к. в таком случае не придется делать извращений при проверке поставки в DELIVERY_FINAL_CHECK, к-рый вызывается перед сохранением документа.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 19 2005, 12:02 
Гость
Попробуйте ипользовать метод CHANGE_DELIVERY_ITEM, и в случае неправильно созданной позиции выдавать ошибки в параметр CT_LOG.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 19 2005, 12:05 
Гость
Вдогонку - в этом методе есть замечательный параметр - CF_FLAG_DELETE_ITEM :wink:


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

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Спасибо за мудрый совет! Облазил все методы, а в этот не глянул - испугало название: "Change of Own Data When Changing an Item". Этот самый "оун". Но тут еще одни грабли: во-первых, при установке флага CF_FLAG_DELETE_ITEM, метод вызывается второй флаг - я первоначально попал в бесконечную цепь вызовов, т.к. не проверял его значение; во-вторых, не передается структура с первоначальными значениями поля, а параметр IT_YLIPS пустой :( Пришлось все-таки сделать комбинацию из методов (CHANGE_DELIVERY_ITEM + CHANGE_DELIVERY_HEADER + CHECK_ITEM_DELETION = "оперативное реагирование") и метода DELIVERY_FINAL_CHECK, в котором, собсна, и сравниваю значения полей ДО и ПОСЛЕ их изменения.


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

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
"Обнаружил" метод FILL_DELIVERY_ITEM (опять же, не смотрел его по ключевому слову "own data") - передается таблица IT_XLIPS. Причем, в ней число записей соотв. числу записей до добавления. Похоже, можно сделать то, что мне нужно, в этом методе.

З.Ы. Спасибо, Удав! Помощь неоценимая :wink:


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

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Если кому-то пригодится, то я обнаружил: FILL_DELIVERY_ITEM не вызывается, если в старой позиции изменить только поле Укомплект. Кол-во. Должно быть, есть еще какие-то поля с подобным поведением. На этом, наверное, топик можно закончить ;)


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

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


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

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


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

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