Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.007 c
1-68690
AL2002
2002-10-10 19:17
2002.10.21
SendMessage? A kak?


1-68695
-=DENIS=-
2002-10-10 18:40
2002.10.21
Сообщение после (при) смены обоев...


1-68793
Gregory
2002-10-09 20:40
2002.10.21
Сортировка в TListView


14-68926
phantom2040
2002-10-01 11:49
2002.10.21
Музыка из Dominion


1-68785
AL2002
2002-10-09 14:04
2002.10.21
Сохранение RichEdit в битмап.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский