Как работать с шаблонами
Шаблон - документ, отправленный без подписи. Шаблоны полезны, если необходимо до отправки показать документ контрагенту. Из шаблона можно создать обычный документ
Как отправить шаблон документа
- Для отправки шаблона документа необходимо:
находиться в контексте организации
вызвать метод
Box.CreateTemplateSendTask()
заполнить полученный объект
вызвать метод
TemplateSendTask.Send()
Можно отправлять как однотитульные документы, так и двухтитульные документы - для этого у отправляемого шаблона есть методы TemplateToSend.LoadSellerTitleFromFile()
и TemplateToSend.LoadBuyerTitleFromFile()
Сами титулы при этом компонента не готовит - подготовкой контента пользователь занимается самостоятельно.
Примечание
Документы, доступные в ящике организации без дополнительных настроек не поддерживают отправку второго титула в виде шаблона. В примере используем УПД СчфДоп для того чтобы не вводить новые понятия
// dd_Organization - объект организации, в которой идёт работа
Функция ОтправитьШаблонУПДСЧФДОП(BoxId_ПолучателяШаблона,
BoxId_ОтправителяДокумента,
BoxId_ПолучателяДокумента,
ПутьДоФайлаТитулаПродавца,
ПутьДоФайлаТитулаПокупателя)
dd_TemplateSendTask = dd_Organization.CreateTemplateSendTask();
dd_TemplateSendTask.ToBoxId = BoxId_ПолучателяШаблона;
dd_TemplateSendTask.MessageFromBoxId = BoxId_ОтправителяДокумента;
dd_TemplateSendTask.MessageToBoxId = BoxId_ПолучателяДокумента;
dd_TemplateToSend = TemplateSendTask.AddTemplate("UniversalTransferDocument");
dd_TemplateToSend.Function = "СЧФДОП";
dd_TemplateToSend.LoadSellerTitleFromFile(ПутьДоФайлаТитулаПродавца);
dd_TemplateToSend.LoadBuyerTitleFromFile(ПутьДоФайлаТитулаПокупателя);
Возврат dd_TemplateSendTask.Send();
КонецФункции
Как получить документы, созданные из отправленного шаблона
После отправки шаблона, вернётся объект Template, который содержит идентификатор шаблона. Зная этот идентификатор, можно запросить шаблон повторно, и если из шаблона был создан документ, то в соответствующей коллекции будет указаны ID таких документов. Далее можно вызвать метод Box.GetDocumentById()
:
// SentTemplate - объект ранее отправленного шаблона
Функция ПолучитьШаблонныеДокументы(SentTemplate)
TemplateId = SentTemplate.TemplateId;
RefreshedTemplate = Organization.GetTemplate(TemplateId);
FirstTemplateSellerTitle = RefreshedTemplate.Entities.GetItem(0);
ИдентификаторыДокументовСозданныхИзШаблона = FirstTemplateSellerTitle.CreatedDocumentIds;
// Идентификаторы можно использовать в методе GetDocumentById
Возврат ИдентификаторыДокументовСозданныхИзШаблона;
КонецФункции
См.также