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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.10.2014, 19:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,459 / 846 (79) +++++++
Регистрация: 28.10.2006
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  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Blog bot Посмотреть сообщение
11. Транзакции. Чтобы начать получать данные об операциях из POSа надо выполнить процедуру перегенерации временных таблиц (почему нельзя было сразу сделать их нормальными на SYS?) настройкой джоба P-0001 (Задание планировщика - Создать промежуточную таблицу)
Это нововведение в ax2012 (В ax2009 были простые таблицы)
сделано для скорости. и только для скорости.
временные таблицы заполняет bulk insert и генерация recid не выполняется.
в общем, это очень даже неспроста.
Старый 17.10.2014, 19:56   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Blog bot Посмотреть сообщение
5. Джобы. Чтобы заработали джобы по выгрузке данных надо запустить процедуру генерации классов обмена.(Схема канала розничной торговли - Создание классов)
Те же соображения. Скорость и только скорость.
"Классы обмена" - это прямые sql-команды. В обход аксаптовского движка.

собственно такие извраты и позволили Майкрософту говорить об ускорении до 100 раз. но в коде стало намного сложнее.
Старый 17.10.2014, 21:52   #4  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Большая часть неожиданностей описана в документации - неожиданно
__________________
Ivanhoe as is..
За это сообщение автора поблагодарили: mazzy (2).
Старый 17.10.2014, 23:04   #5  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Blog bot Посмотреть сообщение
4. Сервисы. После установки сервисов надо править их config файлы ручками, чтобы они нормально могли взаимодействовать между собой и DAX, и чтобы смотреть их логи.
Для редактирования этих config-файлов рекомендуют SvcConfigEditor.exe, который входит в Windows SDK.

Последний раз редактировалось gl00mie; 17.10.2014 в 23:07.
За это сообщение автора поблагодарили: mazzy (2).
Старый 18.10.2014, 00:12   #6  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Цитата:
Сообщение от mazzy Посмотреть сообщение
Это нововведение в ax2012 (В ax2009 были простые таблицы)
сделано для скорости. и только для скорости.
временные таблицы заполняет bulk insert и генерация recid не выполняется.
в общем, это очень даже неспроста.
Это все здорово и они уже есть в SYS, но что мешало их сделать сразу правильной структуры? Почему те кто менял структуру постоянных таблиц не смог изменить структуру временной? Или может те кто готовил дистриб не знали о документированной фичи генерации таблиц? А еще прикольней это наблюдать на демо-машине.
Хочется установить все из инсталятора и пользоваться... а не выходит.
Старый 18.10.2014, 00:31   #7  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Цитата:
Сообщение от mazzy Посмотреть сообщение
Те же соображения. Скорость и только скорость.
"Классы обмена" - это прямые sql-команды. В обход аксаптовского движка.
На чем основано это утверждение?
Старый 18.10.2014, 00:34   #8  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
На счет документации.
Вы ее всю изучили и поставили Retail POS с первого раза так, что все сразу "завелось"?

Снимаю шляпу.
Старый 18.10.2014, 01:06   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Wamr Посмотреть сообщение
Это все здорово и они уже есть в SYS, но что мешало их сделать сразу правильной структуры?
временных таблиц нет в sys
временные таблицы появляются в usr при включении модуля retail в параметрах.

а вот почему эти редиски (нехорошие люди) сделали именно так - да, это хороший вопрос. редиски, по-моему.

Цитата:
Сообщение от Wamr Посмотреть сообщение
Или может те кто готовил дистриб не знали о документированной фичи генерации таблиц?
что за процедура?
напомню, что генерируется: таблица+поля+индексы+2 метода в таблице.

Цитата:
Сообщение от Wamr Посмотреть сообщение
Хочется установить все из инсталятора и пользоваться... а не выходит.
не, официальная демомашина со стабильной версией работает как часы.
да, последняя бета-версия CU8 глючит. Но на то она и бета.

Для изучения стоит юзать демо-машину со стабильным релизом R3 CTP5.

Цитата:
Сообщение от Wamr Посмотреть сообщение
На чем основано это утверждение?
какое? что там прямые запросы? дык, в коде написано.
или о чем?

Цитата:
Сообщение от Wamr Посмотреть сообщение
На счет документации.
Вы ее всю изучили и поставили Retail POS с первого раза так, что все сразу "завелось"?
ни в коем разе.
полностью со всеми службами, у меня, например, ни разу не получилось.
поэтому юзаю демомашину.

но, таки да, раза с 10-20 уже почти все устанавливаю.
Старый 24.10.2014, 18:37   #10  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
продолжаем разговор...
Наконец-то добрался еще разок посмотреть на 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, но он не работает. Помоги разобраться почему." Видимо, все настройки модуля не генерировались, а переносились с демо-базы. Поэтому таблицы перенеслись, а вот сгенеренный функционал нет.


Цитата:
Сообщение от mazzy Посмотреть сообщение
временных таблиц нет в sys
временные таблицы появляются в usr при включении модуля retail в параметрах.

что за процедура?
напомню, что генерируется: таблица+поля+индексы+2 метода в таблице.
Процедура - кнопка на форме Задание планировщика "Создать промежуточную таблицу....". Она же RetailConnCreateUploadTempDBTable::GenerateTempDBTableForJobByJobID('P-0001')
Да, все правильно, генерятся временные таблицы на основании настроек подзаданий задания 'P-0001'. Одна из таких настроек имя этой временной таблицы, которое в исходном шаблоне (RetailCDXSeedData_AX63) прописана везде как ИмяПостояннойТаблицы+'T'. Однако, если взглянуть в код, то видно, что по умолчанию имя временной таблицы формируется как ИмяПостояннойТаблицы+'X', а такие таблицы в SYS есть. То ли про них забыли, то ли от них отказались я не понял.


Цитата:
Сообщение от mazzy Посмотреть сообщение
какое? что там прямые запросы? дык, в коде написано.
или о чем?
Здесь речь шла о кнопке "Создание классов" в форме Схема канала розничной торговли, и, соответственно о создаваемых классах RetailCDXChannelSpecificData_AX63, RetailCDXXmlDataOutput_AX63. Конечно, я не изучил их внимательно, но "прямые sql-команды. В обход аксаптовского движка" я там не увидел.
За это сообщение автора поблагодарили: -DocSerzh- (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axmfg: Lean manufacturing: Picking activities and kanban line events Blog bot DAX Blogs 0 26.08.2014 21:13
emeadaxsupport: Connecting Retail Components on an External Computer to the Microsoft Dynamics AX R3 Azure Lifecycle Services Demo Virtual Machine Blog bot DAX Blogs 0 28.06.2014 00:13
crminthefield: Creating SSL Certificates for CRM Test Environment Blog bot Dynamics CRM: Blogs 0 10.12.2013 02:12
emeadaxsupport: AX for Retail 2012 R2: Installing the Real-time Service Blog bot DAX Blogs 0 19.12.2012 11:11
emeadaxsupport: AX 2012 Retail: How to enable tracing in AX 2012 Retail Blog bot DAX Blogs 0 07.08.2012 15:11
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:27.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.