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

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Asttoxa, 7 фев 2012.

  1. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    В форме обработки есть Таблица с документами.

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

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Думаю, нужно подробнее описать задачу, смысл (физический) обработки, объемы (размеры) обрабатываемых данных.
  3. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    немного не понятно. В режиме реального времени обновлять или по нажатию кнопки?
  4. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

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

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Хорошо. Если запрос выполняется быстро, так почему бы и не делать раз в секунду?
    А если результат запроса отличается от предыдущего результата - то вносить только разницу между ними.
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Используйте для обновления обработку ожидания.....
  7. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Тоесть тормозит систему только запрос?? А сам цикл каждую секунду??

    Последнее не понял. Что за обработка ожидания??
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Есть типокая процедура
    ОбработкаОжидания()
    Смотрите СП. В описании сказано что работает только в ГМ, но это не так))))

    Вам не нужно каждую секунду - рассчитайте оптимальное время экспериментальным путем.
  9. karabas123
    Offline

    karabas123

    Регистрация:
    2 фев 2012
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    Т.е. ею можно пользоваться в обработке непосредственно?
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Да. Есть маленькая хитрость.... Запускайте ее через форму.
    Код:
    Форма.ОбработкаОжидания("ИмяПроцедуры",ВремяВСекундах)
    
    Если на форме открывать модальное окно (например предупреждение) - обработка ожидания не будет срабатывать во время открытого окна.
  11. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    автообновление - это неочень хорошо.. после обновления будет слетать курсор. Даже если запрос быстрый форма будет мерцать.
    я бы делал обновление при смене отборов, при установке/снятии пометок на удаление и в предопределенной процедуре FormEx ПриАктивацииОкна()
  12. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    При обновлении по этим событиям, не будет обновляться ТЗ при добавлении документов другими пользователями (именно это и стало причиной написания этого поста, на сколько я помню).
    А что бы таблица не мерцала, я уже писал выше, не нужно ее целиком обновлять, достаточно вносить в нее изменения. А перед обновлением ТЗ позицию запомнить не проблема (можно привязываться к номеру строки, можно к объекту, а можно и к тому и к другому).

Поделиться этой страницей