Как работать с шаблонами

Шаблон - документ, отправленный без подписи. Шаблоны полезны, если необходимо до отправки показать документ контрагенту. Из шаблона можно создать обычный документ

Как отправить шаблон документа

Для отправки шаблона документа необходимо:

Можно отправлять как однотитульные документы, так и двухтитульные документы - для этого у отправляемого шаблона есть методы TemplateToSend.LoadSellerTitleFromFile() и TemplateToSend.LoadBuyerTitleFromFile()

Сами титулы при этом компонента не готовит - подготовкой контента пользователь занимается самостоятельно.

Примечание

Документы, доступные в ящике организации без дополнительных настроек не поддерживают отправку второго титула в виде шаблона. В примере используем УПД СчфДоп для того чтобы не вводить новые понятия

Функция ОтправитьШаблонУПДСЧФДОП(BoxId_ОтправителяШаблона,
                                 BoxId_ПолучателяШаблона,
                                 BoxId_ОтправителяДокумента,
                                 BoxId_ПолучателяДокумента,
                                 ПутьДоФайлаТитулаПродавца,
                                 ПутьДоФайлаТитулаПокупателя)

    Отправитель = dd_Connection.GetOrganizationById(BoxId_ОтправителяШаблона);

    TemplateSendTask = Organization.CreateTemplateSendTask();
    TemplateSendTask.ToBoxId          = BoxId_ПолучателяШаблона;
    TemplateSendTask.MessageFromBoxId = BoxId_ОтправителяДокумента;
    TemplateSendTask.MessageToBoxId   = BoxId_ПолучателяДокумента;

    TemplateToSend = dd_TemplateSendTask.AddTemplate("UniversalTransferDocument");
    TemplateToSend.Function = "InvoiceAndBasic";
    TemplateToSend.LoadSellerTitleFromFile(ПутьДоФайлаТитулаПродавца);
    TemplateToSend.LoadBuyerTitleFromFile(ПутьДоФайлаТитулаПокупателя);

    Возврат TemplateSendTask.Send();

КонецФункции

Как получить документы, созданные из отправленного шаблона

После отправки шаблона, вернётся объект Template, который содержит идентификатор шаблона. Зная этот идентификатор, можно запросить шаблон повторно, и если из шаблона был создан документ, то в соответствующей коллекции будет указаны ID таких документов. Далее можно вызвать метод Organization.GetDocumentById():

// SentTemplate - объект ранее отправленного шаблона
Функция ПолучитьШаблонныеДокументы(SentTemplate)

    TemplateId = SentTemplate.TemplateId;

    RefreshedTemplate = Organization.GetTemplate(TemplateId);
    FirstTemplateSellerTitle = RefreshedTemplate.Entities.GetItem(0);
    ИдентификаторыДокументовСозданныхИзШаблона = FirstTemplateSellerTitle.CreatedDocumentIds;

    // Идентификаторы можно использовать в методе GetDocumentById
    Возврат ИдентификаторыДокументовСозданныхИзШаблона;

КонецФункции