Цитата:
Сообщение от
EVGL
Плохо. Скорее всего, в разных компаниям одним и тем же InventDimId соответствуют разные комбинации аналитик. Придется писать автоматизированный job, которые сможет обновить все поля xxx.InventDimId.
Согласен - плохо.
Согласен - job.
Не согласен про экспорт/импорт. Мне кажется, что в данном случае он запутает дело.
Алгоритм job'а.
1. Создать дубль CopyOfInventDim
2. Цикл по всем компаниям
2.1. Скопировать все строчки InventDim в CopyOfInventDim
2.2. Конец цикла
3. Перекинуть InventDim в виртуальную компанию.
4. Цикл по всем компаниям
4.1. Цикл по всем таблицам и полям, которые содержат поле типа InventDimID
4.1.1. CopyOfInventDim::find(table.InventDimID)
4.1.2. buf2buf(CopyOfInventDim, InventDim) // Скопировать все несистемные поля из CopyOfInventDim в InventDim:
4.1.3. inventDim = InventDim::findOrCreate(inventDim)
4.1.4. table.inventDimId = inventDim.inventDimId
4.1.5. table.doUpdate()
4.1.6. Конец цикла по полям и таблицам
4.2. Конец цикла по компаниям
Другими словами - пересоздайте InventDim.
Так вы получите гарантировано правильные RecID и гарантировано уникальные комбинации