На вкладке «Настройки» можно посмотреть или изменить (не рекомендуется) полный путь к файлу с настройками Settings. xml.
15. Приложение 1.
Описание правил обработки, использующихся при загрузке данных из внешних источников в систему САПФИР.
15.1. Типы правил обработки
Все правила обработки имеют свой набор параметров, тип и количество которых заданы в базе. В качестве значения параметра могут быть указаны:
- константа
- ссылка на параметр версии настроек
- идентификатор таблицы
- идентификатор классификатора.
Правила обработки в подсистеме загрузки делятся на 3 типа:
Проверка Обработка Вычисление параметраПервый тип правил служит для контроля над целостностью данных. Эти правила позволяют при невыполнении заданного условия остановить загрузку и выдать сообщение пользователю.
Второй тип правил служит для обработки исходных и целевых таблиц в процессе загрузки. Эти правила могут изменять значения в полях таблиц, удалять записи по условию, делать перенос одного поля из одной таблицы в другую и т. п.
Третий тип правил используется для вычисления параметров версии настроек перед обращением к внешним (исходным) таблицам источника. Это позволяет вычислить имена файлов, директории, параметры коннекции в зависимости от того, какое значение принимает параметр. Кроме того, правила третьего типа могут быть настроены на выполнение на этапах обработки исходных и рабочих таблиц. Результатом работы этих правил являются скалярные значения, которые могут быть использованы далее для присвоения полям таблиц либо сравнения с другими параметрами. Таблица, с которой связано данное правило, далее называется «контекстной».
15.2. Этапы загрузки
Загрузка данных из внешнего источника разбита на несколько этапов:
1. Вычисление параметров
2. Загрузка исходных таблиц источника во временные на SQL-server
3. Обработка временных (º исходных) таблиц
4. Перенос исходных таблиц в целевые (на карантине) согласно настройкам маппирования полей
5. Обработка целевых таблиц, находящихся в карантине
6. Очистка области импорта в таблице Хранилища
7. Перенос целевых таблиц их карантина в Хранилище.
Загрузка элементов классификатора выделена в отдельный этап, сходный с правилами по обработке исходных таблиц при загрузке данных. На этом этапе нет возможности вычислять параметры, т. к. это редкая задача и параметры там не предусмотрены.
Далее следует список правил обработки с их подробным описанием.


Список правил обработки
Тип правила | Название правила | Этапы импорта данных | |||
Загрузка элементов классификатора | Вычисление параметров (первый этап) | Обработка исходных таблиц | Обработка целевых таблиц | ||
Вычисление параметра | Взять подстроку | + | + | + | |
Вычисление параметра | Вычесть | + | + | + | |
Вычисление параметра | Заменить подстроку | + | + | + | |
Вычисление параметра | Объединение строк | + | + | + | |
Вычисление параметра | Подсчет количества записей | + | + | ||
Вычисление параметра | Подсчет суммы по указанному полю | + | + | ||
Вычисление параметра | Произвольная формула (1 параметр) | + | + | + | |
Вычисление параметра | Произвольная формула (2 параметра) | + | + | + | |
Вычисление параметра | Разделить | + | + | + | |
Вычисление параметра | Сложить | + | + | + | |
Вычисление параметра | Умножить | + | + | + | |
Обработка таблиц | Все поля: удаление лишних пробелов | + | + | ||
Обработка таблиц | Вычисление выражения | + | + | ||
Обработка таблиц | Вычисление суммы | + | |||
Обработка таблиц | Группировка записей в РТ по набору кодов | + | |||
Обработка таблиц | Группировка по месяцам | + | |||
Обработка таблиц | Добавить узлы на промежуточных уровнях | + | |||
Обработка таблиц | Заполнение поля из другой таблицы | + | + | ||
Обработка таблиц | Конвертировать в бизнес-код | + | + | ||
Обработка таблиц | Найти родительские элементы | + | |||
Обработка таблиц | Расщепление суммы | + | |||
Обработка таблиц | Убрать лишние пробелы | + | + | ||
Обработка таблиц | Удаление записей из РТ, если дублируется набор кодов | + | |||
Обработка таблиц | Удаление записей по условию | + | + | + | |
Обработка таблиц | Удаление из справочника дублирующихся кодов | + | + | ||
Проверка | Проверка на уникальность одного поля | + | + | ||
Проверка | Проверка отсутствия NULL-ов | + | + | ||
Проверка | Проверка справочников источника | + | + | ||
Проверка | Сравнение значений 2-х параметров | + | + |
15.3. Описание правил обработки
15.3.1. Взять подстроку
Правило служит для вычисления текстового параметра.
Входные параметры:
Название | Объект | Тип значения в базе | Комментарий |
Исходная строка | – | nvarchar(1024) | Строка, часть которой надо вырезать |
Начальная позиция | – | int | Начальная позиция |
Количество знаков | – | int | Количество знаков |
Это правило использует функцию substring и работает аналогично.
Отсчёт символов начинается с единицы. Например, substring(‘ABCDE’, 2, 3) = ‘BCD’.
15.3.2. Вычесть
Правило служит для вычисления параметра числового типа (int, real, float, decimal, money,…)
Входные параметры:
Название | Объект | Тип значения в базе | Комментарий |
Уменьшаемое | – | money | |
Вычитаемое | – | money | |
Тип параметра 1 | – | nvarchar(32) | Тип параметра 1 (уменьшаемое) |
Тип параметра 2 | – | nvarchar(32) | Тип параметра 2 (вычитаемое) |
Результат вычисления будет конвертирован в тот тип, который имеет вычисляемый параметр. Если в качестве одного из параметров указана константа, то необходимо вручную написать её тип в соответствующее поле. Например, для числа 1000 нужно написать “int” или “money” (без кавычек).
15.3.3. Заменить подстроку
Правило служит для вычисления текстового параметра.
Входные параметры:
Название | Объект | Тип значения в базе | Комментарий |
Исходная строка | – | nvarchar(1024) | |
Что заменить | – | nvarchar(1024) | |
Что подставить | – | nvarchar(1024) |
Если в качестве значения любого из входных параметров используется константа, то в кавычки её заключать не нужно.
15.3.4. Объединение строк
Правило служит для вычисления текстового параметра.
Входные параметры:
Название | Объект | Тип значения в базе | Комментарий |
Первая строка | – | nvarchar(1024) | |
Вторая строка | – | nvarchar(1024) |
Константы в кавычки заключать не нужно.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |


