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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.12.2015, 09:12   #1  
Blog bot is offline
Blog bot
Участник
 
25,640 / 848 (80) +++++++
Регистрация: 28.10.2006
mfp: X++ in AX7: Client/Server keywords
Источник: http://blogs.msdn.com/b/mfp/archive/...-keywords.aspx
==============
In AX7 all X++ code is running on the server tier. No exceptions. The compiler is ignoring client and server keywords.



When you come across any of these just delete them without a second thought:
  • Client and Server keywords
  • //AOSRunMode::xxx
  • xGlobal::ClientKind()
  • Dangling semicolons (but that is another story)

Similarly, if you stumble into any code that was taking the journey to the opposite tier to do some "magic" and then pack down the results in a container – consider refactoring the code. The journey is not happening anymore, and it is pure overhead. Typically such methods are static methods named xxx_OnServer() or xxxClient().



THIS POST APPLIES TO MICROSOFT DYNAMICS AX7 PREVIEW; IS PROVIDED AS-IS AND CONFERS NO RIGHTS.







==============
Источник: http://blogs.msdn.com/b/mfp/archive/...-keywords.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
Старый 10.12.2015, 10:58   #2  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
602 / 167 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
Интересно, как теперь в зависимости от определенного условия сделать поле на форме недоступным для редактирования?
Старый 10.12.2015, 12:20   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
так же
Старый 10.12.2015, 12:25   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,323 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
А как будет производиться взаимодействие с файлами, лежащими у клиента?
Простейшая ситуация - открыть файл, который лежит у пользователя на компьютере на C:\...\MyFile.txt
А весь код исполняется только на сервере
__________________
Возможно сделать все. Вопрос времени
Старый 10.12.2015, 12:46   #5  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Upload естественно, а как еще?
Старый 10.12.2015, 12:49   #6  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Вот никогда не понимал ситуации, когда системно нужный документ (а другим вроде как в Аксапте и не место) хранится у конкретного пользователя на компе локально.
Бывают ситуации, когда из определённой папки забирают документы на обработку (например, для импорта заказов на продажу). Но в этом случае, очевидно, и адрес папки будет сетевым. В остальных случаях чем плох стандартный вариант аттачментов?
__________________
С уважением,
Вячеслав
Старый 10.12.2015, 13:04   #7  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от EVGL Посмотреть сообщение
а как еще?
Высадить программу на клиента и там обработать. Только это уже не на X++. Насколько я знаю, на JS можно.
Старый 10.12.2015, 13:35   #8  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
скопировать данные из грида в Excel по кнопочке тоже через сервер?
За это сообщение автора поблагодарили: sukhanchik (4).
Старый 10.12.2015, 14:07   #9  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,323 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от EVGL Посмотреть сообщение
Upload естественно, а как еще?
Не вопрос - просто интересуюсь вариантами.

Цитата:
Сообщение от pitersky Посмотреть сообщение
Вот никогда не понимал ситуации, когда системно нужный документ (а другим вроде как в Аксапте и не место) хранится у конкретного пользователя на компе локально.
Бывают ситуации, когда из определённой папки забирают документы на обработку (например, для импорта заказов на продажу). Но в этом случае, очевидно, и адрес папки будет сетевым. В остальных случаях чем плох стандартный вариант аттачментов?
В жизни не всегда бывает так все красиво организовано. Поэтому и хочу понять - остались ли "дырки" для "некрасивой" организации или нет.

Цитата:
Сообщение от belugin Посмотреть сообщение
Высадить программу на клиента и там обработать. Только это уже не на X++. Насколько я знаю, на JS можно.
Т.е. править сами aspx-странички?

Цитата:
Сообщение от Wamr Посмотреть сообщение
скопировать данные из грида в Excel по кнопочке тоже через сервер?
Вот присоединяюсь к этому же вопросу.
Собственно, ключевым вопрос был такой: Как взаимодействовать теперь с файлами, которые находятся у клиента? Один из вариантов - это положить их на сервер (upload), а затем они будут доступны из X++?

А вариант WinAPI на клиенте как я понимаю отпадает?

А еще есть ситуации, когда есть спецкомпьютер, на котором зарегистрировано (допустим - .NET-сборкой) спецПО, с которым есть интеграция с АХ. Но это спецПО установлено только на одном компьютере. Как тогда общаться с этим спецПО? Если это не сервер АХ?
__________________
Возможно сделать все. Вопрос времени
Старый 10.12.2015, 14:30   #10  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
А еще есть ситуации, когда есть спецкомпьютер, на котором зарегистрировано (допустим - .NET-сборкой) спецПО, с которым есть интеграция с АХ. Но это спецПО установлено только на одном компьютере. Как тогда общаться с этим спецПО? Если это не сервер АХ?
По аналогии с тем, как сделали для Modern POS, писать hardware station, взаимодействующую с локальным ПО/железом (мне почему-то сразу вспомнились электронные весы), а из нее публиковать наружу веб-сервисы, к которым уже обращаться из серверного кода АХ Все для людей...
Старый 10.12.2015, 14:33   #11  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Без кода на клиенте совсем грустно как-то. Как взаимодействовать с окружением? теми же принтерами (список подключенных принтеров в lookup на форме),
банк-клиентами и др. системами, установленными локально, а не на сервере?

