BroadcastDBUpdate

From SunFlurry wiki
Jump to: navigation, search
  BroadcastDBUpdate (Серверные функции)
Объект:Функции общего назначения
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Сервер
Исключения:Невозможно превратить в строку, число
Визуальность:Нет

Функция рассылает запросы на обновление форм, содержащих таблицы базы данных указанного типа в текущей системе или глобально по всем клиентам сервера. В последнем случае, нужно быть осторожным, чтобы не перегружать сервер внезапным большим количеством запросов, даже с учетом того, что серверная часть использует особую систему замедления отправки запросов клиентам. Функция может использоваться для журналов или справочников, за которыми следят большое количество операторов. Функция позволяет использовать обновление только в нужное время, чтобы не перегружать сервер базы данных, использование такой возможности вместо настройки автоматического обновления в редакторе форм зачастую предпочтительнее, но усложняет текст программы.

Синтаксис

BroadcastDBUpdate(<Тип базы данных (STRING)>,<Для всех пользователей (INT)>=0):<Сообщение успешно отправлено (INT)>

Аргументы

  • <Тип базы данных (STRING)> - Тип базы данных, таблицы с которым должны быть обновлены, в виде <Тип базы данных>.<Вид базы данных> (к примеру REF.Номенклатура).
  • <Для всех пользователей (INT)> - (необязательный аргумент) Режим отправки сообщения, может принимать значения:
    • 0 (по умолчанию) -- отправка сообщения об обновлении только внутри текущего клиента. Все таблицы, которые содержат указанных тип будут обновлены (обычно система сама выполняет такое действие при визуальном сохранении объекта, однако, если объект изменен программно, возможно, потребуется воспользоваться этой функцией).
    • 1 -- отправка сообщения об обновлении всем пользователям сервера. Сообщения такого рода отправляются каждому клиенту по очереди с небольшим периодом ожидания, чтобы исключить внезапную загрузку сервера.

Возвращаемое значение

Возвращает 1, если сообщение отправлено успешно, 0, в ином случае.


Примеры

//Отправить обновление журнала всем пользователям после сохранения документа, входящего в журнал
BroadcastDBUpdate("Jor.Отгрузка",1);