Процедура ВыгрузитьНастройкиДляОбмена(УзелОбмена, СтруктураОтвета) Экспорт
РеквизитыУзла = МобильноеПриложениеЗаказыКлиентов.РеквизитыУзла(УзелОбмена);
ТекстНаборКонстант = "ИспользоватьЗаказыКлиентов,
|ИспользованиеСоглашенийСКлиентами, ИспользоватьДоговорыСКлиентами,
|ИспользоватьПартнеровКакКонтрагентов, ИспользоватьКомиссиюПриПродажах, ИспользоватьРучныеСкидкиВПродажах,
|ИспользоватьСкладыВТабличнойЧастиДокументовПродажи, ИспользоватьРасширенныеВозможностиЗаказаКлиента,
|ИспользованиеЗаданийТорговымПредставителям, ДетализироватьЗаданияТорговымПредставителямПоНоменклатуре,
|ЕдиницаИзмеренияВеса, ИспользоватьЗаявкиНаВозвратТоваровОтКлиентов";
//+ УП 2.2.
ТекстНаборКонстант = ТекстНаборКонстант + "ИспользоватьДополнительныеРеквизитыИСведения,
|ИспользоватьОбщиеДополнительныеЗначения, ИспользоватьОбщиеДополнительныеРеквизитыИСведения";
//- УП 2.2.
НаборКонстант = Константы.СоздатьНабор(ТекстНаборКонстант);
НаборКонстант.Прочитать();
ДоступныеФункции = ПроверкаПользователяМобильногоПриложения();
СтруктураОтвета.Вставить("AddChangeCustomer", ДоступныеФункции.ИзменениеКлиентов);
СтруктураОтвета.Вставить("AddChangeCustomerOrders",
НаборКонстант.ИспользоватьЗаказыКлиентов И ДоступныеФункции.ЗаказыКлиентов);
ИспользованиеСоглашенийСКлиентами = ?(ЗначениеЗаполнено(НаборКонстант.ИспользованиеСоглашенийСКлиентами),
Перечисления.ИспользованиеСоглашенийСКлиентами.Индекс(НаборКонстант.ИспользованиеСоглашенийСКлиентами), 0);
СтруктураОтвета.Вставить("UsingCustomerAgreement", ИспользованиеСоглашенийСКлиентами);
СтруктураОтвета.Вставить("UsePricesInOrderLine", Истина);
СтруктураОтвета.Вставить("UseCustomerContract", НаборКонстант.ИспользоватьДоговорыСКлиентами);
СтруктураОтвета.Вставить("UseGoodsBalance", Истина);
СтруктураОтвета.Вставить("PartnersHowContractors", НаборКонстант.ИспользоватьПартнеровКакКонтрагентов);
СтруктураОтвета.Вставить("UseCommission", НаборКонстант.ИспользоватьКомиссиюПриПродажах);
СтруктураОтвета.Вставить("UseManualDiscounts", НаборКонстант.ИспользоватьРучныеСкидкиВПродажах);
СтруктураОтвета.Вставить("UseStoreInOrderLine", НаборКонстант.ИспользоватьСкладыВТабличнойЧастиДокументовПродажи);
СтруктураОтвета.Вставить("UseOrderStatus", НаборКонстант.ИспользоватьРасширенныеВозможностиЗаказаКлиента);
СтруктураОтвета.Вставить("ChangePriceInOrder", ДоступныеФункции.ИзменениеЦен);
СтруктураОтвета.Вставить("FrequencyExchangeRates", 0);
СтруктураОтвета.Вставить("FrequencyExchangeBalance", 0);
СтруктураОтвета.Вставить("PrefixIB", РеквизитыУзла.ПрефиксДляДанныхМобильногоУстройства);
СтруктураОтвета.Вставить("MessageNumberIn", РеквизитыУзла.НомерПринятого);
СтруктураОтвета.Вставить("MessageNumberOut", РеквизитыУзла.НомерОтправленного);
Если ДоступныеФункции.Задания Тогда
ИспользованиеЗаданий = ?(ЗначениеЗаполнено(НаборКонстант.ИспользованиеЗаданийТорговымПредставителям),
Перечисления.ИспользованиеЗаданийТорговымПредставителям.Индекс(
НаборКонстант.ИспользованиеЗаданийТорговымПредставителям), 0);
Иначе
ИспользованиеЗаданий = 0;
КонецЕсли;
СтруктураОтвета.Вставить("UsingJobTargets", ИспользованиеЗаданий);
СтруктураОтвета.Вставить("DetailJobTargets", НаборКонстант.ДетализироватьЗаданияТорговымПредставителямПоНоменклатуре);
СтруктураОтвета.Вставить("UseCashPayment",
(ДоступныеФункции.Касса
И ?(РеквизитыУзла.ИспользоватьПКОДляРегистрацииОплаты = Неопределено, Ложь,
РеквизитыУзла.ИспользоватьПКОДляРегистрацииОплаты))
ИЛИ (ДоступныеФункции.Доверенности
И ?(РеквизитыУзла.ИспользоватьДоверенностиДляРегистрацииОплаты = Неопределено, Ложь,
РеквизитыУзла.ИспользоватьДоверенностиДляРегистрацииОплаты)));
СтруктураОтвета.Вставить("UseCashRegister", ДоступныеФункции.Касса
И ЗначениеЗаполнено(РеквизитыУзла.Касса));
СтруктураОтвета.Вставить("UseCardPayment", ДоступныеФункции.ПлатежнаяКарта
И ЗначениеЗаполнено(РеквизитыУзла.ЭквайринговыйТерминал));
СтруктураОтвета.Вставить("CardsTypes", "");
СтруктураОтвета.Вставить("UsePushNotifications", ?(РеквизитыУзла.ОтправляютсяPushУведомления = Неопределено,
Ложь, РеквизитыУзла.ОтправляютсяPushУведомления));
СтруктураОтвета.Вставить("GoogleCloudProjectNumber", РеквизитыУзла.НомерПриложенияGoogleCloud);
СтруктураОтвета.Вставить("UseImages", ?(РеквизитыУзла.ПередаватьИзображенияТоваров = Неопределено,
Ложь, РеквизитыУзла.ПередаватьИзображенияТоваров));
СтруктураОтвета.Вставить("UseWeight", ?(РеквизитыУзла.ИспользоватьВесовыеХарактеристики = Неопределено,
Ложь, РеквизитыУзла.ИспользоватьВесовыеХарактеристики));
Если ЗначениеЗаполнено(НаборКонстант.ЕдиницаИзмеренияВеса) Тогда
СтруктураОтвета.Вставить("UnitWeight", СокрЛП(НаборКонстант.ЕдиницаИзмеренияВеса.УникальныйИдентификатор()));
Иначе
СтруктураОтвета.Вставить("UnitWeight", МобильноеПриложениеЗаказыКлиентовПовтИсп.ПустойИдентификатор());
КонецЕсли;
СтруктураОтвета.Вставить("UseRequestsToReturnOfGoodsByClient",
ДоступныеФункции.ЗаявкиНаВозврат И НаборКонстант.ИспользоватьЗаявкиНаВозвратТоваровОтКлиентов);
//+ УП 2.2.
СтруктураОтвета.Вставить("UseSimplifiedClientInput", ПартнерыИКонтрагенты.УпрощенныйВводДоступен());
СтруктураОтвета.Вставить("CheckTINRussianRules", НЕ ПартнерыИКонтрагенты.УпрощенныйВводДоступен());
СтруктураОтвета.Вставить("UseAdditionalProps", НаборКонстант.ИспользоватьДополнительныеРеквизитыИСведения);
СтруктураОтвета.Вставить("UseCommonAdditionalValues", НаборКонстант.ИспользоватьОбщиеДополнительныеЗначения);
СтруктураОтвета.Вставить("UseCommonAdditionalProps", НаборКонстант.ИспользоватьОбщиеДополнительныеРеквизитыИСведения);
//- УП 2.2.
СтруктураОтвета.ResultMessage = "";
СтруктураОтвета.Success = Истина;
КонецПроцедуры
Показать