Тот, кто будет создавать новый документ в Бухгалтерии 3.0 и поставит перед собой цель отправлять его печатные формы по электронной почте, столкнется с задачей: при отправке нетипового документа в форме "Отправка почтового сообщения" поля Кому, Тема и Тело письма пустые, когда как в типовом варианте отправка сообщения выглядит намного красивее. Почему?
Дело в том, что типовой вариант отработает только если в вашем документе есть реквизит "Организация" с типом значения СправочникСсылка.Организации и реквизит "Контрагент" с типом значений СправочникСсылка.Контрагенты/Организации/ФизическиеЛица. Если есть реквизиты, названные по-другому, к примеру, "Клиент", "Поставщик", "Партнер" и пр., то будет постоянно появляться пустая форма отправки письма, и все нужно добавлять вручную каждый раз.
Как сделать так, чтобы форма отправки письма заполнялась?
1.В общих командах, в "ОтправитьПоЭлектроннойПочте" выбираем наш документ в "ТипПараметраКоманды".
2. В модуле менеджера нашего нового документа (в моем примере это Коммерческое предложение) необходимо добавить команды отправки. Идентификаторы должны быть такие же, как в процедуре Печать().
// Заполняет список команд отправки по электронной почте.
//
// Параметры:
// КомандыОтправки - ТаблицаЗначений - состав полей см. в функции ОтправкаПочтовыхСообщений.КомандыОтправки
//
Процедура ДобавитьКомандыОтправки(КомандыОтправки) Экспорт
// Коммерческое предложение
КомандаОтправки = КомандыОтправки.Добавить();
КомандаОтправки.Идентификатор = "ПечатьКоммерческогоПредложения";
КомандаОтправки.Представление = НСтр("ru='Коммерческое предложение'");
КомандаОтправки.Порядок = 10;
// Коммерческое предложение для крупного клиента
КомандаОтправки = КомандыОтправки.Добавить();
КомандаОтправки.Идентификатор = "ПечатьКоммерческогоПредложенияДляКК";
КомандаОтправки.Представление = НСтр("ru='Коммерческое предложение для крупного клиента'");
КомандаОтправки.Порядок = 20;
КонецПроцедуры
3.В процедуре, которая возвращает ТабличныйДокумент, непосредственно перед Возврат ТабДок, нужно вставить следующее:
// В табличном документе зададим имя области, в которую был
// выведен объект. Нужно для возможности печати покомплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент,
НомерСтрокиНачало, ОбъектыПечати, МассивОбъектов);
Возврат ТабДокумент;
Параметр НомерСтрокиНачало нужно получить раньше, после создания ТабличногоДокумента
НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
4. Идем в общий модуль "ОтправкаПочтовыхСообщений", в процедуре "ЗаполнитьТемуТелоПисьма" видим, как получаются ОрганизацияПоПисьму и КонтрагентПоПисьму
СтруктураТиповОбъектыПечати = РазложитьСписокПоТипамОбъектов(МассивОбъектов);
ОписаниеДопустимыхТиповКонтрагента = ОписаниеТиповИзСтроки("Контрагенты, Организации, ФизическиеЛица");
ОрганизацияПоПисьму = ПолучитьЗначениеОбщегоРеквизита(СтруктураТиповОбъектыПечати, "Организация", ОписаниеТиповИзСтроки("Организации"));
КонтрагентПоПисьму = ПолучитьЗначениеОбщегоРеквизита(СтруктураТиповОбъектыПечати, "Контрагент", ОписаниеДопустимыхТиповКонтрагента);
Тут-то и понимаем, что нам доступны только реквизиты "Организация" и "Контрагент" с видами справочников Организации, Контрагенты и ФизическиеЛица.
Остается в этом месте добавить наши реквизиты. и далее все будет заполняться очень красиво. Например, добавим реквизит "Клиент" типа СправочникСсылка.Клиенты
СтруктураТиповОбъектыПечати = РазложитьСписокПоТипамОбъектов(МассивОбъектов);
ОписаниеДопустимыхТиповКонтрагента = ОписаниеТиповИзСтроки("Контрагенты, Организации, ФизическиеЛица");
ОрганизацияПоПисьму = ПолучитьЗначениеОбщегоРеквизита(СтруктураТиповОбъектыПечати, "Организация", ОписаниеТиповИзСтроки("Организации"));
КонтрагентПоПисьму = ПолучитьЗначениеОбщегоРеквизита(СтруктураТиповОбъектыПечати, "Контрагент", ОписаниеДопустимыхТиповКонтрагента);
//08.02.2016 старт
Если ТипЗнч(МассивОбъектов[0]) = Тип("ДокументСсылка.КоммерческоеПредложение") Тогда
КонтрагентПоПисьму = ПолучитьЗначениеОбщегоРеквизита(СтруктураТиповОбъектыПечати, "Клиент", ОписаниеТиповИзСтроки("Клиенты"));
КонецЕсли;
//конец
Печатные формы для БП 3.0: УПД, ТОРГ-12, Акт, Счет-фактура, Доверенность, Счет
УПД с прочерками
Печать документов за поставщика
Платежная ведомость Т-53
Печать почтовых конвертов
[Расширение] Разрешить редактировать Счета на оплату после установки Даты запрета изменения данных
[Расширение] Исключение Актов сверок из Даты запрета изменения данных
[Расширение] Форма списка Счета на оплату, с возможностью отбора тех ссылок, у которых нет подчиненных документов (не выписана реализация)