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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.04.2006, 17:02   #1  
Migel_84 is offline
Migel_84
Участник
 
45 / 12 (1) ++
Регистрация: 07.10.2005
Адрес: Череповец
Запуск программы из Аксапты через 2-хзвенку
Опишу проблему с самого её начала. Необходимо в итоге при закрытии склада отправить смску с результатом закрытия(т.е. да или нет). Я это сделал так, зарегестрировал на свой сотовый номер e-mail, если на него придёт сообщение, то мне придёт смска с темой сообщения. Написал программу (на C++Builder), которая будет отправлять мыло на тот ящик. Закрытие склада мы всегда делаем через терминальное сообщение через 2-хзвенку при остановленном АОСе.
Программу запускаю следующим образом:
Цитата:
WinApi::shellExecute("адрес программы",
параметры запуска(да или нет),
"",
"",
4);
Дальше проблема. Программа не хочет запускаться, выдаётся ошибка об отсутствии доступа. Пробую запустить через job, запускается, через класс не хочет.
Подскажите, может кто-нибудь с чем-то подобным сталкивался.
Старый 24.04.2006, 17:20   #2  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,245 / 980 (37) +++++++
Регистрация: 03.04.2002
А чем класс Mapi не устраивает?
__________________
Isn't it nice when things just work?
Старый 24.04.2006, 19:33   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Про работу с почтой и запуск файлов можно посмотреть здесь:
База знаний ERP : Axapta / Взаимодействие С Окружением

>>Пробую запустить через job, запускается, через класс не хочет.

можно ли привести точное сообщение об ошибке?

Последний раз редактировалось belugin; 24.04.2006 в 19:37.
Старый 25.04.2006, 08:28   #4  
Migel_84 is offline
Migel_84
Участник
 
45 / 12 (1) ++
Регистрация: 07.10.2005
Адрес: Череповец
Цитата:
Сообщение от belugin
можно ли привести точное сообщение об ошибке?
Сейчас точно сказать не могу, т.к. терминальное соединение занято. А если примерно, то ошибка о доступе.
Старый 25.04.2006, 10:23   #5  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
Цитата:
Сообщение от Migel_84
...Дальше проблема. Программа не хочет запускаться...
по возможности используйте возможности аксапты.
отправить почту без всяких вопросов можно с помошью ах. классов SysMailer. (этот класс использует сом объект Dundas системы)
вот как это делается у нас. Написан класс, в котором формируются необходимые параметры, а дальше
PHP код:
void send(str           _to,
          
Notes         _text,
          
str           _subject  "Axapta message",
          
EmailPriority _priority EmailPriority::Normal)
{
    
SysEmailBatch  sysEmailBatch;
    ;
    if(
_to)
    {
        
_text strReplace(_text"\n""<BR>");
        
sysEmailBatch SysEmailBatch::construct();
        
sysEmailBatch.parmSendername'Server' );
        
sysEmailBatch.parmSenderAddr'axapta@MyDomain.ru' );
        
sysEmailBatch.parmEmailAddr(_to);
        
sysEmailBatch.parmMessageBody(_text);
        
sysEmailBatch.parmPriority(_priority);
        
sysEmailBatch.parmSubject(_subject);
        
sysEmailBatch.run();
    }

За это сообщение автора поблагодарили: Migel_84 (1).
Старый 25.04.2006, 11:16   #6  
Migel_84 is offline
Migel_84
Участник
 
45 / 12 (1) ++
Регистрация: 07.10.2005
Адрес: Череповец
Цитата:
Сообщение от mit
PHP код:
void send(str           _to,
          
Notes         _text,
          
str           _subject  "Axapta message",
          
EmailPriority _priority EmailPriority::Normal)
{
    
SysEmailBatch  sysEmailBatch;
    ;
    if(
_to)
    {
        
_text strReplace(_text"\n""<BR>");
        
sysEmailBatch SysEmailBatch::construct();
        
sysEmailBatch.parmSendername'Server' );
        
sysEmailBatch.parmSenderAddr'axapta@MyDomain.ru' );
        
sysEmailBatch.parmEmailAddr(_to);
        
sysEmailBatch.parmMessageBody(_text);
        
sysEmailBatch.parmPriority(_priority);
        
sysEmailBatch.parmSubject(_subject);
        
sysEmailBatch.run();
    }

Метод 'SendMail' в COM-объекте класса 'Dundas.mailer' возвратил код ошибки 0x80004005 (E_FAIL), который означает: At least one recipient must be specified.
Старый 25.04.2006, 14:47   #7  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
ну так определите
Старый 25.04.2006, 15:15   #8  
Migel_84 is offline
Migel_84
Участник
 
