#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если ТипЗнч(Параметры.СтруктураЭД) <> Тип("Структура")
ИЛИ Не Параметры.СтруктураЭД.Свойство("НаправлениеЭД") Тогда
ОбщегоНазначения.СообщитьПользователю(НСтр("ru = 'Ошибка открытия электронного документа'"),,,, Отказ);
Возврат;
КонецЕсли;
Настройки = ХранилищеСистемныхНастроек.Загрузить("Обработка.БизнесСеть.Форма.ПросмотрДокумента/ТекущиеДанные");
Если ТипЗнч(Настройки) = Тип("Соответствие") Тогда
ОтключитьВыводДопДанных = Настройки.Получить("ОтключитьВыводДопДанных");
ОтключитьВыводКопияВерна = Настройки.Получить("ОтключитьВыводКопияВерна");
КонецЕсли;
Элементы.КомандаОтображатьДополнительнуюИнформацию.Пометка = Не ОтключитьВыводДопДанных;
Элементы.КомандаОтображатьОбластьКопияВерна.Пометка = Не ОтключитьВыводКопияВерна;
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Параметры.СтруктураЭД);
Если Параметры.СтруктураЭД.Свойство("НаименованиеФайла") Тогда
Представление = Параметры.СтруктураЭД.НаименованиеФайла;
КонецЕсли;
АдресСтруктурыЭД = ПоместитьВоВременноеХранилище(Параметры.СтруктураЭД, УникальныйИдентификатор);
ЗагрузкаЭД = Параметры.СтруктураЭД.НаправлениеЭД = Перечисления.НаправленияЭДО.Входящий;
ЭтоВходящийДокумент = Параметры.СтруктураЭД.НаправлениеЭД = Перечисления.НаправленияЭДО.Входящий;
ДокументИБ = Параметры.СтруктураЭД.ВладелецЭД;
ДатаДокумента = Параметры.СтруктураЭД.Дата;
ЭтоНовыйДокумент = Не ЭтоВходящийДокумент И Не ЗначениеЗаполнено(Статус);
Если ЭтоВходящийДокумент Тогда
Параметры.СтруктураЭД.Свойство("КонтрагентНаименование", КонтрагентНаименование);
КонецЕсли;
ПоказатьПредставлениеФайлаЭлектронногоДокумента(Параметры.СтруктураЭД, Отказ);
Если Не ЗначениеЗаполнено(Идентификатор)
И Не ЗначениеЗаполнено(АдресХранилищаПредставления) Тогда
Элементы.ФормаОткрытьПредставлениеДокумента.Видимость = Ложь;
КонецЕсли;
ОрганизацияПодключенаБС = Истина;
Если ЗначениеЗаполнено(Организация) И ЭтоВходящийДокумент Тогда
ОрганизацияПодключенаБС = БизнесСеть.ОрганизацияПодключена(Организация);
Иначе
ОрганизацияНеНайдена = Истина;
КонецЕсли;
УстановитьЗаголовокФормы();
УстановитьВидимостьДоступностьЭлементов();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ОтправительНажатие(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПараметрыОткрытия = БизнесСетьКлиентСервер.ОписаниеИдентификацииОрганизацииКонтрагентов();
ПараметрыОткрытия.ИНН = КонтрагентИНН;
ПараметрыОткрытия.КПП = КонтрагентКПП;
БизнесСетьСлужебныйКлиент.ОткрытьПрофильУчастника(ПараметрыОткрытия);
КонецПроцедуры
&НаКлиенте
Процедура РежимЗагрузкиПриИзменении(Элемент)
РежимЗаполненияДокумента = СпособЗагрузкиДокумента = 1;
ИзменитьРежимЗагрузки(Элементы, РежимЗаполненияДокумента);
КонецПроцедуры
&НаКлиенте
Процедура ПодключитьОрганизациюКСервисуБизнесСеть()
Оповещение = Новый ОписаниеОповещения("ПодключитьОрганизациюПродолжение", ЭтотОбъект);
БизнесСетьСлужебныйКлиент.ОткрытьФормуПодключенияОрганизации(Организация, ЭтотОбъект, Оповещение);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура КомандаЗагрузить(Команда)
ОчиститьСообщения();
Если Не ОрганизацияПодключенаБС Тогда
ПодключитьОрганизациюКСервисуБизнесСеть();
Возврат;
КонецЕсли;
ЗагрузитьДокументЭДО();
КонецПроцедуры
&НаКлиенте
Процедура ОтображатьДополнительнуюИнформацию(Команда)
ОтключитьВыводДопДанных = Не ОтключитьВыводДопДанных;
ПерезаполнитьТабличныйДокумент();
ОбновитьОтображениеДанных();
Элементы.КомандаОтображатьДополнительнуюИнформацию.Пометка = Не ОтключитьВыводДопДанных;
КонецПроцедуры
&НаКлиенте
Процедура ОтображатьОбластьКопияВерна(Команда)
ОтключитьВыводКопияВерна = Не ОтключитьВыводКопияВерна;
ПерезаполнитьТабличныйДокумент();
ОбновитьОтображениеДанных();
Элементы.КомандаОтображатьОбластьКопияВерна.Пометка = Не ОтключитьВыводКопияВерна;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура ПерезаполнитьТабличныйДокумент()
Если ЗначениеЗаполнено(АдресСтруктурыЭД) Тогда
СтруктураЭД = ПолучитьИзВременногоХранилища(АдресСтруктурыЭД);
ПоказатьПредставлениеФайлаЭлектронногоДокумента(СтруктураЭД, Ложь);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьДокументЭДО()
Отказ = Ложь;
Если СпособЗагрузкиДокумента = 0 Тогда
Если Не ЗначениеЗаполнено(ТипОбъекта) Тогда
Если Элементы.ТипОбъекта.СписокВыбора.Количество() Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Поле ""Тип"" не заполнено'"),, "ТипОбъекта",, Отказ);
Возврат;
Иначе
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Загрузка данного документа не поддерживается'"),,,, Отказ);
Возврат;
КонецЕсли;
КонецЕсли;
ИначеЕсли СпособЗагрузкиДокумента = 1 Тогда
Если Не ЗначениеЗаполнено(ДокументИБ) Тогда
ТекстОшибки = НСтр("ru = 'Поле ""Документ"" не заполнено'");
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибки,, "ДокументИБ",, Отказ);
Возврат;
Иначе
Если ДокументПроведен(ДокументИБ) Тогда
Шаблон = НСтр("ru = 'Обработка документа %1.
|Операция возможна только для непроведенных документов.'");
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, ДокументИБ);
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения);
Отказ = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(Контрагент) Тогда
ОбновитьИнформациюОКонтрагенте(Контрагент, КонтрагентИНН, КонтрагентКПП, ДатаДокумента);
Если Не ЗначениеЗаполнено(Контрагент) Тогда
СоздатьКонтрагента(Отказ);
Если Отказ Тогда
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
ОписаниеПакета = ПолучитьИзВременногоХранилища(АдресСтруктурыРазбораЭД);
ОповещениеОкончанияОтраженияВУчете = Новый ОписаниеОповещения("ПослеЗавершенияОтраженияВУчете", ЭтотОбъект);
Если СпособЗагрузкиДокумента = 0 Тогда
ОбменСКонтрагентамиИнтеграцияКлиент.ОтразитьДокументВУчете(ОповещениеОкончанияОтраженияВУчете, ОписаниеПакета,
Неопределено, Контрагент, ТипОбъекта);
Иначе
ОбменСКонтрагентамиИнтеграцияКлиент.ОтразитьДокументВУчете(ОповещениеОкончанияОтраженияВУчете, ОписаниеПакета,
ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ДокументИБ), Контрагент, ТипОбъекта);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ДокументПроведен(ДокументИБ)
Проведен = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументИБ, "Проведен");
Возврат Проведен;
КонецФункции
&НаСервере
Процедура СоздатьКонтрагента(Отказ)
РеквизитыКонтрагента = Новый Структура;
РеквизитыКонтрагента.Вставить("ИНН", КонтрагентИНН);
РеквизитыКонтрагента.Вставить("КПП", КонтрагентКПП);
РеквизитыКонтрагента.Вставить("Наименование", КонтрагентНаименование);
БизнесСетьПереопределяемый.СоздатьКонтрагентаПоРеквизитам(РеквизитыКонтрагента, Контрагент, Отказ);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ОбновитьИнформациюОКонтрагенте(Контрагент, УчастникИНН, УчастникКПП, ДатаДокумента)
Контрагент = ОбменСКонтрагентамиИнтеграция.СсылкаНаОбъектПоИННКПП("Контрагенты", УчастникИНН, УчастникКПП, ДатаДокумента)
КонецПроцедуры
&НаКлиенте
Процедура ОтклонитьДокумент(Команда)
Отказ = Истина;
Оповещение = Новый ОписаниеОповещения("ОтклонитьДокументПродолжение", ЭтотОбъект);
ТекстВопроса = НСтр("ru = 'Документ будет отклонен для загрузки.
|Продолжить выполнение операции?'");
ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
КонецПроцедуры
&НаКлиенте
Процедура ОтклонитьДокументПродолжение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = КодВозвратаДиалога.Нет Тогда
Возврат;
КонецЕсли;
Отказ = Ложь;
ПараметрыВызова = Новый Структура;
ПараметрыВызова.Вставить("Ссылка", ДокументИБ);
ПараметрыВызова.Вставить("Идентификатор", Идентификатор);
Результат = БизнесСетьВызовСервера.ОтклонитьДокументы(Организация, ПараметрыВызова, Отказ);
Оповестить("ОбновитьСписокВходящихДокументов1СБизнесСеть");
Закрыть();
КонецПроцедуры
&НаСервереБезКонтекста
Функция УстановитьСтатусЗагруженВФоне(Организация, Идентификатор, ДокументСсылка)
НаименованиеЗадания = НСтр("ru = 'Установка статуса ""Загружен"" для документа 1С:Бизнес-сеть'",
ОбщегоНазначения.КодОсновногоЯзыка());
ИмяМетода = "БизнесСеть.УстановитьСтатусЗагружен";
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияПроцедуры();
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания;
ПараметрыВыполнения.ЗапуститьВФоне = Истина;
Возврат ДлительныеОперации.ВыполнитьПроцедуру(ПараметрыВыполнения, ИмяМетода, Организация, Идентификатор,
ДокументСсылка);
КонецФункции
&НаКлиенте
Процедура ПослеЗавершенияОтраженияВУчете(Результат, ДополнительныеПараметры) Экспорт
ДокументСсылка = Неопределено;
Если Не ЗначениеЗаполнено(Результат) Тогда
Возврат;
КонецЕсли;
ДокументСсылка = Результат[0];
ДлительнаяОперация = УстановитьСтатусЗагруженВФоне(Организация, Идентификатор, ДокументСсылка);
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ДокументСсылка", ДокументСсылка);
Оповещение = Новый ОписаниеОповещения("ПослеУстановкиСтатусаЗагружен", ЭтотОбъект, ДополнительныеПараметры);
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, Оповещение, ПараметрыОжидания);
КонецПроцедуры
&НаКлиенте
Процедура ПослеУстановкиСтатусаЗагружен(РезультатВыполнения, ДополнительныеПараметры) Экспорт
ДокументСсылка = ДополнительныеПараметры.ДокументСсылка;
ТекстОповещения = НСтр("ru = 'Загрузка выполнена.'");
ТекстПояснения = НСтр("ru = 'Загружен документ через сервис 1С:Бизнес-сеть.'");
ПоказатьОповещениеПользователя(ТекстОповещения, ПолучитьНавигационнуюСсылку(ДокументСсылка), ТекстПояснения, БиблиотекаКартинок.БизнесСеть);
МассивОповещения = Новый Массив;
МассивОповещения.Добавить(ДокументСсылка);
Оповестить("ОбновитьДокументИБПослеЗаполнения", МассивОповещения);
Если ЗначениеЗаполнено(ДокументСсылка) Тогда
ПоказатьЗначение(Неопределено, ДокументСсылка);
КонецЕсли;
ОповеститьОбИзменении(ДокументСсылка);
Оповестить("ОбновитьСписокВходящихДокументов1СБизнесСеть");
Если Окно <> Неопределено Тогда
Закрыть();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПоказатьПредставлениеФайлаЭлектронногоДокумента(СтруктураЭД, Отказ)
ОписаниеФайлаПакета = РаботаСФайламиБЭД.НовоеОписаниеФайла();
ОписаниеФайлаПакета.ДвоичныеДанные = ПолучитьИзВременногоХранилища(СтруктураЭД.АдресХранилища);
ОписаниеПакета = ОбменСКонтрагентамиИнтеграция.ОписаниеПакета(ОписаниеФайлаПакета);
ПараметрыПолученияПредставления = ОбменСКонтрагентамиИнтеграция.НовыеПараметрыВизуализации();
ПараметрыПолученияПредставления.ВыводитьДопДанные = Не ОтключитьВыводДопДанных;
ПараметрыПолученияПредставления.ВыводитьКопияВерна = Не ОтключитьВыводКопияВерна;
Если СтруктураЭД.Свойство("ИзображениеQRКода") И ЗначениеЗаполнено(СтруктураЭД.ИзображениеQRКода) Тогда
ДанныеQRКода = БизнесСеть.НовыйДанныеQRКода(СтруктураЭД.ИдентификаторВременнойСсылки,
СтруктураЭД.ПубличнаяСсылкаQRКода,
СтруктураЭД.ИзображениеQRКода);
ПараметрыПолученияПредставления.ПодсказкаQRКода = "";
ПараметрыПолученияПредставления.ПубличнаяСсылкаQRКода = ДанныеQRКода.ПубличнаяСсылкаQRКода;
КонецЕсли;
Контрагент = Неопределено;
ДанныеПредставления = ОбменСКонтрагентамиИнтеграция.ПредставлениеДанныхДокумента(
ОписаниеПакета.Содержание.ВидДокумента,
ОписаниеПакета.ДанныеОсновногоФайла.ДвоичныеДанные,
ОписаниеПакета.ДанныеФайлаДопДанных.ДвоичныеДанные,
ПараметрыПолученияПредставления);
Если ДанныеПредставления.Успех Тогда
ПредставлениеДокумента = ДанныеПредставления.ПредставлениеДокумента;
Если СтруктураЭД.Свойство("ИзображениеQRКода") И ЗначениеЗаполнено(СтруктураЭД.ИзображениеQRКода)
И ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(
ПредставлениеДокумента.Рисунки, "КартинкаQRКода") Тогда
ДанныеQRКода = БизнесСеть.НовыйДанныеQRКода(СтруктураЭД.ИдентификаторВременнойСсылки,
СтруктураЭД.ПубличнаяСсылкаQRКода,
СтруктураЭД.ИзображениеQRКода);
ПредставлениеДокумента.Рисунки.КартинкаQRКода.Картинка = Новый Картинка(ДанныеQRКода.ИзображениеQRКода);
КонецЕсли;
ТабличныйДокументФормы = ПредставлениеДокумента;
КонецЕсли;
Если Не ЗначениеЗаполнено(Ссылка) Тогда
Ссылка = СтруктураЭД.ВладелецЭД;
КонецЕсли;
Для Каждого ЭлементКоллекции Из ОписаниеПакета.СписокТипов Цикл
НоваяСтрокаВыбора = Элементы.ТипОбъекта.СписокВыбора.Добавить();
НоваяСтрокаВыбора.Значение = ЭлементКоллекции.Представление;
ТипОбъекта = НоваяСтрокаВыбора.Значение;
КонецЦикла;
ВидЭД = ОписаниеПакета.Содержание.ТипДокумента;
Типы = Новый Массив;
Для каждого СпособОтражения Из ОписаниеПакета.СписокТипов Цикл
ОписаниеТипа = ОбменСКонтрагентамиИнтеграция.ОписаниеТипаОбъектаПоСпособуОбработки(СпособОтражения.Значение);
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Типы, ОписаниеТипа.Типы());
КонецЦикла;
Если Не Типы.Количество() Тогда
Типы = Метаданные.ОпределяемыеТипы.ОснованияЭлектронныхДокументовЭДО.Тип.Типы();
КонецЕсли;
Если Типы.Количество() Тогда
ОписаниеТипа = Новый ОписаниеТипов(Типы);
ДокументИБ = ОписаниеТипа.ПривестиЗначение();
Если Типы.Количество() > 1 Тогда
Элементы.ДокументУчета.ОграничениеТипа = ОписаниеТипа;
Элементы.ДокументУчета.ВыбиратьТип = Истина;
КонецЕсли;
КонецЕсли;
АдресСтруктурыРазбораЭД = ПоместитьВоВременноеХранилище(ОписаниеПакета, УникальныйИдентификатор);
КонецПроцедуры
&НаСервере
Процедура УстановитьВидимостьДоступностьЭлементов()
Если ОрганизацияНеНайдена И ЭтоВходящийДокумент Тогда
Элементы.ОтсутствуетОрганизацияВИБ.Видимость = Истина;
Элементы.ВходящийДокумент.Видимость = Ложь;
Элементы.НовыйДокумент.Видимость = Ложь;
Элементы.ОтправленныйДокумент.Видимость = Ложь;
Элементы.КомандаЗагрузить.Доступность = Ложь;
Элементы.ФормаОтклонитьДокумент.Видимость = Ложь;
Иначе
Элементы.ОтсутствуетОрганизацияВИБ.Видимость = Ложь;
Элементы.ВходящийДокумент.Видимость = ЭтоВходящийДокумент;
Элементы.НовыйДокумент.Видимость = ЭтоНовыйДокумент;
Элементы.ОтправленныйДокумент.Видимость = НЕ ЭтоВходящийДокумент И НЕ ЭтоНовыйДокумент;
Если ЭтоНовыйДокумент ИЛИ ПустаяСтрока(Информация) Тогда
Элементы.Информация.Видимость = Ложь;
Элементы.ИнформацияИсходящий.Видимость = Ложь;
КонецЕсли;
Если ПустаяСтрока(КонтактноеЛицо) И ПустаяСтрока(ЭлектроннаяПочта) И ПустаяСтрока(Телефон) Тогда
Элементы.КонтактныеДанные.Видимость = Ложь;
Элементы.ГруппаКонтактныеДанныеИсх.Видимость = Ложь;
КонецЕсли;
Если Не ЭтоВходящийДокумент Тогда
Элементы.КомандаЗагрузить.Видимость = Ложь;
Элементы.СсылкаИсходящий.Видимость = ЗначениеЗаполнено(ДокументИБ);
Элементы.ИнформацияИсходящий.Видимость = ЗначениеЗаполнено(Информация);
Элементы.ФормаОтклонитьДокумент.Видимость = Ложь;
Элементы.КонтрагентНаименование.Видимость = Ложь;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(Контрагент) Тогда
Элементы.КонтрагентНаименование.ОтображениеПодсказки = ОтображениеПодсказки.Нет;
Иначе
Элементы.КонтрагентНаименование.ОтображениеПодсказки = ОтображениеПодсказки.ОтображатьСнизу;
КонецЕсли;
ИзменитьРежимЗагрузки(Элементы, РежимЗаполненияДокумента);
КонецПроцедуры
&НаСервере
Процедура УстановитьЗаголовокФормы()
Если ЭтоВходящийДокумент Тогда
Шаблон = НСтр("ru = '%1 (электронный документ)'");
Заголовок = СтрШаблон(Шаблон, Источник.documentTitle);
РежимЗаполненияДокумента = ЗначениеЗаполнено(ДокументИБ);
СпособЗагрузкиДокумента = ?(РежимЗаполненияДокумента, 1, 0);
Иначе
Если Источник = Неопределено Тогда
Заголовок = ДокументИБ;
Иначе
Шаблон = НСтр("ru = '%1 (электронный документ)'");
Заголовок = СтрШаблон(Шаблон, Источник.documentTitle);
КонецЕсли;
Если ВРЕГ(Статус) = "ОТПРАВЛЕН" Тогда
Шаблон = НСтр("ru = 'отправлен %1'");
Состояние = СтрШаблон(Шаблон,
БизнесСетьКлиентСервер.ДатаИзUnixTime(Источник.sentDate));
ИначеЕсли ВРЕГ(Статус) = "ДОСТАВЛЕН" Тогда
Шаблон = НСтр("ru = 'отправлен %1, доставлен %2'");
Состояние = СтрШаблон(Шаблон,
БизнесСетьКлиентСервер.ДатаИзUnixTime(Источник.sentDate),
БизнесСетьКлиентСервер.ДатаИзUnixTime(Источник.receivedDate));
ИначеЕсли ВРЕГ(Статус) = "ОТКЛОНЕН" Тогда
Шаблон = НСтр("ru = 'отправлен %1, отклонен %2'");
Состояние = СтрШаблон(Шаблон,
БизнесСетьКлиентСервер.ДатаИзUnixTime(Источник.sentDate),
БизнесСетьКлиентСервер.ДатаИзUnixTime(Источник.receivedDate));
КонецЕсли;
КонецЕсли;
Если Статус = "Отклонен" Тогда
Элементы.ФормаОтклонитьДокумент.Доступность = Ложь;
Заголовок = Заголовок + " (" + НСтр("ru = 'отклонен'") + ")";
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ИзменитьРежимЗагрузки(Элементы, Знач РежимЗаполненияДокумента)
Элементы.ТипОбъекта.Видимость = Не РежимЗаполненияДокумента;
Элементы.ДокументУчета.Видимость = РежимЗаполненияДокумента;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьПредставлениеДокумента(Команда)
Если ЗначениеЗаполнено(Идентификатор) Тогда
БизнесСетьКлиент.ПолучитьПредставлениеДокументаСервиса(Идентификатор,
Представление,
Организация,
Не ЭтоВходящийДокумент,
УникальныйИдентификатор);
ИначеЕсли ЗначениеЗаполнено(АдресХранилищаПредставления) Тогда
БизнесСетьКлиент.ОткрытьФайлПредставленияДокумента(АдресХранилищаПредставления, Представление);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПодключитьОрганизациюПродолжение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Если Результат.СтатусПодключения = "Подключена" Тогда
ЗагрузитьДокумент = Истина;
ПодключитьОрганизациюПродолжениеНаСервере(ЗагрузитьДокумент);
Если ЗагрузитьДокумент Тогда
ЗагрузитьДокументЭДО();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПодключитьОрганизациюПродолжениеНаСервере(ЗагрузитьДокумент)
ОрганизацияПодключенаБС = Истина;
ОбновитьЗагружаемыйДокумент(ЗагрузитьДокумент);
КонецПроцедуры
&НаСервере
Процедура ОбновитьЗагружаемыйДокумент(ЗагрузитьДокумент)
Отказ = Ложь;
СтруктураЭД = ПолучитьИзВременногоХранилища(АдресСтруктурыЭД);
БизнесСеть.ПолучитьПоИдентификаторуИсходящегоДокументаВходящийДокументПоQRКоду(Организация, СтруктураЭД.Идентификатор, СтруктураЭД, Отказ, ДокументИБ);
ДокументИБ = СтруктураЭД.ВладелецЭД;
ДатаДокумента = СтруктураЭД.Дата;
АдресСтруктурыЭД = ПоместитьВоВременноеХранилище(СтруктураЭД, УникальныйИдентификатор);
УстановитьЗаголовокФормы();
ИзменитьРежимЗагрузки(Элементы, РежимЗаполненияДокумента);
Если СтруктураЭД.ОтобразитьПолученныйДокумент Тогда
ЗагрузитьДокумент = Ложь;
КонецЕсли;
КонецПроцедуры
#КонецОбласти