Answer the question
In order to leave comments, you need to log in
How to split code between form module and object module?
Good afternoon, there is a code, it needs to be divided between the form module and the object module, can you explain what is the difference and how to do it, I tried everything, but the code does not work in the object module
&НаКлиенте
Процедура Отправить(Кнопка)
Если НЕ ПроверитьЗаполнение() Тогда
Возврат
КонецЕсли;
ОтправкаТаблицы();
КонецПроцедуры
&НаСервере
Процедура ОтправкаТаблицы()
ПрофильПодключения = Новый ИнтернетПочтовыйПрофиль;
ПрофильПодключения.АдресСервераSMTP ="smtp.yandex.ru";
ПрофильПодключения.ИспользоватьSSLSMTP=Истина;
ПрофильПодключения.ПортSMTP = 465;
ПрофильПодключения.ПользовательSMTP = "[email protected]";
ПрофильПодключения.ПарольSMTP ="Pochta1c";
Почта = Новый ИнтернетПочта;
Попытка
Почта.Подключиться(ПрофильПодключения);
Исключение
Сообщить("Не удалось подключиться к серверу smtp.yandex.ru");
Сообщить(ОписаниеОшибки());
КонецПопытки;
Письмо = Новый ИнтернетПочтовоеСообщение;
Текст = Письмо.Тексты.Добавить();
Текст.ТипТекста = ТипТекстаПочтовогоСообщения.HTML;
Текст.Текст = "
|<html>
|<body>
|Здравствуйте, Иван Иванович!
|<br><br>
|Список заказов с суммой от "+ сумма + ". за период с " + Период + ":"
"
|<br><br>
|<style>
|th {
|font-weight: normal;
|}
|table {
|margin-left: 4%;
|width: 50%;
|border-collapse: collapse;
|}
|td, th {
|padding: 4px;
|border: 1px solid black;
|}
|</style>
|<table>
|<thead>
|<th> № </th><th>Дата</th><th>Клиент</th><th>Сумма</th><th>Менеджер</th>
|</thead>
|<tbody>";
////////////////////////////////////
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказКлиента.СуммаДокумента КАК СуммаДокумента,
| ЗаказКлиента.Менеджер.Наименование КАК МенеджерНаименование,
| ЗаказКлиента.Номер КАК Номер,
| ЗаказКлиента.Контрагент.Наименование КАК КонтрагентНаименование,
| ЗаказКлиента.Дата КАК Дата
|ИЗ
| Документ.ЗаказКлиента КАК ЗаказКлиента
|ГДЕ
| ЗаказКлиента.СуммаДокумента >= &СуммаДокумента";
Запрос.УстановитьПараметр("СуммаДокумента", Сумма);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
СуммаДокументов = 0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
стрТаб = СтрШаблон("<tr><td>%1</td><td>%2</td><td>%3</td><td>%4 руб. </td><td>%5</td></tr>",
ВыборкаДетальныеЗаписи.Номер, ФОРМАТ(ВыборкаДетальныеЗаписи.Дата, "ДФ=dd.MM.yyyy"),ВыборкаДетальныеЗаписи.КонтрагентНаименование ,ВыборкаДетальныеЗаписи.СуммаДокумента, ВыборкаДетальныеЗаписи.МенеджерНаименование);
Текст.Текст = Текст.Текст + стрТаб;
СуммаДокументов = СуммаДокументов + ВыборкаДетальныеЗаписи.СуммаДокумента;
КонецЦикла;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
Текст.Текст = Текст.Текст + "
|</tbody>
|</table>
|<br><br>
|Всего заказов " + ВыборкаДетальныеЗаписи.Количество() + " на сумму " + СуммаДокументов + " (" + ЧислоПрописью (СуммаДокументов, "(Л = ru_RU; НД = Ложь", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 0") +") руб.
|</body>
|</html>";
//////////////////////////////////////
Письмо.Тема = "
|«Крупные заказы за период с " + Период +
"";
Письмо.Отправитель = "[email protected]";
Письмо.ИмяОтправителя = "Бубнов Александр Сергеевич";
Письмо.Получатели.Добавить("[email protected]");
Письмо.СлепыеКопии.Добавить("[email protected]");
Попытка
Почта.Послать(Письмо);
Сообщить("Письмо успешно отправлено");
Исключение
Сообщить("Не удалось отправить письмо ");
Сообщить(ОписаниеОшибки());
КонецПопытки;
Почта.Отключиться();
КонецПроцедуры
Answer the question
In order to leave comments, you need to log in
like this?
В модуле формы
&НаКлиенте
Процедура НачатьОтладку(Команда)
НачатьОтладкуНаСервере();
КонецПроцедуры
&НаСервере
Процедура НачатьОтладкуНаСервере()
Этаобработка = РеквизитФормыВЗначение("Объект");
Этаобработка.СведенияОВнешОбр();
КонецПроцедуры
Модуль объекта
Процедура СведенияОВнешОбр() Экспорт
Сообщить("Код");
КонецПроцедуры
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question