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