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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.06.2010, 13:48   #1  
EFA is offline
EFA
Участник
 
5 / 10 (1) +
Регистрация: 16.04.2010
Импорт курса валют ЦБ РФ
Доброго времени суток!
Подскажите, с чем может быть связан ошибка, возникающая при импорте курса валют ЦБ РФ в пакетном режиме (MS DAX 2009).
В журнале пакетных заданий просматривается ошибка следующего вида:
Олицетворенный на сервере (RunAs) сеанс попытался вызвать метод, который доступен только на клиенте.
(S)\Classes\DictClass\makeObject
(S)\Classes\ClassFactory\createClass - line 13
(S)\Classes\RunBase\makeObject - line 15
(S)\Data Dictionary\Tables\Batch\Methods\object - line 3
(S)\Classes\BatchRun\runJobStatic - line 28

при попытке импртировать курс вручную (ГК/Периодические операции/Импорт курса валют ЦБ РФ) на текущую дату импорт проходит нормально. Но если установить в этом окне галку Пакетная обработка, то задание завершается с указанной выше ошибкой.
Старый 24.06.2010, 14:13   #2  
Bober is offline
Bober
Участник
 
311 / 104 (4) +++++
Регистрация: 29.05.2007
Вы же сами написали: сеанс на сервере попытался вызвать метод, который доступен только на клиенте. Если Вы программист, должны уже были сами разобраться. Если Вы не программист, то найдите себе программиста. Если у вас в компании в техподдержке нет программиста Аксапты - у вашей компании проблемы.
Старый 24.06.2010, 14:28   #3  
EFA is offline
EFA
Участник
 
5 / 10 (1) +
Регистрация: 16.04.2010
я не программист. программисты внедрения молчат "как рыбы об лед". спасибо за "конструктивный" ответ. ткнули лицом в очевидный факт, что проблема есть.
Старый 24.06.2010, 15:02   #4  
RAN7 is offline
RAN7
Участник
 
86 / 43 (2) +++
Регистрация: 13.01.2009
Адрес: Москва
А Вы сервер пакетной обработки проверяли? Видите ли Вы там задание на пакетную обработку по импорту курсов валют? Модуль Основное: Периодические операции. Может быть пакетная обработка как-то некорректно настроена, поэтому и ошибка. Но лучше конечно посмотреть по коду на чем конкретно запинается система (Вами же приведен перечень объектов приложения и строк кода, где возникают ошибки). Если код не правили, то причина в настройках пакетной обработки на операцию импорта курсов в том числе. Если вносили правки, то нужно "тестить" код и проверять соблюдение условий, при которых логика импорта в режиме пакета отрабатывает. На будущее более тщательно принимайте работу внедренцев (тестируйте сами все и сиспользованием всевозможных параметров).
Старый 24.06.2010, 16:12   #5  
Bober is offline
Bober
Участник
 
311 / 104 (4) +++++
Регистрация: 29.05.2007
Цитата:
Сообщение от EFA Посмотреть сообщение
спасибо за "конструктивный" ответ. ткнули лицом в очевидный факт, что проблема есть.
Не, так не пойдет.
Вы спросили: Подскажите, с чем может быть связан ошибка
Я вам ответил: сеанс на сервере попытался вызвать метод, который доступен только на клиенте. Ошибка связана с этим.
Или вы хотите, чтобы вам программный код проанализировали? Но я не представляю, как для этого Вы сможете выложить на форум проект с нужными объектами системы, если Вы не программист. Поэтому могу только повторить: а) терзайте программиста, б) если собственного программиста у вас нет, а есть только программисты внедренческой компании, то это плохо.
И еще. У внедренца должен быть руководитель проекта с их стороны. Обращайтесь к нему, а не напрямую к его программистам. Если рук.проекта с их стороны не в состоянии управлять своими же программистами, то вам не повезло дважды.
Старый 24.06.2010, 16:22   #6  
d&m is offline
d&m
MCT
Аватар для d&m
MCP
Manzana Group
MCBMSS
 
459 / 186 (7) ++++++
Регистрация: 11.09.2007
Записей в блоге: 6
для начала я бы ответил на вопрос "проблема с импортом курсов или с пакетной обработкой?"

судя по тому, что НЕ в пакетном режиме курсы импортятся нормально - то проблема именно в пакетной обработке.

у вас другие пакетные обработки, кроме импорта курсов, работают без ошибок?

