Текущее время: Ср, июн 25 2025, 14:15

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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