forum.bitel.ru
http://forum.bitel.ru/

Отправить карту абоненту на его e-mail
http://forum.bitel.ru/viewtopic.php?f=19&t=9467
Страница 1 из 1

Автор:  skyb [ 21 июл 2014, 11:52 ]
Заголовок сообщения:  Отправить карту абоненту на его e-mail

Есть карточки скрин, там есть кнопка отправить на e-mail куда можно ввести собственно e-mail и уйдет письмо. А можно тоже самое обработать через скрипт? Тоесть выдрать с параметра договора поле с электронкой и отправить эту карточку? в глобальном скрипте сделать

Вложения:
Выделение_041.png
Выделение_041.png [ 38.98 КБ | Просмотров: 11123 ]

Автор:  dimOn [ 21 июл 2014, 12:11 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

ну всяко можно. карту сформировать можно, взяв код из оригинального экшена, мыло получить из параметра тоже можно, письма отправлять уже все умеют. стало быть, задача решаема. осталось сделать :idea:

Автор:  skyb [ 21 июл 2014, 13:12 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

dimOn писал(а):
ну всяко можно. карту сформировать можно, взяв код из оригинального экшена, мыло получить из параметра тоже можно, письма отправлять уже все умеют. стало быть, задача решаема. осталось сделать :idea:

ответ не приблизил к решению вопроса ))))))
можно немного глубже =)

Автор:  dimOn [ 21 июл 2014, 13:53 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

Начнём с основ проектирования и разработки ПО. (см, например, IDEF0) Сначала нужно сделать декомпозицию задачи. Т.е. разбить это на несколько максимально независимых частей, например:
1. получение параметра мыла
2. формирование шаблона
3. отправка письма со вложением
Далее, углубляться в каждую из частей и декомпозировать дальше при необходимости. И задаваться вопросом уже по конкретной части, например "как получить параметр из договора" :umnik:

Автор:  skyb [ 21 июл 2014, 14:00 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

dimOn писал(а):
Начнём с основ проектирования и разработки ПО. (см, например, IDEF0) Сначала нужно сделать декомпозицию задачи. Т.е. разбить это на несколько максимально независимых частей, например:
1. получение параметра мыла
2. формирование шаблона
3. отправка письма со вложением
Далее, углубляться в каждую из частей и декомпозировать дальше при необходимости. И задаваться вопросом уже по конкретной части, например "как получить параметр из договора" :umnik:

издеваешься?)))))
как из параметра мыло получить я вкурсе, я так понял в стандартном экшене есть возможность вставить в поле отправки мыла это самое мыло?
как то так можно ответить? ))
viewtopic.php?p=77710#p77710

Автор:  skyb [ 21 июл 2014, 16:20 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

да, всетаки лучше полную карту а не ту что на скрине, и как всетаки сделать? =)