ну и в догонку - для пакетной группы должен быть указан сервер пакетной обработки (Администрирование / Настройки / Пакетные группы, закладка "Серверы пакетной обработки), а сам сервер должен быть настроен как сервер пакетной обработки (Администрирование / Настройка / Конфигурация сервера, флаг "Сервер обработки пакетных заданий")
__________________
Sometimes there is a moment as you are awakening - when you become aware of the real world around you, - but you are still dreaming. - You may think you can fly but you do better not try.
Старый 24.06.2010, 16:35   #7  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
EFA, проблема в ошибке, которую допустили разработчики при программировании импорта курса валют. Я не знаю, является ли это частью локализации или это Ваша собственная разработка. В любом случае, решать это должны программисты. Присоединяюсь к руководству к действию, выданному Бобром
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 24.06.2010, 16:56   #8  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Судя по пути использовался стандартный локализированный импорт курсов. Вот только он работает, проверено .
__________________
Ivanhoe as is..
Старый 24.06.2010, 17:23   #9  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Ну, во-первых, не факт, что по этому пути в этом приложении всё еще находится стандартный функционал. А, во-вторых, стандартный функционал мог быть модифицирован

В общем, раз стандартный функционал работает, то все претензии к программистам-внедренцам.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 24.06.2010, 17:30   #10  
AX2009
Гость
 
n/a
Поменяйте у класса свойство RunOn на "Server" или "Called from"
Старый 24.06.2010, 23:07   #11  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от AX2009 Посмотреть сообщение
Поменяйте у класса свойство RunOn на "Server" или "Called from"
либо надо перекрыть runsImpersonated и возвращать false - это если в классе используется что-то, что работает только на клиенте. Например, класс WinApi (в отличие от WinApiServer)

Напомню, что можно запускать старый добрый клиентский пакетный сервер и в нем будут выполняться такие клиентские пакетные задания
За это сообщение автора поблагодарили: mazzy (2).
Старый 25.06.2010, 17:08   #12  
EFA is offline
EFA
Участник
 
5 / 10 (1) +
Регистрация: 16.04.2010
Спасибо за советы!
Есть другие задания, которые в пакетном режиме отрабатывают корректно. поэтому сделали вывод, что именно с импортом проблемы.
Будем мучать внедренцев. Потому как модификаций не должно быть, поскольку не было таких задач. Но в нашем случае все возможно .
Старый 02.09.2010, 13:23   #13  
d&m is offline
d&m
MCT
Аватар для d&m
MCP
Manzana Group
MCBMSS
 
459 / 186 (7) ++++++
Регистрация: 11.09.2007
Записей в блоге: 6
аналогичная ошибка появляется при импорте файлов (банковский выписок) из клиент-банка:

Олицетворенный на сервере (RunAs) сеанс попытался вызвать метод, который доступен только на клиенте.
(S)\Classes\BankClientStream_RU\construct - line 9
(S)\Classes\BankClientImportFormat_RU\readStream - line 10
(S)\Classes\BankClientImportFormat_RU\run - line 11
(S)\Classes\BankClientImport_RU\run - line 15

может кто сталкивался? Это базовый немодифицированный импорт из клиент-банка (dax 2009 ru 5)

файлы с банковскими выписками лежат на файл-сервере...
__________________
Sometimes there is a moment as you are awakening - when you become aware of the real world around you, - but you are still dreaming. - You may think you can fly but you do better not try.

Последний раз редактировалось d&m; 02.09.2010 в 13:34.
Старый 16.11.2010, 13:55   #14  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
:)
Цитата:
Сообщение от d&m Посмотреть сообщение
Олицетворенный на сервере (RunAs) сеанс попытался вызвать метод, который доступен только на клиенте.
(S)\Classes\BankClientStream_RU\construct - line 9
(S)\Classes\BankClientImportFormat_RU\readStream - line 10
(S)\Classes\BankClientImportFormat_RU\run - line 11
(S)\Classes\BankClientImport_RU\run - line 15

может кто сталкивался? Это базовый немодифицированный импорт из клиент-банка (dax 2009 ru 5)
Чтоб работало без ошибок на сервере надо всего лишь поправить \Classes\BankClientStreamTextFile_RU
свойству RunOn присвоить Called from

Метод \Classes\BankClientStreamTextFile_RU\validateStreamParms заменяем на следующий код.
X++:
protected boolean validateStreamParms()
{
    boolean ret;

    ret = super();


    new FileIOPermission(fullPath,'r').assert();

    if (readWrite == ReadWrite::read && (isRunningOnServer() ? !WinAPIServer::fileExists(fullPath) : !WinAPI::fileExists(fullPath)))
        return checkFailed("@SYS97948");

    CodeAccessPermission::revertAssert();

    return ret;
}
И собственно все, тестирование показало, что "Импорт из клиент-банка " отработал нормально на сервере .