45 / 12 (1) ++
Регистрация: 07.10.2005
Адрес: Череповец
Цитата:
Сообщение от mit
ну так определите
Извеняюсь за неграмотность, но я не понимаю суть этой ошибки
Старый 25.04.2006, 10:30   #9  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Поддерживаю mit.
__________________
С уважением,
glibs®
Старый 25.04.2006, 11:10   #10  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
кстати, в форуме где то был вопрос относительно кодировки в посылаемых таким образом письмах. не помню был ли ответ, на всякий продублирую.
класс SysEmailBatch.run()
добавил в районе 42-43 строки такое:
PHP код:
    mailer.HTMLBodyCharSet("Windows-1251"); 
Старый 25.04.2006, 15:21   #11  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
ну, написано что адресат не определен. попробуйте жобик написалть, или в чистом виде типа
PHP код:
void send(str           _to 'axapta@MyDomain.ru'
          
Notes         _text "Any text"
          
str           _subject  "Axapta message"
          
EmailPriority _priority EmailPriority::Normal
тока адреса поставьте реальные
Старый 25.04.2006, 15:24   #12  
Migel_84 is offline
Migel_84
Участник
 
45 / 12 (1) ++
Регистрация: 07.10.2005
Адрес: Череповец
Цитата:
Сообщение от mit
ну, написано что адресат не определен. попробуйте жобик написалть, или в чистом виде типа
PHP код:
void send(str           _to 'axapta@MyDomain.ru'
          
Notes         _text "Any text"
          
str           _subject  "Axapta message"
          
EmailPriority _priority EmailPriority::Normal
тока адреса поставьте реальные
Это у меня всё стоит
Старый 25.04.2006, 15:26   #13  
Migel_84 is offline
Migel_84
Участник
 
45 / 12 (1) ++
Регистрация: 07.10.2005
Адрес: Череповец
Ничего не менял, ошибка теперь следующая: Метод 'SendMail' в COM-объекте класса 'Dundas.mailer' возвратил код ошибки 0x80004005 (E_FAIL), который означает: The HELLO command failed.
Старый 25.04.2006, 15:46   #14  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Логи почтового сервера смотрите, что он там получает.
Старый 25.04.2006, 15:56   #15  
Migel_84 is offline
Migel_84
Участник
 
45 / 12 (1) ++
Регистрация: 07.10.2005
Адрес: Череповец
Цитата:
Сообщение от raz
Логи почтового сервера смотрите, что он там получает.
Всё указано верно, логи берутся из SysEmailParameters я заполнил необходимые поля. Всё равно ошибка
Старый 25.04.2006, 16:22   #16  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Цитата:
Сообщение от Migel_84
Всё указано верно, логи берутся из SysEmailParameters я заполнил необходимые поля. Всё равно ошибка
Логи нигде не беруться, их пишет майл сервер, аксапта тут не при чем. Вот их и посмотрите, возможно проблема в настройках майл сервера, бывает запрещают отправку почты без предварительного получения, возможно хост, который отправляет почту надо добавить в список доверенных хостов. И еще много чего может быть.
Старый 25.04.2006, 16:12   #17  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
администрирование\параметры\настройка почты
у меня заполены первые 4 моля
Старый 25.04.2006, 16:29   #18  
Migel_84 is offline
Migel_84
Участник
 
45 / 12 (1) ++
Регистрация: 07.10.2005
Адрес: Череповец
Не было заполнено поле "Имя локального компьютера". Теперь пишет, что неправильный адрес отправителя, хотя он точно правильный (Invalid From Address)
Старый 25.04.2006, 16:53   #19  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Цитата:
Сообщение от Migel_84
Не было заполнено поле "Имя локального компьютера". Теперь пишет, что неправильный адрес отправителя, хотя он точно правильный (Invalid From Address)
Логи почтового сервера смотрите, что он там получает и что ему не нравиться, все есть в логах.
Старый 25.04.2006, 17:06   #20  
Migel_84 is offline
Migel_84
Участник
 
45 / 12 (1) ++
Регистрация: 07.10.2005
Адрес: Череповец
Цитата:
Сообщение от raz
Логи почтового сервера смотрите, что он там получает и что ему не нравиться, все есть в логах.
И где мне их смотреть, я с рамблера отправляю почту. Заполнен сервер исходящей почты pop3.rambler.ru
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вставка строк в таблицы Аксапты сторонними средствами Андре DAX: База знаний и проекты 1 07.05.2009 16:49
работа 1С из Аксапты через COM _scorp_ DAX: Программирование 7 22.08.2008 15:45
Вызов IE из Аксапты через Citrix Maksim DAX: Программирование 8 28.04.2006 11:54
Импорт из Excel через шаблон стандартными средствами аксапты NV DAX: Функционал 5 20.01.2005 12:26
Экспорт / импорт Help topics и запуск второй сессии Аксапты из-под себя DmitrySt DAX: Программирование 0 25.11.2004 00:22

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

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

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