F
F
fboss992021-05-11 18:03:21
1C
fboss99, 2021-05-11 18:03:21

Distribute code between form module and object module?

&НаКлиенте 
Процедура Отправить(Кнопка) 
  
 Если НЕ ПроверитьЗаполнение() Тогда 
  Возврат 
 КонецЕсли; 
 ОтправкаТаблицы(); 
  
  
КонецПроцедуры 
 
 
&НаСервере 
Процедура ОтправкаТаблицы() 
  
 ПрофильПодключения = Новый ИнтернетПочтовыйПрофиль; 
  ПрофильПодключения.АдресСервераSMTP ="smtp.yandex.ru"; 
  ПрофильПодключения.ИспользоватьSSLSMTP=Истина; 
  ПрофильПодключения.ПортSMTP = 465; 
  ПрофильПодключения.ПользовательSMTP = "[email protected]"; 
  ПрофильПодключения.ПарольSMTP ="12345678Boss"; 
  
 Почта = Новый ИнтернетПочта; 
  
 Попытка 
  Почта.Подключиться(ПрофильПодключения); 
 Исключение 
  Сообщить("Не удалось подключиться к серверу smtp.yandex.ru"); 
  Сообщить(ОписаниеОшибки()); 
  Возврат; 
 КонецПопытки; 
  
 Письмо = Новый ИнтернетПочтовоеСообщение; 
 Текст = Письмо.Тексты.Добавить(); 
 Текст.ТипТекста = ТипТекстаПочтовогоСообщения.HTML; 
  
  
 Текст.Текст = " 
  |<html> 
  |<body> 
  |Здравствуйте, Иван Иванович! 
  |<br><br> 
  |Список заказов с суммой от "+ сумма + ". за период с " + Период + ":" 
  " 
  |<style> 
  |th { 
  |font-weight: normal; 
  |} 
  |table { 
  |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

1 answer(s)
K
Konstantin, 2021-05-11
@fosihas

How to split code between form module and object module?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question