Текущее время: Вс, июл 20 2025, 22:17

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пт, окт 30 2009, 16:09 
Начинающий
Начинающий

Зарегистрирован:
Пт, окт 30 2009, 16:03
Сообщения: 5
Пол: Мужской
По постановке задачи необходимо производить изменения в Z-таблице при изменении количества в позиции сбытового заказа, при этом, необходимо, чтобы эти изменения (Z) в базе проводились одновременно с изменением количества в заказе "на экране" пользователя. Здесь проблем нет - проблема одна - если я выхожу из заказа без сохранения изменений, то изменения в Z уже есть. Как их откатить в случае выхода без сохранений???? Может есть экзит какой на такой случай? :|

Прошу помощи. :(


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пт, окт 30 2009, 16:14 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Цитата:
необходимо, чтобы эти изменения (Z) в базе проводились одновременно с изменением количества в заказе "на экране" пользователя

Необходимо кому, простите?
Цитата:
Прошу помощи

Читайте курс про концепцию обновлений.
Вам нужно запустить свой ФМ, в котором вы будете изменять записи Z таблицы, в UPDATE TASK.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пт, окт 30 2009, 17:08 
Начинающий
Начинающий

Зарегистрирован:
Пт, окт 30 2009, 16:03
Сообщения: 5
Пол: Мужской
Пономарев Артем написал:
Необходимо кому, простите?

Интегрируем со складской системой. В складской системе есть понятие упаковки, которое может меняться не меняя количество товаров (переупаковка и т.д.). Скажем, у нас 100 единиц товара в упаковках по 50 и 200 по 20. Один пользователь хочет одну 50 единиц - ему отдается 50. Второй пользователь в то же время хочет 120 единиц. Первому дается одна большая коробка по 50 единиц. Соответственно, система не должна позволить второму пользователю получить 2х50 плюс 1х20, а должна дать 6х20. Чтобы не проводить повторные проверки при сохранении и избежать новых переборов данных - необходимо блокировать ту самую "одну коробку", как только пользователь задал количестве в позиции. Все это работает. Единственный баг - если после изменения позиции выйти из заказа "без сохранения", то уже прошедшие изменения останутся в Z таблице.
SELECT FOR UPDATE не подходит, так как заказ одной единицы товара заблокирует весь остальной запас.

Пономарев Артем написал:
Читайте курс про концепцию обновлений.
Вам нужно запустить свой ФМ, в котором вы будете изменять записи Z таблицы, в UPDATE TASK.

Вот как раз исходя из вышеописанной ситуации IN UPDATE TASK не подходит, иначе я бы все перед сохранением сделал.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пт, окт 30 2009, 17:57 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Это вы с какой такой складской системой интегрируетесь?
Если речь идет о стандарте - то при чем здесь свои таблички и прочее?
Комплектование единицами обработки/складирования производится на уровне поставки.
Если же система внешняя и не позволяет блокировать конкретное складское место - то нафиг такую систему.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пт, окт 30 2009, 18:07 
Начинающий
Начинающий

Зарегистрирован:
Пт, окт 30 2009, 16:03
Сообщения: 5
Пол: Мужской
С самописной складской системой.
Я же ищу путь решения а не определяю что лучше а что хуже. Партия сказало надо комсомолец ответил "есть". На уровне поставки блокировать поздно.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пт, окт 30 2009, 18:54 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Как и где у вас храниться информация о "коробках"?
Возможно намного проще решить не через отдельную таблицу, а через объекты блокирования?
Т.е. при подборе "коробок" каждому пользователю пытаться установить блокировку на объект и в случае ошибки просто пропускать такую упаковку.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пн, ноя 02 2009, 10:04 
Начинающий
Начинающий

Зарегистрирован:
Пт, окт 30 2009, 16:03
Сообщения: 5
Пол: Мужской
А если коробок сто??? Сто объектов блокирования?

Мы отошли от темы. Как можно отменить изменения при выходе без сохранения?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".
СообщениеДобавлено: Пн, ноя 02 2009, 11:42 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
Думается что никак.
ИМХО единственный вариант обновить значение обратно также как оно было обновлено вами до этого.

что ту можно предложить:
сделать в вашей Z таблице ещё поля:
со старым значением - сохранять его туда перед обновлением
флажок - выставлять его при сохранении заказа через UPDATE TASK
сделать отдельную программу и запланировать её периодическое выполнение которая бы выбирала записи с пустым флажком проверяла по блокировке что заказ в данный момент не редактируется, ну и если такая ситуация обнаружилась возвращать значение из сохранённого.

Почему ИМХО нужно делать в отдельной программе - сеанс пользователя может быть аварийно завершон (например связь порвалась или например гдето дамп случился...), в результате откатить изменение сама программа никак не сможет

_________________
Изображение Попытка не пытка


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отмена изменений в базе при выходе из документа "без сохранения".  Тема решена
СообщениеДобавлено: Пн, ноя 02 2009, 11:45 
Начинающий
Начинающий

Зарегистрирован:
Пт, окт 30 2009, 16:03
Сообщения: 5
Пол: Мужской
Ну да, придется видимо так и делать:-((( Что поделать - задача так стоит:-(((
Спасибо...


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

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


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

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


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

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