20.04.2016, 17:59 | #6 |
Moderator
|
Мне вариант 1 кажется наиболее реалистичным. Сделать тупое зеркалирование самих ресурсных таблиц - не сложно и не очень рисковано. Кроме того - понадобится сделать зеркалирования календаря и таблицы резервирования ресурсов (WrkCtrCapRes). Это несколько облегчается тем чт о в резервирование ресурсов данные пишутся буквально в паре 3-4 местах - WrkCtrScheduler, ReqCalc, еще классы копирования и удаления сводного плана. Конечно зеркалирование подъест ресурсов, но сам перебор рабочих центров при ресурсном планировании съедает больше чем запись информации о резервах в БД.
Ну и наконец - однозначно надо будет глобализовать (установить SaveDataPerCompany=No) для таблицы WrkCtrSchedulerLock. Возможно не все это знают, но в данный момент времени, ресурсным планированием может заниматься только одна сессия - которая эту самую таблицу и залокировала. (Кстати - по этой причине если у тебя много плановых производственных заказов, распараллеливание на несколько пакетников не дает большого эффекта - большая часть задач просто тупо ждет освобождения этого семафора). В вашем случае, чтобы несколько сессий в разных компаниях не попатались запланировать одни и те же мощности, надо сделать этот семафор глобальным. Тогда следующая сессия начнет планирование только после того как текущая сессия запишет во все компании все свои резервирования. В общем - конечно при таком подходе тоже могут быть трудности, но мне он кажется самым реалистичным и реализуемом при разумном объеме затрат. |
|
|
За это сообщение автора поблагодарили: Logger (1), gl00mie (2), sgt.Pepper (1). |