gifts2017

УТ 10.3 Автоматическая подстановка почты контрагента при отправке печатной формы документа на электронную почту

Опубликовал Maks S (murz44) в раздел Программирование - Практика программирования

Возникла необходимость в автоматической подстановке почты контрагента при отправке печатных форм документов на электронную почту. Каждый раз искать и выбирать очень долго.

Решение:

1.  В ОбщиеФормы.ПечатьДокументов меняем строку 

УправлениеОтчетами.ОтправитьДокументПоЭлектроннойПочте(ЭлементыФормы.ПолеТабличногоДокумента, Заголовок);

На

УправлениеОтчетами.ОтправитьДокументПоЭлектроннойПочте(ЭлементыФормы.ПолеТабличногоДокумента, Заголовок,ЭтаФорма.ОбъектПечати);

2.  В ОбщиеМодули.УправлениеОтчетами меняем

Процедура ОтправитьДокументПоЭлектроннойПочте(Документ, ИмяФайлаВложения = "") Экспорт

   Если НЕ Константы.ИспользованиеВстроенногоПочтовогоКлиента.Получить() Тогда
     ОбщегоНазначения.СообщитьОбОшибке("Отправлять документы по электронной почте можно только из встроенного почтового к     лиента.
|В настоящее время в настройках параметров учета установлено использование основного почтового клиента операционной системы."); Предупреждение("Операция не выполнена"); Возврат; КонецЕсли; ФормаОтправкиДокумента = ПолучитьОбщуюФорму("НастройкаОтправкиОтчета"); ФормаОтправкиДокумента.Отчет = Документ; ФормаОтправкиДокумента.ИмяФайлаВложения = СтрЗаменить(ИмяФайлаВложения, ".", " "); ФормаОтправкиДокумента.ТемаСообщения = ИмяФайлаВложения; ФормаОтправкиДокумента.ОткрытьМодально(); КонецПроцедуры

На

Процедура ОтправитьДокументПоЭлектроннойПочте(Документ, ИмяФайлаВложения = "",ОбъектПечати = Неопределено) Экспорт
   Если НЕ Константы.ИспользованиеВстроенногоПочтовогоКлиента.Получить() Тогда
      ОбщегоНазначения.СообщитьОбОшибке("Отправлять документы по электронной почте можно только из встроенного почтового       клиента.
      |В настоящее время в настройках параметров учета установлено использование основного почтового клиента операционной      системы.");
      Предупреждение("Операция не выполнена");
      Возврат;
   КонецЕсли;

   ФормаОтправкиДокумента = ПолучитьОбщуюФорму("НастройкаОтправкиОтчета");
   ФормаОтправкиДокумента.ОбъектПечати = ОбъектПечати;
   ФормаОтправкиДокумента.Отчет = Документ;
   ФормаОтправкиДокумента.ИмяФайлаВложения = СтрЗаменить(ИмяФайлаВложения, ".", " "); 
   ФормаОтправкиДокумента.ТемаСообщения = ИмяФайлаВложения;
   ФормаОтправкиДокумента.ОткрытьМодально();
КонецПроцедуры

3.  В ОбщиеФормы.НастройкаОтправкиОтчета добавляем реквизит ОбъектПечати с составным типом -  СправочникСсылка, ДокументСсылка


4. В  ОбщиеФормы.НастройкаОтправкиОтчета в начало процедуры

ОсновныеДействияФормыOK

 после строки 

СтруктураНовогоПисьма = Новый Структура;

добавляем код

Если (ЭтаФорма.ОбъектПечати <> Неопределено) И (ЭтаФорма.ОбъектПечати.Метаданные().Реквизиты.Найти("Контрагент") <> Неопределено) Тогда
    СписокКому = Новый СписокЗначений;
    Адрес = УправлениеЭлектроннойПочтой.ОпределитьАдресПолучателя(ЭтаФорма.ОбъектПечати.Контрагент);
    Если НЕ ПустаяСтрока(Адрес) Тогда
       СписокКому.Добавить(Адрес,Строка(ЭтаФорма.ОбъектПечати.Контрагент.Наименование));
    КонецЕсли;
    СтруктураНовогоПисьма.Вставить("Кому", СписокКому);
КонецЕсли;

 

Вот и все. Теперь при отправке документов на почту автоматически подставляется почта контрагента. 

См. также

Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа