Добрый день!
7.6
Сейчас, находясь, например, в разделе "Обращения", для того чтобы обновить реестр, нужно перейти с раздела на раздел в панели, или нажать на какой-то фильтр в разделе Обращения.
Это очень не удобно.
Можно ли сделать, так чтобы нажатие на раздел "Обращения" в панели разделов слева
вызывала его обновление ( даже если при этом находишься в разделе Обращения)
Вообще, в принципе, нажатие на любой раздел в этой панели вызывало бы обновление этого раздела

По принципу того, как это сделано, например, в почте mail:
Вы находитесь в папки "Входящие", для того, чтобы увидеть новые входящие письма, не нужно переключаться с папки на папки, достаточно еще раз нажать на папку "Входяшие", и реестр входящих обновится

Нравится

3 комментария

Для обновления Вы можете нажимать caption в реестре раздела.

"Мотков Илья" написал:Для обновления Вы можете нажимать caption в реестре раздела.

Попробовал, действительно обновляется. Вот только я не знал о такой возможности? :redface:

Да, работает) Спасибо!

Показать все комментарии

Здравствуйте.
Проблема: не обновляется реестр после добавления в него новой записи.
Вызываю окно редактирования из реестра с помощью

ShowEditWindowEx('wnd_SM4Edit', Attributes, DefaultValues);

После добавления записи (нажатия кнопки Ок в окне редактирования) окно реестра не обновляется и приходится жать "Обновить", чтобы увидеть новую запись в списке.
После редактирования реестр обновляется сам, но в этом случае я не вызываю окно редактирования самостоятельно, а оставляю это действие стандартному функционалу.

Что я забыл сделать, чтобы реестр обновлялся после добавления записи?

Нравится

2 комментария

Перед вызовом ShowEditWindowEx добавьте такую строку:

Attributes('NotifyObject') = Self;

спасибо, Валерий, то, что надо!

Показать все комментарии

Припустим, что Вы активно работаете с одним разделом.
При этом Вы работаете как со своими записями, так и с записями других пользователей.

Для автоматического ежеминутного обновления данных в реестре записей такого раздела необходимо:

  1. Зайти в Администратор Террасофт;
  2. Найти и открыть сервис wnd_{SectionName}GridArea;
    где, {SectionName} — название необходимого раздела.
  3. Создать новый невизуальный компонент типа «Timer»;
  4. В свойствах этого компонента указать интервал обновления (значение указывается в миллисекундах) и его имя;
  5. В событиях этого компонента добавить значение и двойным кликом левой кнопки мышки перейти к его редактированию;
  6. После перехода в скрипт scr_{SectionName}GridArea необходимо добавить следующий код в тело функции:
    function tmRefreshOnTimer(Timer) {
       var Dataset = dlData.Dataset;
       Dataset.Close();
       Dataset.Open();    
    }
  7. Сохранить изменения в скрипте и сервисе, перезапустить Террасофт.

Нравится

Поделиться

12 комментариев

Еще бы сделать это обновление только тогда, когда окно отображается.

"Underscore a.k.a. _" написал:Еще бы сделать это обновление только тогда, когда окно отображается.

Тогда придется еще придумать как обновить окно когда оно снова начинает отображаться.

"Александр Кравчук" написал:Тогда придется еще придумать как обновить окно когда оно снова начинает отображаться.

А почему не привязаться к таймеру ремайдингов , и обновлять активный воркспейс ?

"Денис М" написал:А почему не привязаться к таймеру ремайдингов , и обновлять активный воркспейс ?

Я бы не стал так делать. То что на таймере напоминаний висит еще что-то как-то неочевидно.

"Underscore a.k.a. _" написал:Я бы не стал так делать. То что на таймере напоминаний висит еще что-то как-то неочевидно.
можно в майн добавить свой таймер , чтобы всё было централизированно , тогда можно в любой раздел добавить автоматическое обновление , с возможностью пользовательского интервала обновления

Тогда уже не в главное окно, а в каждый раздел. И включай себе обновление где хочешь с любым интервалом.

"Underscore a.k.a. _" написал:Тогда уже не в главное окно, а в каждый раздел. И включай себе обновление где хочешь с любым интервалом.

точно также можно ремайдинги прописывать в каждом разделе , и вешать каждому таймер :-)

"Денис М" написал:точно также можно ремайдинги прописывать в каждом разделе , и вешать каждому таймер :-)

Что приведет к хорошей дополнительной нагрузке на сервер.
Возникает логический вопрос: "Стоит ли игра свеч?"
Если речь о одном-двух разделах, тогда вполне возможно, а если речь о всех разделах системы?

А зачем напоминания разбивать по разделам?

"Underscore a.k.a. _" написал:А зачем напоминания разбивать по разделам?

Насколько я понимаю этот вариант был предложен Денисом после Вашего сообщения:
"Underscore a.k.a. _" написал:Тогда уже не в главное окно, а в каждый раздел. И включай себе обновление где хочешь с любым интервалом.

То что после я понял, я не понял в чем смысл. Настраивать период обновления для каждого из используемых разделов оно еще понятно. Соответственно с частотой добавления-редактирования записей. А напоминания нужны в одном месте и сразу.
Хотя я, если честно, периодическим обновлением наверноею разделов не стал пользоваться. Это ведь постоянно рефрешились бы детали. Или стал на запись, а пока довел мышку до кнопки Копировать, раздел обновился и курсор стоит на другой записи.

"Underscore a.k.a. _" написал:

Я подошел к вопросу более обще , если обновляющихся разделов более чем один , лучше чтобы обновление происходило из одного места , таким образом можно избежать работающих паралельно таймеров , повторяющихся скриптов , и ошибок которые бы возникли в этом случае
Зная пользователей , если есть один самообновляющийся раздел , они захотят и второй и третий , так что таким образом можно избежать проблемы в будующем :-)

Показать все комментарии