Как отправить документы

Вы можете отправлять документы только тем контрагентам в Диадоке, с которыми установили партнерские отношения.

Отправляйте документы с помощью объекта PackageSendTask2. Тип, функцию и версию документа узнайте в ответе одного из методов получения типа документа.

Часть документов поддерживают заполнение контента через DynamicContent. Такие документы можно добавлять в отправку как с помощью метода PackageSendTask2.AddDocument(), так и с помощью PackageSendTask2.AddDocumentFromFile() и PackageSendTask2.AddDocumentFromBase64().

Если же тип документа не поддерживает DynamicContent, то его можно добавить в отправку только методами PackageSendTask2.AddDocumentFromFile() и PackageSendTask2.AddDocumentFromBase64().

Для каждого отправляемого документа заполните мета информацию, у которой источник (поле Source) указан User.

Отправка документа с заполнением контента через DynamicContent
Функция ОтправитьДокументы(dd_Box, dd_Counteragent)
    dd_SendTask = dd_Box.CreatePackageSendTask2();
    dd_SendTask.CounterAgentId = dd_Counteragent.Guid;

    dd_DocumentToSend = dd_SendTask.AddDocument("UniveralTransferDocument", "СЧФДОП", "utd970_05_03_01");

    // пример заполнения контента смотри в https://developer.kontur.ru/Docs/Diadoc/COM/HowTo/dynamic_content/dynamic_content.html
    ЗаполнитьКонтентОтправителяУПД970(dd_DocumentToSend.Content);


    dd_SendTask.Send();
КонецФункции
Отправка документа без DynamicContent’а
Функция ЗначенияДляМетаДанных()
    ЗначенияДляТипов = Новый Соответствие;

    ЗначенияДляТипов.Вставить("String",  "String");
    ЗначенияДляТипов.Вставить("Integer", "123");
    ЗначенияДляТипов.Вставить("Decimal", "123.123");
    ЗначенияДляТипов.Вставить("Date",    "31.12.1999");
    ЗначенияДляТипов.Вставить("Time",    "23:59");

    Возврат Новый ФиксированноеСоответствие(ЗначенияДляТипов_);
КонецФункции


Процедура ЗаполнитьМетаДанные(dd_DocumentToSend)
    ЗначенияДляТипов = ЗначенияДляМетаДанных();

    dd_MetadataItems = dd_DocumentToSend.TypeInfo.Titles.GetItem(0).MetadataItems;
    Для Каждого dd_MetaInfo Из dd_MetadataItems Цикл
        Если "User" = dd_MetaInfo.IsRequired И dd_MetaInfo.Source Тогда
            dd_Metadata = dd_DocumentToSend.AddMetadata();
            dd_Metadata.Key = dd_MetaInfo.Id;
            dd_Metadata.Value = ЗначенияДляТипов[dd_MetaInfo.Type];
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры


Функция ОтправитьДокументы(dd_Box, dd_Counteragent)
    dd_SendTask = dd_Box.CreatePackageSendTask2();
    dd_SendTask.CounterAgentId = dd_Counteragent.Guid;

    dd_DocumentToSend = dd_SendTask.AddDocumentFromFile("Nonformalized", "default", "v1", "С:\\Документ.pdf");
    ЗаполнитьМетаДанные(dd_DocumentToSend);

    dd_SendTask.Send();
КонецФункции