AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.08.2006, 14:11   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Произвольное объединение компаний для отчетов и операций в них
Есть несколько разных компаний. По ним требуется делать консолидированные отчеты, реплицировать какие-то данные между ними (например, вести отдельные справочники номенклатуры, но реплицировать их между компаниями, чтобы везде они были одинаковыми; при этом объединять их через виртуальные компании неприемлемо) и т.д. НО при этом в операциях и отчетах должны участвовать не все компании, а только выбранные, например, для компаний 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  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Глупый вопрос - а вам OLAP не подойдет? - там можно решить все ваши проблемы - общие измерения собирать со всех компаний, смотеть суммы в разрезе компаний или в сумме в произвольных комбинациях и т.п...
Старый 03.08.2006, 14:48   #3  
В гостях:)) is offline
В гостях:))
Участник
SAP
 
27 / 53 (2) ++++
Регистрация: 24.01.2006
Цитата:
Сообщение от MironovI
Глупый вопрос - а вам OLAP не подойдет? - там можно решить все ваши проблемы - общие измерения собирать со всех компаний, смотеть суммы в разрезе компаний или в сумме в произвольных комбинациях и т.п...
Ага, и общие справочники (номенклатуры, контрагентов и тд) сводить в OLAP)
Вам очень неплохо подойдет mySAP ERP. Есть мнение, что решить эту задачу там будет дешевле, чем в AX)
Старый 03.08.2006, 14:57   #4  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Цитата:
Сообщение от В гостях:))
Ага, и общие справочники (номенклатуры, контрагентов и тд) сводить в OLAP)
Вам очень неплохо подойдет mySAP ERP. Есть мнение, что решить эту задачу там будет дешевле, чем в AX)
"На правах рекламы" забыл добавить Сколько стоит энтот mySAP? А microsoft свой олап раздает бездвоздмездно к скулю,т.е. даром
Старый 03.08.2006, 15:02   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от В гостях:))
Вам очень неплохо подойдет mySAP ERP. Есть мнение, что решить эту задачу там будет дешевле, чем в AX)
Эмм... Очень интересно было бы выслушать обоснование этого тезиса.
Но чтобы не нарушать правила, вы можете создать ветку в разделе Сравнение систем и обосновать свой тезис?

Цитата:
Сообщение от MironovI
"На правах рекламы" забыл добавить Сколько стоит энтот mySAP? А microsoft свой олап раздает бездвоздмездно к скулю,т.е. даром
Нет-нет-нет.
Не здесь. Информация действительно интересная, но выглядит жутким оффтопиком в разделе "Axapta: Программирование".

Пожалуйста, переходите в раздел "Сравнение систем".
Не заставляйте нас резать ветку по живому.
__________________
полезное на axForum, github, vk, coub.
Старый 03.08.2006, 16:04   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от MironovI
Глупый вопрос - а вам OLAP не подойдет?
У меня стоит более приземленная задача: с одной стороны, удобно группировать компании по определенным признакам с помощью интерфейса AX (в т.ч. "на лету": сегодня одна группировка, завтра - другая), а с другой - получать в коде приложения эти настройки группировок и использовать их вышеописанным образом или еще как-нибудь (может, на формочки выводить данные, по каким компаниям предполагается строить отчет). Всякие там holy wars на тему AX vs SAP меня в данном вопросе, извините, мало интересуют
Так вот, наиболее прямолинейным способом мне тут представляется добавление каких-нить булевских полей в таблицу DataArea, но поскольку таблица системная, это сопряжено с рядом неудобств. Другим, менее прямолинейным, способом представляется заведение собственной таблички со списком компаний, благо, список этот более-менее постоянен во времени. Я, собственно, хотел услышать мнение по данному вопросу с точки зрения именно программирования и именно в Аксапте - SAP, OLAP, SRS и прочее меня здесь не интересуют просто потому, что указанный функционал используется не только в отчетах, хотя тема, в принципе, навеяна рассуждениями Pavel на тему отчетов по нескольким компаниям.
Старый 03.08.2006, 16:30   #7  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
В Аксапте просто нет нормальных средств для получения данных из разных компаний ОДНИМ запросом - можно только переключаться на время - так что ежели захочется отчет из 3-х разных компаний - его придется в трех компаниях выполнить отдельно а потом данные склеить - поэтому и предлагается пользовать сторониие средства.
Старый 03.08.2006, 17:25   #8  
ziva is offline
ziva
Иван Захаров
Злыдни
Лучший по профессии AXAWARD 2013
 
65 / 106 (4) +++++
Регистрация: 25.03.2005
Цитата:
Сообщение от gl00mie
Есть несколько разных компаний. По ним требуется делать консолидированные отчеты, реплицировать какие-то данные между ними ...
Это стандартные отчеты в Аксапте (например, ОСВ) или же написанные Вами с "нуля"? Какие таблицы в отчетах используются?
Приведите пример отчета.
Старый 03.08.2006, 17:26   #9  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от MironovI
В Аксапте просто нет нормальных средств для получения данных из разных компаний ОДНИМ запросом - можно только переключаться на время - так что ежели захочется отчет из 3-х разных компаний - его придется в трех компаниях выполнить отдельно а потом данные склеить
Я все это знаю У меня не стоит задача построить что-то где-то одним запросом, и не надо меня агитировать за сторониие средства... Я УЖЕ решил эту задачу средствами X++, меня лишь интересует, можно ли это решить проще и.. элегантнее что ли - с точки зрения AX и X++ (пусть даже с точки зрения SAP или OLAP или еще кого это все - кривизна и лишние действия).
Старый 03.08.2006, 18:03   #10  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от ziva
Это стандартные отчеты в Аксапте (например, ОСВ) или же написанные Вами с "нуля"? Какие таблицы в отчетах используются?
Приведите пример отчета.
Отчеты самописные (я сначала думал написать на базе RLedgerSheetEngine*, но они все заточены на формирование не отчетов, и интерактивных форм, а мне это не нужно, да и проблематично работать в одной форме с данными из нескольких компаний), но, опять-таки, хочу обратить внимание, что дело не только в отчетах. На группы компаний завязаны еще некоторые вещи, к отчетам совершенно не относящиеся. Например, для определенной группы компаний при продаже через intercompany (движение товара от одной компании к другой с увеличением себестоимости за счет накладных расходов) в качестве цены продажи подставляется себестоимость товара в данной партии, для других компаний используются ценовые соглашения.
На счет примера отчета: есть внешние поставщики, они торгуют с разными компаниями группы компаний. Каждая из таких компаний - либо забугорная, либо российская (в частности, основные/вторичные валюты везде разные). Платежи могут идти не обязательно через ту же компанию, которой поставляется товар. Еще есть завязки на 1С, и у всех поставщиков установлен внешний код для связи с 1С, соотв., поставщик теоретически может называться в каждой компании по-разному, но по внешнему коду можно понять, кто есть who. По списку компаний строится консолидированная оборотка по внешним поставщикам, проводки по разным поставщикам группируются на основании их внешнего кода. Используются таблицы VendTable, VendTrans, RContractTable, ExtCodeTable, ExtCodeValueTable, а также опосредованно - ExchRates.
Старый 07.08.2006, 13:44   #11  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от MironovI
В Аксапте просто нет нормальных средств для получения данных из разных компаний...
А про Business Views Вы слышали? (Administration/Setup/Business analysis/Business views).
__________________
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  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от gl00mie
В принципе, можно было бы просто завести свою табличку, где перечислить компании и поля-признаки для каждой компании, может, кто-то так реализовывал?
У нас именно так и реализовано. Дополнительная табличка с признаками.

Сама эта табличка со свойством SaveDataPerCompany = No, чтобы не зависеть от текущей компании.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Альтернативные конструкторы отчетов в Axapta Jox DAX: Программирование 22 25.04.2009 22:02
EP2009. Не вижу стандартных отчетов на сервере отчетов. slava09 DAX: Администрирование 8 19.08.2008 08:03
Объединение отчетов Rect DAX: Программирование 5 31.08.2006 11:14
несколько компаний -- странное видение robocomp DAX: Прочие вопросы 6 06.07.2005 19:32
Проверка количества компаний в 3.0 CIS SP3 Valery DAX: Администрирование 16 20.04.2005 17:29

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:27.