require_once "include/excel/PHPExcel.php"; $pExcel = new PHPExcel(); $pExcel->setActiveSheetIndex(0); $aSheet = $pExcel->getActiveSheet(); $pExcel->createSheet(); //ширина колонок $aSheet->getColumnDimension('A')->setWidth(20); //ширина колонки А $aSheet->getRowDimension('1')->setRowHeight(20); // Записываем данные в ячейку $date = date('d-m-Y'); $aSheet->setCellValue('A1',$date); //сохраняем файл $objWriter = PHPExcel_IOFactory::createWriter($pExcel, 'Excel5'); //Если хотим выдать файл пользователю для сохранения на ПК //header('Content-Type:application/vnd.ms-excel'); //header('Content-Disposition:attachment;filename="test.xls"'); //$objWriter->save('php://output'); //или сохраняем файл в базу (см.ниже) $objWriter->save('test.xls'); $XlsFile = file_get_contents('test.xls'); //Save file $need_line_id = $line['ID']; //ID записи, куда пишем файл $need_field_id = 4911;// поле, куда пишем файл $line['Файл'] = 'test.xls'; //=f4911 в моем случае save_data_file($need_field_id,$need_line_id,'test.xls',$XlsFile); echo "<br/>save"; //отправляем письмо //Если нужно отправить уже сохраненный в базе файл (например из поля f4931) //$XlsFile = file_get_contents(get_file_path(4931,$line['ID'],$line['f4931'])); //но у нас уже есть строковое содержимое файла $file['content'] = $XlsFile; //здесь файл xls $file['name'] = "test.xls"; $file['disp'] = "attachment"; $file['type'] = "application/xls"; $attach_files[] = $file; $mailto="admin@firma.ru"; //адрес получателя $mailfrom="admin@firma.ru"; //адрес отправителя $html2="Описание: отправка сформированного файла эксель"; $tema="test create excel"; $out=sendmail($tema,$html2,$mailto,$mailfrom,"КБ","","text/html","utf-8","",$attach_files,-1,1,0,0); echo "<br/>письмо отправлено";
- Форум CRM программы Клиентская база
- → Публикации olgawww
Публикации olgawww
8 публикаций создано olgawww (учитываются публикации только с 11-Июнь 23)
#37886 Как сформировать файл excel и отправить его почтой
Отправлено от olgawww в 05 Сентябрь 2017 - 13:15 in Как это сделать
#37878 Как сформировать файл excel и отправить его почтой
Отправлено от olgawww в 04 Сентябрь 2017 - 11:48 in Как это сделать
Хочу сформировать файл excel, сохранить его в базу и отправить полученный файл почтой.
Создаю доп.действие. Делаю тестовый пример.
Файл создается, в базе сохраняется, но в письме нет вложения. Подскажите, что делаю не так?
Ниже код:
require_once "include/excel/PHPExcel.php"; $pExcel = new PHPExcel(); $pExcel->setActiveSheetIndex(0); $aSheet = $pExcel->getActiveSheet(); $pExcel->createSheet(); //ширина колонок $aSheet->getColumnDimension('A')->setWidth(20); //ширина колонки А // Записываем данные в ячейку $date = date('d-m-Y'); $aSheet->setCellValue('A1',$date); //сохраняем файл $objWriter = PHPExcel_IOFactory::createWriter($pExcel, 'Excel5'); /* Если хотим выдать файл пользователю для сохранения на ПК //header('Content-Type:application/vnd.ms-excel'); //header('Content-Disposition:attachment;filename="test.xls"'); //$objWriter->save('php://output'); //------или сохраняем файл в базу (см.ниже) */ $Xls_file = $objWriter->save('test.xls'); //Save file $file_name = 'test.xls'; $need_line_id = $line['ID']; //ID записи, куда пишем файл (то есть в текущую запись) $need_field_id = 4911;// номер поля, куда пишем файл //$line['Файл'] = $file_name; save_data_file($need_field_id,$need_line_id,$file_name,$Xls_file); //отправляем письмо $file['name'] = "test.xls"; $file['disp'] = "attachment"; $file['type'] = "application/xls"; $attach_files[] = $line['f4911']; //здесь должен быть сохраненный файл xls $mailto="admin@firma.ru"; //адрес получателя $mailfrom="admin@firma.ru"; //адрес отправителя $html2="тест: отправка сформированного файла эксель"; $out=sendmail("test create excel",$html2,$mailto,$mailfrom,"КБ","","text/html","utf-8","",$attach_files,-1,1,0,0); echo "письмо отправлено";
#37877 Как при заполенении подтаблицы создать новую запись в другой таблице?
Отправлено от olgawww в 04 Сентябрь 2017 - 09:01 in Как это сделать
В таблице "Приход на склад" есть подтаблица: "позиции прихода", при заполнении использует таблицу "прайс".
Как можно сделать, что если нет товара в таб."Прайс", то тут же из "Прихода" иметь возможность создать новую запись в "прайсе", не закрывая док.Приход?
Я думаю, что можно, наверно через Доп.Действие в таб.Приход. Но пока не понимаю, как это сделать?
По идее появится кнопка "Добавить товар", при нажатии на которую должна будет выходить форма, где будут поля для заполнения "название товара", "категория" и "ед.изм" и кнопка "сохранить".
Я правильно понимаю, что это должно реализоваться как-то через js?
Надеюсь, что кто-то направит в нужном направлении и может даст ссылки, где это уже обсуждалось. Я по форуму поискала, но к сожалению, не нашла чтото похожего.
#32931 Как отправить отчет-представление вложением в формате pdf
Отправлено от olgawww в 12 Апрель 2017 - 10:56 in Как это сделать
#32927 Как отправить отчет-представление вложением в формате pdf
Отправлено от olgawww в 11 Апрель 2017 - 15:57 in Как это сделать
Хочу, чтобы отчет приходил не письмом, а вложением в виде файла pdf
С подсказок на форуме
http://clientbase.ru...?showtopic=7564
http://clientbase.ru...?showtopic=6420
http://clientbase.ru...il&fromsearch=1
пытаюсь сделать через доп.действия с помощью php с использованием библиотек smarty, mpdf и команды sendmail
Вот тестовый код:
require_once "include/mpdf/mpdf.php"; require_once "include/Smarty/Smarty.class.php"; // Заполняем переменные данными $data1 = "Пример"; $data2 = "123.45"; // Переносим переменные в отображение $smarty->assign("data1", $data1); $smarty->assign("data2", $data2); $TemplSql = sql_query("SELECT form FROM cb_reports WHERE id='100'"); // шаблон отчета из базы $Templ = sql_fetch_array($TemplSql); $report=$smarty->fetch($Templ["form"]); echo $report; $stylesheet=".title {margin: 20px 0px;font-size: 23px;font-weight: bold;}.right_links {float: right;font-size: 12px;margin-top: 5px;}.img_print {vertical-align: bottom;border: none;margin-right: 3px;}"; $mpdf = new mPDF('utf-8', 'A4', '10', 'Arial', 0, 0, 5, 5, 5, 5); $mpdf->charset_in = 'utf-8'; $mpdf->WriteHTML($stylesheet, 1); //style css $mpdf->list_indent_first_level = 0; $mpdf->WriteHTML($report,2);//тело файла $file['content'] = $mpdf->Output("отчет тест.pdf", 'S');//формирование файла $file['name'] = "отчет.pdf"; $file['disp'] = "attachment"; $file['type'] = "application/pdf"; $attach_files[] = $file; $mailto="me@mail.ru"; $mailfrom="klient@mail.ru"; $html2="test №3"; $out=sendmail("Отчет тест-3 smarty",$html2,$mailto,$mailfrom,"КБ","","text/html","utf-8","",$attach_files,-1,1,0,0);
Не получается. Выходит ошибка
----------------------
Ошибка в вычислении. 758: 759: Uncaught exception 'SmartyException' with message 'Unkown resource type '----------------
Подскажите, пожалуйста, где ошибка?
#32899 Отправка на email предаставления - отчет
Отправлено от olgawww в 05 Апрель 2017 - 13:41 in Как это сделать
На рисунке отмечено, где "жамкнуть".
#32792 Отправка на email предаставления - отчет
Отправлено от olgawww в 22 Март 2017 - 16:09 in Как это сделать
"Проверили описанную Вами проблему на стандартной версии программы. Письмо с отчетом отправилось корректно. Насколько я вижу, вы используете версию программы 2.0.4. Эта версия программы не поддерживается. Советую Вам обновить программу до последней версии 2.0.8 и посмотреть работу рассылки отчетов в ней."
Ну, не знаю. Попробуем обновить в конце недели базу, проверим будет ли после этого работать.
#32789 Отправка на email предаставления - отчет
Отправлено от olgawww в 22 Март 2017 - 12:32 in Как это сделать
Создаю представление "отчет". Отчет в базе работает. Заполняю в настройках представления поля "Отправлять по e-mail" и "по адресам", но ничего на почту не приходит. В логах - тоже тишина. Подскажите, что проверить? От чего может не работать команда send_report? Эта команда сразу формирует письмо или есть какая-то "таблица писем", куда письма ставятся в очередь?
Написала в техподдержку, но пока от туда тоже тишина.
- Форум CRM программы Клиентская база
- → Публикации olgawww