|
Отправка отчетов по e-mail | ☑ | ||
---|---|---|---|---|
0
operKOT
02.10.13
✎
06:03
|
Давно как-то делал по примерам из нета отправку отчета по email:
формируем отчет, нажимаем на кнопку на форме, сохраняем файл и он автоматом отправляется. Сейчас нужно сделать аналогичную задачу, на в 8.2 не работает та обработка почему то. Выдает 2 ошибки: {ВнешняяОбработка.ExternalDataProcessor1.МодульОбъекта(5,3)}: Переменная не определена (Controls) <<?>>Controls.ReportSpreadsheet.Write(vFilePath, vFileType); (Проверка: Толстый клиент (обычное приложение)) {ВнешняяОбработка.ExternalDataProcessor1.МодульОбъекта(4,5)}: Процедура или функция с указанным именем не определена (SelectFile) If <<?>>SelectFile(vFileType, vFilePath) Then (Проверка: Толстый клиент (обычное приложение)) vFilePath = ""; vFileType = SpreadsheetDocumentFileType.XLS; If SelectFile(vFileType, vFilePath) Then Controls.ReportSpreadsheet.Write(vFilePath, vFileType); EndIf; // Вставить содержимое обработчика. Профиль = Новый ИнтернетПочтовыйПрофиль; Профиль.АдресСервераSMTP = "smtp.mail.ru"; Профиль.АдресСервераPOP3 = "pop.mail.ru"; Профиль.ПортPOP3 = 110; Профиль.ПортSMTP = 587; Профиль.Пользователь = ""; Профиль.Пароль = ""; Профиль.ПользовательSMTP = ""; Профиль.ПарольSMTP = ""; Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Login; Почта = Новый ИнтернетПочта; // Создадим почтовое сообщение Письмо = Новый ИнтернетПочтовоеСообщение; Текст = Письмо.Тексты.Добавить("Привет Саша"); Текст.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст; Письмо.Тема = "Доставка Заказ № "; Письмо.Отправитель = ""; Письмо.Attachments.Add(vFilePath); Письмо.ИмяОтправителя = "Доставка Маки"; Письмо.Получатели.Добавить(""); Попытка Почта.Подключиться(Профиль); Сообщить("Подключенено"); Почта.Послать(Письмо); Сообщить("Письма отправлены"); Исключение Сообщить("Не удалось подключиться к серверу"); Сообщить(ОписаниеОшибки()); КонецПопытки; Почта.Отключиться(); Сообщить("Соединение завершено"); |
|||
1
Cyberhawk
02.10.13
✎
06:42
|
Тебе понятно сообщение об ошибке, по крайней мере в той части, где в нем русские буквы?
|
|||
2
operKOT
02.10.13
✎
07:01
|
Конечно понятно - нет у меня такой функции как selectFile. но ведь раньше именно так и работало. Может в другой конфе была эта функция как экспортная чтоли???
|
|||
3
Cyberhawk
02.10.13
✎
07:02
|
Другая конфа под рукой?
|
|||
4
Cyberhawk
02.10.13
✎
07:03
|
Сдается мне, что другая конфа - клюшечная
|
|||
5
operKOT
02.10.13
✎
07:05
|
клюшечная - эт что значит?
|
|||
6
Повелитель
02.10.13
✎
07:06
|
(5) 1с 77 ))
|
|||
7
operKOT
02.10.13
✎
07:09
|
аа клюшки 77 =))
|
|||
8
operKOT
02.10.13
✎
07:17
|
Так, открыл старую конфу и нашел процедурку, но диалог для выбора файла не открывает
Function SelectFile(pFileType, rFilePath) rFilePath = ""; vFileDlg = New FileDialog(FileDialogMode.Save); vFileDlg.FullFileName = ""; vFileDlg.Multiselect = False; vFileDlg.Preview = False; vFileDlg.Title = NStr("ru = 'Сохранить в файл'; en = 'Save to file'"); If pFileType = SpreadsheetDocumentFileType.MXL Then vFileDlg.DefaultExt = "mxl"; vFileDlg.Filter = NStr("ru = 'Формат таблицы 1C (*.mxl)|*.mxl'; en = '1C spreadsheet format (*.mxl)|*.mxl'"); ElsIf pFileType = SpreadsheetDocumentFileType.XLSX Then vFileDlg.DefaultExt = "xlsx"; vFileDlg.Filter = NStr("ru = 'Формат Microsoft Excel (*.xlsx)|*.xlsx'; en = 'Microsoft Excel format (*.xlsx)|*.xlsx'"); ElsIf pFileType = SpreadsheetDocumentFileType.HTML Then vFileDlg.DefaultExt = "html"; vFileDlg.Filter = NStr("ru = 'Формат HTML (*.html)|*.html'; en = 'HTML format (*.html)|*.html'"); ElsIf pFileType = SpreadsheetDocumentFileType.PDF Then vFileDlg.DefaultExt = "pdf"; vFileDlg.Filter = NStr("ru = 'Формат Adobe Reader PDF (*.pdf)|*.pdf'; en = 'Adobe Reader PDF format (*.pdf)|*.pdf'"); Else Return False; EndIf; vIsSelected = vFileDlg.Choose(); If vIsSelected Then rFilePath = vFileDlg.FullFileName; EndIf; Return vIsSelected; EndFunction //SelectFile |
|||
9
Лодырь
02.10.13
✎
07:19
|
Можно побить автора за использование английского кода? Без бутылки не разберешь.
|
|||
10
operKOT
02.10.13
✎
07:27
|
Это не мой код. SelectFile - функция уже готовой конфы - там все на английском. Я с бутылкой и разбирался - 1с гостиница это. Уже разобрался что нет так - идет проверка на XLSX а 1С сохраняет в XLS, теперь все работает
|
|||
11
80ksa
02.10.13
✎
07:29
|
Наверное объект был какой-то, который екселем управляет. может екселя не компе нет?
|
|||
12
80ksa
02.10.13
✎
07:29
|
Controls - что это за переменная как создается?
|
|||
13
operKOT
02.10.13
✎
07:30
|
Controls - что это за переменная как создается?
Про нее вообще не понял - убрал, и без нее работает |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |