Форум: "Базы";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];
ВнизОбновление данных у всех клиентов невозможно ??? Найти похожие ветки
← →
User0 (2002-09-27 17:39) [0]Здравствуйте Мастера! Просьба отнестись с пониманием, я только у4усь... Надеюсь Вы поможете прояснить данный провал в моем образовании...
Прокопался в этой конфе целый день... прочитал и на http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=13073
В итоге я заключил, что авто-обновления записей у всех клиетов невозможно, или если быть то4нее это о4ень трудная зада4а.
Но а как же обновляются данные в 1C Бух. ?? Не ужели при изменении данных одним клиентов все остальные их увидят только при последующем полклю4ении к таблице в которой произошли эти самые изменения ? (сам к сожалению не проверял как она работает...)
Тогда зачем вообще IBase нужен ? 4тоб только не было видно расшаренного файла БД в сети ?
Как быть с такой ситуацией если один продавец-ползователь продал 5 деталек со склада и их там больше нет, но другой попрежнему видит 5 и говорит клиенту: "Ок. подъезжайте детали есть...". По-моему происходит некоторый обломсик... :(
Но как избежать этого в IB ?
В Accesse я "эмулировал" IBServer - полагая, что он сам оповещает клиентов о сделанных изменениях. Во всех клиентских приложениях изменения в моей БД мгновенно были видны.
Но сейчас решил перейти на IB в виду больших возможностей... И в итоге получается, что мое "эмулирование" останется и здесь ? Может есть 4то нибудь о 4ем я не знаю ?
Подскажите пожалуйста как мне быть ? 4то-то я совсем запутался... :(((
← →
Prooksius (2002-09-27 17:48) [1]Есть такая штука в IB - эвенты (события по русски).
Читай доки по ним. Смотри примеры с использованием EventAlerter-ов. Уверен - разберешься!
← →
sniknik (2002-09-27 17:49) [2]в 1C Бух. все очень убого.
см. в параметрах вкладка общие "период опроса изменений БД".
и делай выводы.
← →
User0 (2002-09-27 17:56) [3]Пасиба ! :)
Ушел в чтение....
← →
User0 (2002-09-27 18:43) [4]BIG THNX ! Во набрался, вроде...
Я так понял:
Создаем EXEPTION в БД. C помощью триггеров отслеживаем любое изменение и даем команду DO EXEPTION name_exeption; Далее с помощью компонента IBEvent отслеживаем это прерывание name_exeption и даем рефреш.. И все типа обновилось..
Я правильно понял ???
← →
Prooksius (2002-09-27 19:10) [5]2 User0 © (27.09.02 18:43)
Эт точно, набрался... ;)
Не exception, а event. В триггере пишешь post_event(<eventname>), и его ловишь в клиенте.
Читай дальше... :)
← →
Sergey13 (2002-09-30 11:00) [6]2User0 © (27.09.02 17:39)
>Как быть с такой ситуацией если один продавец-ползователь >продал 5 деталек со склада и их там больше нет, но другой >попрежнему видит 5 и говорит клиенту: "Ок. подъезжайте детали >есть...". По-моему происходит некоторый обломсик... :(
Твоя проблема, ИМХО, надумана на 99%.
Поясню. Проблема будет, если деталей на складе 50, а юзеров 20. Тогда да - велика вероятность одновременной работы с одной записью. Но с ростом числа деталей вероятность уменьшается - обратно пропорционально. Поэтому не нужно делать ПРЕпроверку на изменения. Нужно делать ПОСТпроверку при оформлении документа. Т.е. дает юзер команду - сформировать заказ, сервер проверяет все условия его формирования, и если ВСЕ они не соблюдены- откатывает транзакцию и сообщает об этом пользователю. Иначе юзер, работая с гвоздями, постоянно будет получать уведомления что молоко кончилось. Ничего путного, кроме бешеной загрузки сервера не получится.
← →
Alexandr (2002-09-30 11:09) [7]угу.
Но делают так.
> Как быть с такой ситуацией если один продавец-ползователь
> продал 5 деталек со склада и их там больше нет, но другой
> попрежнему видит 5
перед тем, так говорить "есть 5" нужно нажать кнопку "обновить текущую запись в гриде" эта операция отработает за доли секунды и данные будут самые актуальные.
Мало того, если клиент надежный, то необходимое количество можно сразу и зарезервировать на складе под этого клиента.
>и говорит клиенту: "Ок. подъезжайте детали
> есть...". По-моему происходит некоторый обломсик... :(
обломсик присходит только если у программиста руки кривые.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c