Files
autodesk/migration/audits/p-rec-bop-plant3d-2019/reusable-components.md
T

25 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Повторное использование в DocumentAutomation
| Компонент | Классификация | Решение |
|---|---|---|
| DTO title block и строки таблицы | REUSE_AFTER_ISOLATION | сделать чистые record-модели |
| группировка материалов/элементов | REIMPLEMENT_WITH_SAME_BEHAVIOR | покрыть golden tests, не переносить DataRow-зависимости |
| DCF/Plant чтение | USE_AS_REFERENCE_ONLY | отдельный Plant 2019/2026 adapter |
| жесткое заполнение `Tables[1]`/`Cells[n]` | REIMPLEMENT_WITH_SAME_BEHAVIOR | schema/slot IDs, диагностика отсутствующих слотов |
| копирование шаблона и временный output | REUSE_AFTER_ISOLATION | безопасный atomic output и cleanup |
| Word COM cleanup | DO_NOT_REUSE | переписать с STA worker, try/finally и release proxy |
| SautinSoft fallback | USE_AS_REFERENCE_ONLY | отдельно подтвердить лицензию и round-trip |
| обновление полей | REUSE_AFTER_ISOLATION | адаптер Word/Open XML и тест headers/footers |
DocumentAutomation уже имеет смысл использовать как единый document engine, но контракт P_Rec_BOP сначала нужно зафиксировать на golden sample. Существующий P_Rec_BOP-код не переносить автоматически.
## Required DocumentAutomation Skills
1. Legacy DOCX template inventory и безопасная копия шаблона — источник `Worder.Load`, приоритет P0.
2. Table-slot mapping/clone-row — `Worder.AddNewRowToTable`, P0.
3. Header/footer field update — `Worder.UpdateAllFields` и `WriteOutTitleBlock`, P1.
4. Plant DTO → document slots — `ReportWithWorder`, `SetMainTitle`, P0.
5. Word COM STA lifecycle/cleanup — `Worder.Load/SaveAndUnload`, P0.
6. PDF export и deterministic filename — в старом коде PDF не найден, требуется отдельный контракт, P2.
7. Plant project data adapter — `Program`, `PipingElements`, `Welds`, P0.