} //------------ Отправка факсового сообщения ----------------- function OktellFaxStartTransmit(){ var FileName = System.CreateObject('TSObjectLibrary.Value'); var DialogCaption ="Выбор файла FAX"; // Фильтр по расширению прикрепляемых файлов var DefaultExt ='*.jpg'; var IMGFilter ="Файл изображения"+' (*.jpg)|*.jpg|(*.tif)|*.tif|(*.bmp)|*.bmp'; if(!(System.OpenDialog(FileName, IMGFilter , DefaultExt, DialogCaption, EmptyStr))){ return; } // Получаем полный путь к файлу с раширением var FullName = FileName.Value;
4. Для того, чтобы увидеть ход процесса и получать информацию о возможных ошибках отправки и получения факсовых сообщений в функцию OnOktellCommunicate() скрипта scr_OktellUtils добавим:
case ocmFaxStopped://----- Событие АТС о завершении факс-сеанса
OktellFaxStopped(RootNode); break; case ocmFaxFilesReceived://----- Событие АТС о завершении файла по факс-сеансу
OktellFaxFilesReceived(RootNode);// -- Содержит признак успешности приема и ... break; case ocmFaxStarted://----- Событие АТС о начале факс-сеанса
OktellFaxStarted(RootNode); break;
5. В scr_OktellUtils добавим:
function OktellFaxStarted(){//----- Событие АТС о начале факс-сеанса var wnd_Information = Services.GetSingleItemByUSI('wnd_FaxStartProgress');
wnd_Information.Prepare();
wnd_Information.Show(); }
function OktellFaxStopped(){//----- Событие АТС о завершении факс-сеанса var wnd_Information = Services.GetSingleItemByUSI('wnd_FaxStartProgress');
wnd_Information.Close(); }
function OktellFaxFilesReceived(RootNode){//----- Событие АТС о завершении приема файла по факс-сеансу var wnd_Information = Services.GetSingleItemByUSI('wnd_FaxStartProgress');
wnd_Information.Close();
// --- Успешно принято ? ---// var SuccessXML = MsxmlGetChildXmlNodeByAttributeValue(RootNode,'key','success'); var SuccessFax = MsxmlGetXmlAttributeValueByName(SuccessXML,'value');
// --- Текст ошибки ---// var ErrorXML = MsxmlGetChildXmlNodeByAttributeValue(RootNode,'key','errortext'); var ErrorFax = MsxmlGetXmlAttributeValueByName(ErrorXML,'value');
if(SuccessFax ==1){ var Message ="Операция приема/отправки факсового сообщения успешно завершена."
ShowInformationDialog(Message); } elseif(SuccessFax ==0){ var Message = FormatStr("Ошибка получения факса: '%1'", ErrorFax);
ShowConfirmationDialog(Message); }
7. Ну и сами картинки в карточку звонка il_call.7z
Принятые факсы сохраняются на рабочем столе пользователя в папке Принятые_факсы (папка создается автоматически) с расширением *.tiff. Для отправки подходят файлы изображений *.jpeg, *.bmp, *.tiff. Во время отправки и получения факса, пользователь Terrasoft слышит в трубке музыку из сценария Oktell (вместо служебных сигналов факса). Отправка других форматов файлов находится в стадии разработки
Добрый день, Алексей! Возможно эта ошибка возникает из-за отсутствия в wnd_CallEditScript прикрепленного скрипта scr_FileUtils. Для общей картины вот мои скрипты .
Скрипт прикрепил
Теперь в момент выбора файла для отправки вылетает сообщение (во вложении). При этом сервер Октелла факс не отправляет (т.е. скорее всего факс-сеанс не начинается)
Оно же вылетает и при приеме факса, (при старте приема и при окончании), но тем не менее факс приходит успешно и сохраняется на рабочем столе.
Скажите, удалось ли добавить отправку факсом doc и xls файлов?
Напрямую не удалось реализовать такую функцию, пришлось воспользоваться сторонней коммерческой разработкой Total Doc Converter, который в фоновом режиме конвертирует doc в jpeg. Очень полезная особенность Total Doc Converter - возможность "склеивать" несколько страниц doc в один "рулон" jpeg. С pdf файлами все намного сложнее из-за функции сжатия. При их конвертации иногда случаются проблемы с отображением символов.