Понятно что балом правят облачные технологии и всё такое, но как-то не верится в то что всё можно запихнуть на сервер.
Старый 10.12.2015, 14:38   #12  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Они убили Кенни...
За это сообщение автора поблагодарили: A_BAS (1).
Старый 10.12.2015, 15:31   #13  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,323 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от gl00mie Посмотреть сообщение
мне почему-то сразу вспомнились электронные весы
Дак я про них и думал, когда писал .
Но в целом вот действительно - вопрос - какие варианты будут предложены по взаимодействию с окружением клиента?
__________________
Возможно сделать все. Вопрос времени
Старый 10.12.2015, 17:07   #14  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Т.е. править сами aspx-странички?
Не совсем, я пока не знаю, о чем могу рассказать здесь, но есть варианты.

Цитата:

Один из вариантов - это положить их на сервер (upload), а затем они будут доступны из X++?
Да, поддерживается API для загрузки на сервер при выборе из браузера.

Цитата:
А вариант WinAPI на клиенте как я понимаю отпадает?
Если напишете, например, на C# приложение, которое будет взаимодействовать с сервером.

Цитата:
А еще есть ситуации, когда есть спецкомпьютер, на котором зарегистрировано (допустим - .NET-сборкой) спецПО, с которым есть интеграция с АХ. Но это спецПО установлено только на одном компьютере. Как тогда общаться с этим спецПО? Если это не сервер АХ?
Вебсервисы, наверное.
За это сообщение автора поблагодарили: sukhanchik (2).
Старый 10.12.2015, 18:03   #15  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,323 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Спасибо за комментарии.
Цитата:
Сообщение от belugin Посмотреть сообщение
Вебсервисы, наверное.
По поводу веб-сервисов. Раньше спецПО представляло собой некий софт, который различался в зависимости от вида - где-то надо было зарегистрировать DLL-ку, сборку. Где-то надо было выбирать из БД собственного софта и т.д.

Работа с веб-сервисами в АХ предполагает, что либо спецПО имеет свои веб-сервисы (что было бы странно для тех же электронных весов - делать целые веб-сервисы), либо спецПО должно уметь дергать веб-сервисы АХ (что еще более удивительнее).

Собственно - вопрос, а какие требования по идее должны быть к спецПО, чтобы его можно было бы подружить с сервером АХ?
Просто достаточно странно требовать от тех же электронных весов или же ТСД наличие их собственного веб-сервиса.
__________________
Возможно сделать все. Вопрос времени
Старый 10.12.2015, 18:35   #16  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Работа с веб-сервисами в АХ предполагает, что либо спецПО имеет свои веб-сервисы (что было бы странно для тех же электронных весов - делать целые веб-сервисы), либо спецПО должно уметь дергать веб-сервисы АХ (что еще более удивительнее)..
Я так понимаю, что все равно надо либо аксапте объяснить что-такое весы либо весам объяснить что такое аксапта. Просто теперь надо либо написать интеграию с весами на стороне аксаптой либо интеграцию с весами на стороне аксапты либо и то и другое.
Старый 10.12.2015, 19:11   #17  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,323 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от belugin Посмотреть сообщение
Я так понимаю, что все равно надо либо аксапте объяснить что-такое весы либо весам объяснить что такое аксапта. Просто теперь надо либо написать интеграию с весами на стороне аксаптой либо интеграцию с весами на стороне аксапты либо и то и другое.
Совершенно верно. Это также было и в предыдущих версиях. Вопрос в другом. Если у меня спецПО стоит на каком-то отдельно взятом компьютере, то для написания интеграции (=взаимодействия с ним) мне требовалось написать на Х++ код, который умел бы взаимодействовать с окружением клиента. Я писал static client void runMethod() и этот метод обращался к .NET-сборке того спецПО, которое в себя включало эту .NET- сборку для целей интеграции с информационными системами.

Теперь получается, что мне нужно будет по идее - написать код на C#, который будет с одной стороны стучаться к весам, а с другой стороны - будет обращаться к веб-сервисам / серверу АХ. Т.е. теперь у меня не получится написать на Х++ код, который так легко обратится к этой сборке.

Я правильно понял мысль?
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: macklakov (5).
Старый 10.12.2015, 19:31   #18  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Т.е. теперь у меня не получится написать на Х++ код, который так легко обратится к этой сборке.

Я правильно понял мысль?
Думаю, да
Старый 10.12.2015, 20:34   #19  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
com объекты можно удаленно вызывать.
Вернемся к старому доброму com, который будем дергать из аоса

А то все
дотнет !
Версервисы !

Проще надо быть )
Старый 11.12.2015, 04:10   #20  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,254 / 980 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от Logger Посмотреть сообщение
com объекты можно удаленно вызывать.
Вернемся к старому доброму com, который будем дергать из аоса
Хм, интересная мысль. А что мне надо сделать чтобы у тебя на рабочем компе дернуть какой-нибудь com объект?
__________________
Isn't it nice when things just work?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
CRM DE LA CREME! CRM 4.0 Disaster Recovery Blog bot Dynamics CRM: Blogs 2 26.02.2016 08:23
emeadaxsupport: AX Performance - Analyzing key SQL Server configuration and database settings Blog bot DAX Blogs 0 28.09.2015 14:11
mfp: Garbage Collection and RPC calls in X++ Blog bot DAX Blogs 0 03.10.2014 00:13
atinkerersnotebook: Walkthrough & Tutorial Summary Blog bot DAX Blogs 1 09.09.2013 09:11
Microsoft Dynamics CRM Team Blog: Building a Self-Contained Virtual CRM Development Server Blog bot Dynamics CRM: Blogs 0 05.05.2009 10:05

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

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

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