Автор:  dimOn [ 22 июл 2014, 14:42 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

взять код оригинального экшена и поглядеть. полная карта делается из xls превращается в html и потом рендерится. потому отослать можно в виде html , в pdf не получится просто так сделать

Автор:  skyb [ 22 июл 2014, 15:21 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

dimOn писал(а):
взять код оригинального экшена и поглядеть. полная карта делается из xls превращается в html и потом рендерится. потому отослать можно в виде html , в pdf не получится просто так сделать

вот я последний держусь кто не опенсорсит и не декомпилит код, а вы сам толкаете, ну да ладно, будем декомпилить

Автор:  dimOn [ 22 июл 2014, 15:50 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

дык пожалуста.
но можно скинуть код в личку

Автор:  skyb [ 22 июл 2014, 15:53 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

dimOn писал(а):
дык пожалуста.
но можно скинуть код в личку

давай код, а то чета либо я не то смотрю, либо я нифига не понял. Там поля для почты нет вообще, или вот эти 46 строк - это все?

Автор:  dimOn [ 22 июл 2014, 15:54 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

хотя там код мало чем поможет, я думаю. там тупо делается полная ContractXML применяется на "contract.xsl" и получается html который в чистом виде отдаётся в клиент на рендер. это для полной карты. она вот такая стрёмная, потому что древний код и так исторически, короче.

Код:
         rootNode.setAttribute( "xslt", "contract.xsl" );
         Element user = createElement( rootNode, "user" );
         user.setAttribute( "id", String.valueOf( userID ) );
            // информация по договору
            try
            {
                XMLOutputFactory factory = XMLOutputFactory.newInstance();
                XMLStreamWriter w = factory.createXMLStreamWriter( new DOMResult( rootNode ) );

                new ContractUtils( con ).addContractXML( cid, w, true );
            }
            catch( XMLStreamException e )
            {
                e.printStackTrace();
            }

Автор:  dimOn [ 22 июл 2014, 15:54 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

откуда там поле для почты должно быть?

Автор:  skyb [ 22 июл 2014, 15:57 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

dimOn писал(а):
откуда там поле для почты должно быть?

ну я смотрю что оно в другом месте, а где именно получить уже в html карту, которую я сам отправлю? готовую?
это
new ContractUtils( con ).addContractXML( cid, w, true );
или
XMLStreamWriter w = factory.createXMLStreamWriter( new DOMResult( rootNode ) );
это?

Автор:  dimOn [ 22 июл 2014, 15:57 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

почта отправляет другой кнопкой. и там используется (странная) возможность такая: если в экзекутер передать параметр email то он сам отправит всё что ему пришло. это делается вне этого экшена, короче.

Автор:  dimOn [ 22 июл 2014, 15:59 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

skyb писал(а):
dimOn писал(а):
откуда там поле для почты должно быть?

ну я смотрю что оно в другом месте, а где именно получить уже в html карту, которую я сам отправлю? готовую?
это
new ContractUtils( con ).addContractXML( cid, w, true );
или
XMLStreamWriter w = factory.createXMLStreamWriter( new DOMResult( rootNode ) );
это?

готовый html будет в узле rootNode.
никакого файла итд нету, разумеется. чтобы отослать письмо с ним надо всё это дело обработать соответственно, этот код для примера я дал, как вообще трансформируется html и из чего, не надо в нём искать решение задачи.

Автор:  dimOn [ 22 июл 2014, 16:00 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

дальше отвечаю на конкретные вопросы, которые я смогу понять

Автор:  skyb [ 22 июл 2014, 16:12 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

dimOn писал(а):
дальше отвечаю на конкретные вопросы, которые я смогу понять

от куда и как получить rootNode? =)

Автор:  skyb [ 27 июл 2014, 16:51 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

dimOn писал(а):
дальше отвечаю на конкретные вопросы, которые я смогу понять

Root node это же элемент xml дерева тут? Или чего, после получение его например как тут
http://stackoverflow.com/questions/4734 ... es-on-java
Его использовать? И собстенно как использовать тоже непонятно

Автор:  skyb [ 27 июл 2014, 17:34 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

Почитал про перобразования, я так понял полностью переписать нада все преобразование и отправлять?

Автор:  skyb [ 27 июл 2014, 20:07 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

кароче я понял, чтоб отправить карту нужно преобразовать xml в html, но мне кажется проще нарисовать в html выводимые данные, чем вытягивать с xml, хотя кто знает, в контексте разработчиков, все верно, а мне наверно проще нарисовать подобную html страницу и все =)

Автор:  dimOn [ 30 июл 2014, 13:49 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

rootNode это просто предопределённый узел в экшене. в скрипте его, понятное дело, нету. нужно или его создать (создав предварительно dom-документ) потом заполнить. потому если хочется воспользоваться похожим кодом надо:
1. создать пустой dom-документ
2. создать в нём rootNode с именем data
3. заполнить его кодом который дан выше
4. трансформировать полученный документ с помощью "contract.xsl"
5. готовый документ с html уже использовать как нужно, например, сериализовать или вложить в файл итд. неясно что надо вообще в итоге то.

Автор:  skyb [ 30 июл 2014, 14:37 ]
Заголовок сообщения:  Re: Отправить карту абоненту на его e-mail

да ничего уже )))) я просто сам html нарисую с того что сейчас есть и все )

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/