03.08.2006, 14:11 | #1 |
Участник
|
Произвольное объединение компаний для отчетов и операций в них
Есть несколько разных компаний. По ним требуется делать консолидированные отчеты, реплицировать какие-то данные между ними (например, вести отдельные справочники номенклатуры, но реплицировать их между компаниями, чтобы везде они были одинаковыми; при этом объединять их через виртуальные компании неприемлемо) и т.д. НО при этом в операциях и отчетах должны участвовать не все компании, а только выбранные, например, для компаний A, B, C ,D, E у A, B и D должен быть одинаковый справочник номенклатуры, определенные отчеты надо делать консолидированно по B, C, D и еще по A, E...
При всем при этом есть стойкое отвращение к тому, чтобы зашивать списки компаний в код, хочется иметь возможность делать какие-то выборки, типа:
На данный момент придуман способ на основе виртуальных компаний (только сильно не пинайте ). Под каждую задачу заводится таблица-пустышка, табличная коллекция, ее включающая, и виртуальная компания на основе этой табличной коллекции. Соотв., в коде проверяется, через какую виртуальную компанию доступна та или иная таблица-пустышка, затем идет перечисление того, какие еще компании входят в эту виртуальную, и для них осуществляются какие-то дейтсвия (реплицируются данные или берутся данные для отчета). В интерфейсе же все просто: создали виртуальную компанию "реплицируемая номенклатура" или "общая оборотка", включили в нее компании - и все. Надо - исключили их оттуда... Но, по правде сказать, в приложении вместо всяких промежуточных шагов хотлось бы просто делать выборку по определенному полю в DataArea, а в интерфейсе - сделать формочку, где для компаний проставлять те или иные крыжики. Так вот, у кого-нить была такая задача? Как можно без грубой силы добавить дополнительное поле в DataArea? Если сделать это средствами SQL, то не похерится ли поле при очередной синхронизации таблиц? Может, надо еще добавить его в SqlDictionary? кто-нить заморачивался с этим? Или, может, есть какие-то простые способы не через DataArea? В принципе, можно было бы просто завести свою табличку, где перечислить компании и поля-признаки для каждой компании, может, кто-то так реализовывал? Последний раз редактировалось gl00mie; 03.08.2006 в 18:06. |
|