Функция СЧИТАТЬ_ВЕКТОРА_СВЯЗЕЙ
Для работы требуется соединение с базой данных.
Функция СЧИТАТЬ_ВЕКТОРА_СВЯЗЕЙ получает список направленных связей (векторов) операций. Отбор получаемых связей может осуществляться по имени журнала и фильтру операций. Фильтр операций применяется только при заданном имени журнала. Условия отбора по началу и концу связи независимы.
ФУНКЦИЯ ЛОГИКА: СЧИТАТЬ_ВЕКТОРА_СВЯЗЕЙ(СТРОКА: журнал1;
ФИЛЬТР: фильтр1;
СТРОКА: журнал2;
ФИЛЬТР: фильтр2;
ПЕРЕМ ВЕКТОР_СВЯЗИ: результат[])
Параметры
- журнал1
- Имя журнала, к которому относится начало связи. Если задана пустая строка, отбора по началу связи не производится.
- фильтр1
- Фильтр операций начала связи. Учитывается только, когда задан параметр журнал1.
- журнал2
- Имя журнала, к которому относится конец связи. Если задана пустая строка, отбора по концу связи не производится.
- фильтр2
- Фильтр операций конца связи. Учитывается только, когда задан параметр журнал2.
- результат
- Выходной параметр. Список считанных векторов связей операций.
Возвращаемое значение
ДА – в случае успешного считывания, НЕТ – в случае ошибки.
Обрабатывать результат можно с помощью функции ПОСЛ_ОШИБКА.
Замечания:
- Если параметры журнал1 и журнал2 заданы как пустые строки, то происходит считывание всех существующих связей для всех журналов. Следует избегать такого применения, т.к. полученный список может быть очень большим.
- Если указаны имена журналов, но параметры фильтр1 и фильтр2 имеют значение по умолчанию, то происходит считывание всех существующих связей между операциями двух журналов. Для масштабируемости прикладного решения следует избегать такого применения, т.к. количество связей растет с количеством операций в журналах.
- Для отбора связей между операциями одного журнала можно указать равными параметры журнал1 и журнал2.
Пример
ПЕРЕМ ФИЛЬТР: ф1
// диапазон за последние сутки
ф1.макс_диапазон = НЕТ
ф1.диапазон.конец = ДАТА_ВРЕМЯ_ТЕК
ф1.диапазон.начало.дата = ф1.диапазон.конец.дата - 1;
ПЕРЕМ ВЕКТОР_СВЯЗИ: список[]
ПЕРЕМ рез = СЧИТАТЬ_ВЕКТОРА_СВЯЗЕЙ("ЖурДТМЦ", ф1, "ЖурналХозОпер", [], список)
ОТЛАДКА(рез)
ОТЛАДКА(#список)
ЦИКЛ ИНДЕКС(св = список[*])
ОТЛАДКА(св)
КОНЕЦ_ЦИКЛА