P.S. Ax 2009 SP1 RU5
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.
Старый 03.09.2010, 11:33   #15  
Damn is offline
Damn
Участник
 
436 / 154 (6) ++++++
Регистрация: 28.05.2003
Адрес: в глуши
Тут же всё понятно - у класса BankClientStreamTextFile_RU свойство RunOn выставлено в Client. Значит задания, использующие этот класс, нельзя вызывать в пакетном режиме на сервере.
__________________
Дмитрий
Старый 06.10.2010, 09:12   #16  
d&m is offline
d&m
MCT
Аватар для d&m
MCP
Manzana Group
MCBMSS
 
459 / 186 (7) ++++++
Регистрация: 11.09.2007
Записей в блоге: 6
Цитата:
Сообщение от Damn Посмотреть сообщение
Тут же всё понятно - у класса BankClientStreamTextFile_RU свойство RunOn выставлено в Client. Значит задания, использующие этот класс, нельзя вызывать в пакетном режиме на сервере.
у меня Dax 2009 - значит я должен воспользовться "старым" режимом запуска Пакетной обработки, как в Dax 4.0 ?
aEremenko: Пакетная обработка в AX 2009

я так и делаю:
1. для пакетной группы убираю сервера пакетной обработки (в карточке пакетной группы на закладке "Серверы обработки пакетных заданий")
2. ставлю импорт из клиент-банка в пакет.
3. запускаю отдельную Аксапту, в которой запускаю "старую" обработку пакетных заданий (Основное / Периодические операции / Пакет / Обработка)
4. Пакетное задание продолжает висеть в статусе "Ожидание"

как поставить импорт выписок из клиент-банка в пакет?

не в ручную же каждый раз это делать?
__________________
Sometimes there is a moment as you are awakening - when you become aware of the real world around you, - but you are still dreaming. - You may think you can fly but you do better not try.
Старый 06.10.2010, 10:11   #17  
d&m is offline
d&m
MCT
Аватар для d&m
MCP
Manzana Group
MCBMSS
 
459 / 186 (7) ++++++
Регистрация: 11.09.2007
Записей в блоге: 6
Цитата:
Сообщение от Damn Посмотреть сообщение
Тут же всё понятно - у класса BankClientStreamTextFile_RU свойство RunOn выставлено в Client. Значит задания, использующие этот класс, нельзя вызывать в пакетном режиме на сервере.

подскажите, а причем тут класс BankClientStreamTextFile_RU?

я смотрю список задач по пакетному заданию - там:
1. имя класса - BankClientImport_RU (у этого класса RunOn = CalledFrom
2. запустить из местоположения - Сервер. Из-за этого эта задача всегда будет выполняться на сервере пакетной обработки и завершаться ошибкой "Олицетворенный на сервере (RunAs) сеанс попытался вызвать метод, который доступен только на клиенте"
__________________
Sometimes there is a moment as you are awakening - when you become aware of the real world around you, - but you are still dreaming. - You may think you can fly but you do better not try.
Старый 07.10.2010, 10:33   #18  
Damn is offline
Damn
Участник
 
436 / 154 (6) ++++++
Регистрация: 28.05.2003
Адрес: в глуши
Цитата:
Сообщение от d&m Посмотреть сообщение
подскажите, а причем тут класс BankClientStreamTextFile_RU?

я смотрю список задач по пакетному заданию - там:
1. имя класса - BankClientImport_RU (у этого класса RunOn = CalledFrom
2. запустить из местоположения - Сервер. Из-за этого эта задача всегда будет выполняться на сервере пакетной обработки и завершаться ошибкой "Олицетворенный на сервере (RunAs) сеанс попытался вызвать метод, который доступен только на клиенте"
Разработчики класса BankClientImport_RU просто проглядели что он в своих недрах вызывает "чисто" клиентский класс BankClientStreamTextFile_RU (а может и ещё какие-нибудь помимо этого). Поэтому и выставили свойство RunOn = CalledFrom. Изменить надо это свойство на Client и перекрыть метод runsImpersonated() и всё.
__________________
Дмитрий
За это сообщение автора поблагодарили: mazzy (2).
Теги
импорт курсов валют

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Загрузка валют с сайта ЦБ natterru DAX: Администрирование 31 17.11.2020 07:29
Перенести из AX2009 в AX40 импорт банков с ЦБ РФ BOAL DAX: Программирование 30 12.01.2011 14:49
Еще один импорт курсов валют Андре DAX: База знаний и проекты 24 23.12.2009 11:59
Импорт курса валют innavish DAX: Функционал 18 13.10.2009 09:25
загрузка валют с сайта ЦБ в Axapta 4.0 Jup DAX: Программирование 3 08.10.2008 18:09
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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