Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

Ограничение макс. значения поля.   Найти похожие ветки 

 
Бульбаш   (2006-01-17 16:14) [0]

В накладной программно добавляю строки товара с расчетными ценой и количеством (текущий остаток). Как ограничить пользователя в попытке ввести в поле количество значение большее текущего остатка? Совсем закрыть редактирование не могу, так как возможно уменьшение расчетного количества. Пробовал различные варианты в onValidate, но проблема одна - как взять расчетное значение для сравнения?


 
Val ©   (2006-01-17 16:18) [1]

думаю, хорошим вариантом есть проверка на сервере, при попытке вставки.


 
Val ©   (2006-01-17 16:23) [2]

оп, оп. Что-то я криво прочитал, кажется.
Это накладная на _списание_ товара со склада?
Ведь вы делаете запрос на получение текущего остатка по складу? Держите его в своем поле на клиенте, а пользователю для редактирования дайте другое, инициализированное первоначально значением тек. остатка. И сравнивайте их.


 
Sergey13 ©   (2006-01-17 16:24) [3]

Как вариант. Можно попробовать "паралельный" датасет (например CDS) с "контрольными" цифрами. Тогда проверка упрощается.


 
Бульбаш   (2006-01-17 17:12) [4]

С дополнительным полем понятно , я что есть параллельный датасет?


 
ANB ©   (2006-01-17 17:23) [5]


> Sergey13 ©   (17.01.06 16:24) [3]

Изгалятель.


> Бульбаш   (17.01.06 17:12) [4]

Есть некая накладка. Если контрольное поле заполнить заранее, а потом его проверять, то может оказаться, что к моменту добавления строки остаток на складе еще уменьшился/увеличился. Посему тут лучше сделать проверку непосредственно при добавлении записи. Если это какой нибудь SQL сервер, то в хранимке/триггере, если локальная база - то запросом к ней.


 
Бульбаш   (2006-01-17 17:30) [6]

Вывел остаток подзапросом, вроде бы фунциклирует. Думал что есть более изящное решение, но в принципе и это неплохо :)


 
Val ©   (2006-01-17 17:31) [7]

>[5] ANB ©   (17.01.06 17:23)

> Есть некая накладка....

Дело в том, что соотв. проверки и ограничения должны быть на серверной стороне по определению, тогда откатится, конечно, вся транзакция и юзер должен будет исправлять накладную, соответственно сообщению об изменившихся остатках.
Автора же интересует препроверка, скажем так, вводимых пользователем значений на клиенте, как я понял. А она штука такая, больше косметическая.


 
Sergey13 ©   (2006-01-17 17:33) [8]

Да. Чего-то я перемудрил. О своем думал. 8-)
Доп. поля достаточно для нехитрого контроля.


 
evvcom ©   (2006-01-18 08:53) [9]


> поле количество значение большее текущего остатка?

А то количество, которое дал ввести, блокируешь, чтобы нельзя было на этот остаток выписать еще одну накладную? Или сразу списываешь, не дожидаясь фактического получения?



Страницы: 1 вся ветка

Текущий архив: 2006.03.12;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.049 c
2-1140886737
LostHero
2006-02-25 19:58
2006.03.12
TrackBar для Видео Плеера


15-1139927103
oldman
2006-02-14 17:25
2006.03.12
Напишет же "Версия" такое...


15-1140255258
Pazitron_Brain
2006-02-18 12:34
2006.03.12
Как восстановить почтовую базу Thunderbird?


1-1139296063
Duncan
2006-02-07 10:07
2006.03.12
Шифрование - дешифрование MD5


2-1140617393
LordOfRock
2006-02-22 17:09
2006.03.12
Классы. Удаление "самого себя"