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. |
|
03.08.2006, 14:19 | #2 |
Участник
|
Глупый вопрос - а вам OLAP не подойдет? - там можно решить все ваши проблемы - общие измерения собирать со всех компаний, смотеть суммы в разрезе компаний или в сумме в произвольных комбинациях и т.п...
|
|
03.08.2006, 14:48 | #3 |
Участник
|
Цитата:
Сообщение от MironovI
Глупый вопрос - а вам OLAP не подойдет? - там можно решить все ваши проблемы - общие измерения собирать со всех компаний, смотеть суммы в разрезе компаний или в сумме в произвольных комбинациях и т.п...
Вам очень неплохо подойдет mySAP ERP. Есть мнение, что решить эту задачу там будет дешевле, чем в AX) |
|
03.08.2006, 14:57 | #4 |
Участник
|
Цитата:
Сообщение от В гостях:))
Ага, и общие справочники (номенклатуры, контрагентов и тд) сводить в OLAP)
Вам очень неплохо подойдет mySAP ERP. Есть мнение, что решить эту задачу там будет дешевле, чем в AX) |
|
03.08.2006, 15:02 | #5 |
Участник
|
Цитата:
Сообщение от В гостях:))
Вам очень неплохо подойдет mySAP ERP. Есть мнение, что решить эту задачу там будет дешевле, чем в AX)
Но чтобы не нарушать правила, вы можете создать ветку в разделе Сравнение систем и обосновать свой тезис? Цитата:
Сообщение от MironovI
"На правах рекламы" забыл добавить Сколько стоит энтот mySAP? А microsoft свой олап раздает бездвоздмездно к скулю,т.е. даром
Не здесь. Информация действительно интересная, но выглядит жутким оффтопиком в разделе "Axapta: Программирование". Пожалуйста, переходите в раздел "Сравнение систем". Не заставляйте нас резать ветку по живому. |
|
03.08.2006, 16:04 | #6 |
Участник
|
Цитата:
Сообщение от MironovI
Глупый вопрос - а вам OLAP не подойдет?
Так вот, наиболее прямолинейным способом мне тут представляется добавление каких-нить булевских полей в таблицу DataArea, но поскольку таблица системная, это сопряжено с рядом неудобств. Другим, менее прямолинейным, способом представляется заведение собственной таблички со списком компаний, благо, список этот более-менее постоянен во времени. Я, собственно, хотел услышать мнение по данному вопросу с точки зрения именно программирования и именно в Аксапте - SAP, OLAP, SRS и прочее меня здесь не интересуют просто потому, что указанный функционал используется не только в отчетах, хотя тема, в принципе, навеяна рассуждениями Pavel на тему отчетов по нескольким компаниям. |
|
03.08.2006, 16:30 | #7 |
Участник
|
В Аксапте просто нет нормальных средств для получения данных из разных компаний ОДНИМ запросом - можно только переключаться на время - так что ежели захочется отчет из 3-х разных компаний - его придется в трех компаниях выполнить отдельно а потом данные склеить - поэтому и предлагается пользовать сторониие средства.
|
|
03.08.2006, 17:25 | #8 |
Иван Захаров
|
Цитата:
Сообщение от gl00mie
Есть несколько разных компаний. По ним требуется делать консолидированные отчеты, реплицировать какие-то данные между ними ...
Приведите пример отчета. |
|
03.08.2006, 17:26 | #9 |
Участник
|
Цитата:
Сообщение от MironovI
В Аксапте просто нет нормальных средств для получения данных из разных компаний ОДНИМ запросом - можно только переключаться на время - так что ежели захочется отчет из 3-х разных компаний - его придется в трех компаниях выполнить отдельно а потом данные склеить
|
|
03.08.2006, 18:03 | #10 |
Участник
|
Цитата:
Сообщение от ziva
Это стандартные отчеты в Аксапте (например, ОСВ) или же написанные Вами с "нуля"? Какие таблицы в отчетах используются?
Приведите пример отчета. На счет примера отчета: есть внешние поставщики, они торгуют с разными компаниями группы компаний. Каждая из таких компаний - либо забугорная, либо российская (в частности, основные/вторичные валюты везде разные). Платежи могут идти не обязательно через ту же компанию, которой поставляется товар. Еще есть завязки на 1С, и у всех поставщиков установлен внешний код для связи с 1С, соотв., поставщик теоретически может называться в каждой компании по-разному, но по внешнему коду можно понять, кто есть who. По списку компаний строится консолидированная оборотка по внешним поставщикам, проводки по разным поставщикам группируются на основании их внешнего кода. Используются таблицы VendTable, VendTrans, RContractTable, ExtCodeTable, ExtCodeValueTable, а также опосредованно - ExchRates. |
|
07.08.2006, 13:44 | #11 |
Administrator
|
Цитата:
Сообщение от MironovI
В Аксапте просто нет нормальных средств для получения данных из разных компаний...
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
07.08.2006, 14:22 | #12 |
Участник
|
Цитата:
Сообщение от gl00mie
В принципе, можно было бы просто завести свою табличку, где перечислить компании и поля-признаки для каждой компании, может, кто-то так реализовывал?
Сама эта табличка со свойством SaveDataPerCompany = No, чтобы не зависеть от текущей компании. |
|