Выслать квитанцию передачи файла. Отправляет области-получателю сообщение-квитанцию о получении (завершении обработки,
// Отправляет области-получателю сообщение-квитанцию о получении (завершении обработки,
// и так далее) ранее полученного файла.
// Важно! Если какой-либо из параметров передан некорректно, вызывается исключение.
//
// Параметры:
// ИдентификаторВызова - УникальныйИдентификатор - ранее выданный функцией ВыполнитьПередачуФайлаПриложению
// КодПолучателя - Число - код области данных, куда нужно передать квитанцию.
// БыстраяПередача - Булево - указывает, что необходимо использовать быстрые сообщения для передачи файла.
// ПараметрыВызова - Структура - дополнительные параметры вызова,
// *Код (Число), *Тело (Строка).
//
//
Процедура ВыслатьКвитанциюПередачиФайла(ИдентификаторВызова, КодПолучателя, БыстраяПередача = Ложь, ПараметрыВызова = Неопределено) Экспорт
Локаль = ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка();
// Проверяем входящие параметры.
Если НЕ ЗначениеЗаполнено(ИдентификаторВызова) ИЛИ НЕ ТипЗнч(ИдентификаторВызова) = Тип("УникальныйИдентификатор") Тогда
Комментарий = НСтр("ru = 'Параметр ИдентификаторВызова не содержит валидный идентификатор.'", Локаль);
ВызватьИсключение Комментарий;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(КодПолучателя) И НЕ ТипЗнч(КодПолучателя) = Тип("Число") Тогда
Комментарий = НСтр("ru = 'Параметр КодПолучателя не содержит валидный код области данных.'", Локаль);
ВызватьИсключение Комментарий;
КонецЕсли;
// Формируем и отправляем сообщение.
УстановитьПривилегированныйРежим(Истина);
ТипСообщения = СообщенияРаспределенноеВыполнениеКомандИнтерфейс.ТипПередачаФайлаОтвет();
Сообщение = СообщенияВМоделиСервиса.НовоеСообщение(ТипСообщения);
Сообщение.Body.Zone = РаботаВМоделиСервиса.ЗначениеРазделителяСеанса();
Сообщение.Body.Call_ID = ИдентификаторВызова;
Сообщение.Body.Sender = Сообщение.Body.Zone;
Сообщение.Body.Recipient = КодПолучателя;
Сообщение.Body.Error = Ложь;
Сообщение.Body.RapidTransfer = БыстраяПередача;
Если НЕ ПараметрыВызова = Неопределено И ТипЗнч(ПараметрыВызова) = Тип("Структура") Тогда
Если ПараметрыВызова.Свойство("Код") Тогда
Сообщение.Body.CallCode = ПараметрыВызова.Код;
КонецЕсли;
Если ПараметрыВызова.Свойство("Тело") Тогда
Сообщение.Body.CallBody = ПараметрыВызова.Тело;
КонецЕсли;
КонецЕсли;
// Высылаем сообщение МС.
НачатьТранзакцию();
Попытка
Получатель = РаботаВМоделиСервисаПовтИсп.КонечнаяТочкаМенеджераСервиса();
СообщенияВМоделиСервиса.ОтправитьСообщение(Сообщение, Получатель, БыстраяПередача);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ОбработатьОтветНаПередачуФайла (БСП)
ОтработатьКвитанциюПередачиФайла (БСП)
ОбработатьОшибкуПередачиФайла (БСП)
ПолучитьРазмерБлокаПередачиФайла (БСП)
ВыполнитьПередачуФайлаПриложению (БСП)
ОбработатьЗапросНаПередачуФайла (БСП)
СобытиеЖурналаРегистрацииВыгрузкаДанныхВСервисПередачиФайлов (БСП)
СобытиеЖурналаРегистрацииЗагрузкаДанныхИзСервисаПередачиФайлов (БСП)
ВыполнитьВыгрузкуДляУзлаИнформационнойБазыВСервисПередачиФайлов (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)