Перейти к содержимому


- - - - -

Как безболезненно обновлять обработку?


  • Вы не можете ответить в тему
Сообщений в теме: 11

#1 Asttoxa

    Участник


  • 186 сообщений

Отправлено 07 февраля 2012 - 14:12

В форме обработки есть Таблица с документами.

Интересует как можно сделать "безболезненное" обновления состояние этих данных. То есть не в ущерб производительности базы и в тоже время не ждать долгого обновления состояния этих документов в таблице?

#2 WaRDeR

    Работа у меня такая ;)


  • 2 924 сообщений

Отправлено 08 февраля 2012 - 09:02

Думаю, нужно подробнее описать задачу, смысл (физический) обработки, объемы (размеры) обрабатываемых данных.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э.Йодан)

#3 Бухгалтерский угодник

    Ветеран


  • 13 307 сообщений

Отправлено 08 февраля 2012 - 10:08

Просмотр сообщенияAsttoxa (07 февраля 2012 - 14:12) писал:

В форме обработки есть Таблица с документами.

Интересует как можно сделать "безболезненное" обновления состояние этих данных. То есть не в ущерб производительности базы и в тоже время не ждать долгого обновления состояния этих документов в таблице?
немного не понятно. В режиме реального времени обновлять или по нажатию кнопки?
"Любая проблема имеет Фамилию, Имя, Отчество....." (И. Сталин)
Жмакнувшим Изображение буду благодарен.

#4 Asttoxa

    Участник


  • 186 сообщений

Отправлено 08 февраля 2012 - 10:13

Просмотр сообщенияWaRDeR (08 февраля 2012 - 09:02) писал:

Думаю, нужно подробнее описать задачу, смысл (физический) обработки, объемы (размеры) обрабатываемых данных.

Понял. Так как стандартными средствами нельзя в журнале документов сделать сложный отбор документов по нескольким параметрам. Мне пришлось сделать обработку для просмотра, выбора и некоего редактирования документов не заходя в них (это мелочи) главное я сделал обработку для просмотра документов. Проблема всплыла в следующем: В журнале обновление дока происходит мгновенно! Тоесть если гдето его провели в журнале у другого пользователя он сразу же выглядит как проведенный! Так вот сделать обработку как мне надо, я сделал, но когда эта обработка висит у пользователя не обновляются документы. Я пока (временно(!) вывел им кнопочку "обновить" и сказал чтобы все обновляли прежде чем начать выполнять что либо. Либо смотреть инфу. Естественно это всколыхнуло общественность, которая не понимает разницу между журналом и обработкой... а внешний вид полностью совпадает у той и у другой. Я захотел сделать автоматической обновление, конечно сделать я каждую секунду не могу так как это будет дико тормозить всю базу. Но и обновлять раз в минуту тоже не вариант. Документов примерно 40-50 в день (интересуют только с определенным статусом) Их всего штук 10-20 за весь период. Запрос выполняется быстро. Главный вопрос встал как обновлять инфу на форме!
Воть!
Спасибо.

#5 WaRDeR

    Работа у меня такая ;)


  • 2 924 сообщений

Отправлено 08 февраля 2012 - 13:11

Хорошо. Если запрос выполняется быстро, так почему бы и не делать раз в секунду?
А если результат запроса отличается от предыдущего результата - то вносить только разницу между ними.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э.Йодан)

#6 Бухгалтерский угодник

    Ветеран


  • 13 307 сообщений

Отправлено 08 февраля 2012 - 13:21

Просмотр сообщенияAsttoxa (08 февраля 2012 - 10:13) писал:

период. Запрос выполняется быстро. Главный вопрос встал как обновлять инфу на форме!

Используйте для обновления обработку ожидания.....
"Любая проблема имеет Фамилию, Имя, Отчество....." (И. Сталин)
Жмакнувшим Изображение буду благодарен.

#7 Asttoxa

    Участник


  • 186 сообщений

Отправлено 08 февраля 2012 - 13:22

Просмотр сообщенияWaRDeR (08 февраля 2012 - 13:11) писал:

Хорошо. Если запрос выполняется быстро, так почему бы и не делать раз в секунду?
А если результат запроса отличается от предыдущего результата - то вносить только разницу между ними.
Тоесть тормозит систему только запрос?? А сам цикл каждую секунду??

Последнее не понял. Что за обработка ожидания??

Сообщение отредактировал Asttoxa: 08 февраля 2012 - 13:23


#8 Бухгалтерский угодник

    Ветеран


  • 13 307 сообщений

Отправлено 08 февраля 2012 - 13:35

Есть типокая процедура
ОбработкаОжидания()
Смотрите СП. В описании сказано что работает только в ГМ, но это не так))))

Вам не нужно каждую секунду - рассчитайте оптимальное время экспериментальным путем.
"Любая проблема имеет Фамилию, Имя, Отчество....." (И. Сталин)
Жмакнувшим Изображение буду благодарен.

#9 karabas123

    Прохожий


  • 21 сообщений

Отправлено 08 февраля 2012 - 13:41

Т.е. ею можно пользоваться в обработке непосредственно?

#10 Бухгалтерский угодник

    Ветеран


  • 13 307 сообщений

Отправлено 08 февраля 2012 - 13:44

Да. Есть маленькая хитрость.... Запускайте ее через форму.

Форма.ОбработкаОжидания("ИмяПроцедуры",ВремяВСекундах)


Если на форме открывать модальное окно (например предупреждение) - обработка ожидания не будет срабатывать во время открытого окна.
"Любая проблема имеет Фамилию, Имя, Отчество....." (И. Сталин)
Жмакнувшим Изображение буду благодарен.

#11 фобец

    (-_-)y-.o0O


  • 661 сообщений

Отправлено 09 февраля 2012 - 07:02

автообновление - это неочень хорошо.. после обновления будет слетать курсор. Даже если запрос быстрый форма будет мерцать.
я бы делал обновление при смене отборов, при установке/снятии пометок на удаление и в предопределенной процедуре FormEx ПриАктивацииОкна()
Счастье есть...

#12 WaRDeR

    Работа у меня такая ;)


  • 2 924 сообщений

Отправлено 09 февраля 2012 - 08:32

При обновлении по этим событиям, не будет обновляться ТЗ при добавлении документов другими пользователями (именно это и стало причиной написания этого поста, на сколько я помню).
А что бы таблица не мерцала, я уже писал выше, не нужно ее целиком обновлять, достаточно вносить в нее изменения. А перед обновлением ТЗ позицию запомнить не проблема (можно привязываться к номеру строки, можно к объекту, а можно и к тому и к другому).
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э.Йодан)





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных