17.10.2014, 19:11 | #1 |
Участник
|
axforum blogs: О сколько нам открытий чудных (R3 Retail)
Источник: http://axforum.info/forums/blog.php?b=8157
============== Краткий перечень неожиданностей, с которыми встретился при знакомстве с Retail. 1. Установка. Количество устанавливаемых и неустанавливаемых компонент из раздела Retail инсталятора. Надо изучить инструкцию и попробовать несколько раз чтобы понять, что куда и в какой последовательности устанавливается. 2. Способ обмена данными. За всеми сервисами асинхронного и синхронного обмена, обменными базами и пр. лежит обмен файлами через расшаренную папку, в которую одна сторона кладет, а вторая читает файлики. 3. Базы. Где какие базы и какая часть ритейла к ним обращается удалось понять не сразу, а после нескольких попыток установить и настроить связи. 4. Сервисы. После установки сервисов надо править их config файлы ручками, чтобы они нормально могли взаимодействовать между собой и DAX, и чтобы смотреть их логи. 5. Джобы. Чтобы заработали джобы по выгрузке данных надо запустить процедуру генерации классов обмена.(Схема канала розничной торговли - Создание классов) 6. Операторы POSа. Привязка сотрудников (и клиентов) к некоторому магазину осуществляется через указания в них "адресной книги" связанной с магазином. 7. Новый клиент. Клиент заведенный на POS может не попасть в список клиентов при следующем поиске. Так как создается непосредственно в DAX через сервис и бизнес-коннектор, а ищется в локальной БД канала продаж. 8. Operation Unit. Магазин должен быть обязательно сопоставлен с Operation Unit, так как в нескольких местах именно через OU идет связывание сущностей. 9. Остатки. При просмотре остатков учитывается настройка групп магазинов и адреса связанных OU. Без настройки этого на POSе остатков со складов не увидеть. 10. Retail Transaction Service. Сервис (веб-приложение), который принимает запросы от POSа и переадресует их в статические методы одноименных классов DAX через BC. Поразила прямолинейность процесса (куча статических методов на классах) и собственно реализация, когда в один метод засунут и разбор XML и создание всех сущностей без применения каких-нибудь aif или классов генерации документов. 11. Транзакции. Чтобы начать получать данные об операциях из POSа надо выполнить процедуру перегенерации временных таблиц (почему нельзя было сразу сделать их нормальными на SYS?) настройкой джоба P-0001 (Задание планировщика - Создать промежуточную таблицу) 12. Layouts. Интерфейс POSа можно всячески поднастраивать из DAX. Однако, редактор кнопок и менюх входит в раздел Retai Headquarter инсталятора. Источник: http://axforum.info/forums/blog.php?b=8157
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
17.10.2014, 19:52 | #2 |
Участник
|
Цитата:
сделано для скорости. и только для скорости. временные таблицы заполняет bulk insert и генерация recid не выполняется. в общем, это очень даже неспроста. |
|
17.10.2014, 19:56 | #3 |
Участник
|
Цитата:
"Классы обмена" - это прямые sql-команды. В обход аксаптовского движка. собственно такие извраты и позволили Майкрософту говорить об ускорении до 100 раз. но в коде стало намного сложнее. |
|
17.10.2014, 21:52 | #4 |
Участник
|
Большая часть неожиданностей описана в документации - неожиданно
__________________
Ivanhoe as is.. |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
17.10.2014, 23:04 | #5 |
Участник
|
Цитата:
Последний раз редактировалось gl00mie; 17.10.2014 в 23:07. |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
18.10.2014, 00:12 | #6 |
----------------
|
Цитата:
Хочется установить все из инсталятора и пользоваться... а не выходит. |
|
18.10.2014, 00:31 | #7 |
----------------
|
|
|
18.10.2014, 00:34 | #8 |
----------------
|
На счет документации.
Вы ее всю изучили и поставили Retail POS с первого раза так, что все сразу "завелось"? Снимаю шляпу. |
|
18.10.2014, 01:06 | #9 |
Участник
|
Цитата:
временные таблицы появляются в usr при включении модуля retail в параметрах. а вот почему эти редиски (нехорошие люди) сделали именно так - да, это хороший вопрос. редиски, по-моему. Цитата:
напомню, что генерируется: таблица+поля+индексы+2 метода в таблице. не, официальная демомашина со стабильной версией работает как часы. да, последняя бета-версия CU8 глючит. Но на то она и бета. Для изучения стоит юзать демо-машину со стабильным релизом R3 CTP5. какое? что там прямые запросы? дык, в коде написано. или о чем? Цитата:
полностью со всеми службами, у меня, например, ни разу не получилось. поэтому юзаю демомашину. но, таки да, раза с 10-20 уже почти все устанавливаю. |
|
24.10.2014, 18:37 | #10 |
----------------
|
продолжаем разговор...
Наконец-то добрался еще разок посмотреть на retail.
Если все делать "по уму", то на пустой базе DAX2012R3 нужно нажимать кнопочку "Инициализировать" в форме параметров розничной торговли (может еще где есть "волшебная кнопка?") Тогда классик RetailConnSeedDataGenerator запустит процесс самогенерации настроек и кода модуля: RetailConnChannelSchema создаст схемы каналов в RetailConnSeedDataGenerator.run() - создадутся стандартные настройки интерфейсов POSов - розничные отчеты - настройка Offfline базы - и т.д. RetailCDXSeedData, используя RetailCDXSeedData_AX63 как шаблон, создает Задания планировщика(jobs), Подзадания(subJobs), Списки полей переноса RetailConnCreateUploadTempDBTable::GenerateTempDBTableForJobByJobID('P-0001') создаст для всех подзаданий нужные временные таблицы RetailCDXCodeGen для схемы канала 'AX 2012 R3' будут созданы классы RetailCDXChannelSpecificData_AX63, RetailCDXXmlDataOutput_AX63 Ну и инкрементная CIL компиляция. Но мне досталась система в состоянии "Мы поставили retail, но он не работает. Помоги разобраться почему." Видимо, все настройки модуля не генерировались, а переносились с демо-базы. Поэтому таблицы перенеслись, а вот сгенеренный функционал нет. Цитата:
Да, все правильно, генерятся временные таблицы на основании настроек подзаданий задания 'P-0001'. Одна из таких настроек имя этой временной таблицы, которое в исходном шаблоне (RetailCDXSeedData_AX63) прописана везде как ИмяПостояннойТаблицы+'T'. Однако, если взглянуть в код, то видно, что по умолчанию имя временной таблицы формируется как ИмяПостояннойТаблицы+'X', а такие таблицы в SYS есть. То ли про них забыли, то ли от них отказались я не понял. Здесь речь шла о кнопке "Создание классов" в форме Схема канала розничной торговли, и, соответственно о создаваемых классах RetailCDXChannelSpecificData_AX63, RetailCDXXmlDataOutput_AX63. Конечно, я не изучил их внимательно, но "прямые sql-команды. В обход аксаптовского движка" я там не увидел. |
|
|
За это сообщение автора поблагодарили: -DocSerzh- (1). |
|
|