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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.12.2006, 10:21   #1  
Iskatel is offline
Iskatel
Участник
 
86 / 10 (1) +
Регистрация: 18.09.2006
Проблема в следующем.

При обработке следующего оператора выдает сообщение: Reduce the expression so it is less complex.

Text_ERROR:=AnyCOM.AnyMethod('SP','IC','sa','11',0,50500,Code,Name_1,Name_2,'','',
'1900-01-01','1900-01-01',0,0,0,Rate,'0.0','0','0','0','0');

Где AnyCom является переменной типа Automation, а AnyMethod - яв-ся его методом, которому нужно передать 22 параметра. Как сделать чтобы избежать ошибочное сообщение и передать 22 параметра?
Старый 08.12.2006, 11:20   #2  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Подобное встречал в теме: http://forum.mazzy.ru/index.php?showtopic=...9%20параметров# в самом конце.
Цитата:
Есть правда одно но: последний параметр надо удалить. Оказалось что навик не передает более 19 параметров в функцию!
Старый 08.12.2006, 11:39   #3  
Iskatel is offline
Iskatel
Участник
 
86 / 10 (1) +
Регистрация: 18.09.2006
А нельзя это как-нибудь обойти и всё таки передать более 19 параметров? Или где можно более подробно почитать об этом?
Старый 08.12.2006, 16:30   #4  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Цитата:
Сообщение от Programmer Посмотреть сообщение
А нельзя это как-нибудь обойти и всё таки передать более 19 параметров? Или где можно более подробно почитать об этом?
Наверное можно написать в объекте 22 функциив, каждая из которых будет устанавливать отдельный параметр. Либо сгруппировать параметры тематически и написать меньше функций установки, передавая сразу несколько значений. А затем вызвать AnyCom, параметры для которой уже будут известны в объекте.
Старый 08.12.2006, 16:38   #5  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Цитата:
Сообщение от romeo Посмотреть сообщение
Цитата:
Сообщение от Programmer Посмотреть сообщение
А нельзя это как-нибудь обойти и всё таки передать более 19 параметров? Или где можно более подробно почитать об этом?
Наверное можно написать в объекте 22 функциив, каждая из которых будет устанавливать отдельный параметр. Либо сгруппировать параметры тематически и написать меньше функций установки, передавая сразу несколько значений. А затем вызвать AnyCom, параметры для которой уже будут известны в объекте.
Это если компонент самописный.
А если компонент внешний, значит надо использовать субкомпонент, куда передать эти 22 два параметра несколькими вызовами.
Под субкомпонентом понимаю, например, Excel с VBA, или другой Automation объект, который может сам создвать Automation объекты и передавать более 19 параметров. Сам не пробовал, не знаю, с какими проблемами можно будет столкнуться.
Старый 22.12.2006, 12:09   #6  
Iskatel is offline
Iskatel
Участник
 
86 / 10 (1) +
Регистрация: 18.09.2006
Спасибо, за советы. Проблема разрешена

Решил проблему следующим образом. AnyCOM использовал самописный. Разбил передаваемые параметры на группы по 17 параметров (18 параметров Navision не хочет передавать), а в самом AnyCOM собрал обять их в кучу и передал дальше одним вызовом.
 


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

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

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