Перейти к содержимому


Публикации olgawww

8 публикаций создано olgawww (учитываются публикации только с 30-Апрель 23)


#37886 Как сформировать файл excel и отправить его почтой

Отправлено от olgawww в 05 Сентябрь 2017 - 13:15 in Как это сделать

Спасибо. Выкладываю измененный код, возможно кому-то пригодится.
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/>письмо отправлено";



#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 Как это сделать

Не работает отправка на почту представления (отчет). Почтовый сервер настроен (рассылка по cron на почту приходят ежедневно).

Создаю представление "отчет". Отчет в базе работает. Заполняю в настройках представления поля "Отправлять по e-mail" и "по адресам", но ничего на почту не приходит. В логах - тоже тишина. Подскажите, что проверить? От чего может не работать команда send_report? Эта команда сразу формирует письмо или есть какая-то "таблица писем", куда письма ставятся в очередь?

Написала в техподдержку, но пока от туда тоже тишина.