Правила организации списка позиций справочника при импорте из Excel
Правила организации списка позиций справочника при импорте из Excel
Так как синхронизируемые или новые позиции представляют собой список, а конечный вид справочника представляет собой дерево, то платформа Tangl использует механизм автоматического распознавания родительских и дочерних позиций и выстраивания их в дерево.
Базовые свойства позиции
У каждой позиции есть несколько обязательных свойств, которые имеют важное значение при импорте или синхронизации:
- Код(обязательное) - полный код позиции. Как правило, состоит из нескольких модулей. Например:
А.01.12-003
- Имя(обязательное) - имя позиции.
Организация позиций при импорте в пустой справочник
При импорте в пустой справочник все позиции имеют статус новых. При этом единственным свойством, по которому их можно организовать в дерево является Код позиции.
При импорте Tangl сам раскладывает коды позиций на модули и исходя из этого определяет их соподчиненнность. При этом действуют следующие правила:
- Разделители модулей могут быть представлены любыми знаками.
- Порядок позиций в списке не имеет значения, так как их соподчиненность и конечный порядок определяется по кодам.
- Если в списке присутствует позиция с кодом второго уровня (например, 12.20), но отсутствует родительская позиция с кодом первого уровня (например, 12), то дочерняя позиция не будет импортирована, а будет проигнорирована, так как система не найдет для нее родителя при соподчинении.
- Пустые строки или строки с отсутствующими кодами или именами игнорируются.
Примерсписка импортируемых позиций:
┌─────────┬────────────┐
│Код │ Имя │
├─────────┼────────────┤
│01 | ST │ //✔ Новая.
│02 | AR │ //✔ Новая.
│ │ │ //✖ Пустая строка. Проигнорирована
│01.10 │ Walls │ //✔ Новая дочерняя. Родитель: 01
│01.20 │ Slabs │ //✔ Новая дочерняя. Родитель: 01
│04.10 │ Pipes │ //✖ Новая дочерняя. Родитель: 04. Проигнорирована
└─────────┴────────────┘
Результат импорта в справочнике:
01 ST
└─ 01.10 Walls
└─ 01.20 Slabs
02 AR
Организация позиций при импорте в непустой справочник
При импорте в справочник, в котором уже есть существующие позиции, импортируемые позиции могут иметь статус новых или обновляемых.
Ксли импортируемая позиция отсутсвует в справочнике, то к ней применяются правила, изложенные выше плюс дополнительные:
- Система будет искать родителя не только в импортируемом списке позиций, но и в справочнике, в который происходит импорт.
- Если позиция с определенным кодом уже присутствует в справочнике, то поиск родителя для нее производиться не будет, так как позиция не требует организации в дереве.
Пример справочника, в который производится импорт:
01 ST
└─ 01.10 Walls
02 AR
04 MEP
Примерсписка импортируемых позиций:
┌─────────┬────────────┐
│Код │ Имя │
├─────────┼────────────┤
│02 | AR │ //✔ Существующая. Обновлена.
│ │ │ //✖ Пустая строка. Проигнорирована
│01.10 │ Walls 200 │ //✔ Существующая дочерняя. Родитель 01 найден в справочнике. Обновлена
│01.20 │ Slabs │ //✔ Новая дочерняя. Родитель 01 найден в справочнике
│04.10 │ Pipes │ //✔ Новая Дочерняя. Родитель для нее: 04найден в справочнике
└─────────┴────────────┘
Результат импорта в справочнике:
01 ST
└─ 01.10 Walls 200
└─ 01.20 Slabs
02 AR
04 MEP
└─ 04.10 Pipes