Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 238.44 KB | None | 0 0
  1.  
  2. #Область ОбработчикиСобытийФормы
  3.  
  4. &НаСервере
  5. Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
  6.  
  7. Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
  8. Возврат;
  9. КонецЕсли;
  10.  
  11. Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
  12. МодульВерсионированиеОбъектов = ОбщегоНазначения.ОбщийМодуль("ВерсионированиеОбъектов");
  13. МодульВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
  14. КонецЕсли;
  15.  
  16. Если Параметры.Ключ.Пустая() Тогда
  17. Объект.Черновик = Истина;
  18. Объект.Ответственный = Пользователи.ТекущийПользователь();
  19. //++ Юкаев Роман 20180125 (
  20. Объект.ВидКредита = Справочники.ВидыКредитов.ИпотечныйКредит;
  21. //-- Юкаев Роман 20180125 )
  22.  
  23. //<874899>, Басаргин (09.10.2018) {
  24. Если Параметры.Свойство("РекомендуемыйБанк") Тогда
  25. Объект.РекомендуемыйБанк = Параметры.РекомендуемыйБанк;
  26. Объект.ПараметрыПодключения = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.РекомендуемыйБанк, "ПараметрыПодключения");
  27.  
  28. Запрос = Новый Запрос;
  29. Запрос.Текст =
  30. "ВЫБРАТЬ РАЗРЕШЕННЫЕ
  31. | СоответствиеПроектовОтделениямБанков.ОтделениеБанка КАК ОтделениеБанка
  32. |ИЗ
  33. | РегистрСведений.СоответствиеПроектовОтделениямБанков КАК СоответствиеПроектовОтделениямБанков
  34. |ГДЕ
  35. | СоответствиеПроектовОтделениямБанков.Проект = &Проект
  36. | И СоответствиеПроектовОтделениямБанков.Банк = &Банк";
  37.  
  38. Запрос.УстановитьПараметр("Банк", Объект.РекомендуемыйБанк);
  39. Запрос.УстановитьПараметр("Проект", Объект.Проект);
  40.  
  41. РезультатЗапроса = Запрос.Выполнить();
  42. ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
  43. Если ВыборкаДетальныеЗаписи.Следующий() Тогда
  44. Объект.ОтделениеБанка = ВыборкаДетальныеЗаписи.ОтделениеБанка;
  45. КонецЕсли;
  46. КонецЕсли;
  47. Если Параметры.Свойство("ТипОбъекта") Тогда
  48. ВидОбъектаНедвижимости = Строка(Параметры.ТипОбъекта);
  49. Объект.ВидОбъектаНедвижимости = ?(СтрНайти(ВидОбъектаНедвижимости, "Первичный"), Справочники.ВидыОбъектовНедвижимости.Первичка, Справочники.ВидыОбъектовНедвижимости.Вторичка);
  50. КонецЕсли;
  51. Если Параметры.Свойство("ПрикрепленныеФайлы") Тогда
  52. Для каждого Элемент Из Параметры.ПрикрепленныеФайлы Цикл
  53. Файл = Элемент.Значение;
  54. НоваяСтрока = Объект.ПрикрепленныеФайлы.Добавить();
  55. НоваяСтрока.Файл = Файл; //СкопироватьФайл(Файл, Объект.Ссылка);
  56. СведенияОФайле = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Файл, "ДатаСоздания, Наименование, Расширение, ИндексКартинки");
  57. НоваяСтрока.id = Файл.УникальныйИдентификатор();
  58. НоваяСтрока.path = ЗаявкиНаКредитRestAPI.ПолучитьПутьКФайлу(Файл);
  59. //НоваяСтрока.create_date = СведенияОФайле.ДатаСоздания;
  60. НоваяСтрока.name = СведенияОФайле.Наименование + "." + СведенияОФайле.Расширение; //СведенияОФайле.ИмяБезРасширения + "." + СведенияОФайле.РасширениеБезТочки;
  61. НоваяСтрока.ИндексКартинки = СведенияОФайле.ИндексКартинки;
  62. НоваяСтрока.Отправлять = Истина;
  63. КонецЦикла;
  64. КонецЕсли;
  65. Если Параметры.Свойство("ПрограммаКредитования") Тогда
  66. Объект.ПрограммаКредитования = Параметры.ПрограммаКредитования;
  67. КонецЕсли;
  68. //<874899> }
  69.  
  70. //<897513>, Басаргин (12.12.2018) {
  71. //Объект.agentPhone = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьНомерТелефонаАгента();
  72. Объект.ИпотечныйАгент = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьИпотечногоАгента(Объект.Ответственный, Объект.РасчетИпотеки);
  73. //<897513> }
  74. КонецЕсли;
  75.  
  76. УправлениеВидимостьюДоступностью();
  77.  
  78. //++ Юкаев Роман 20180123 (
  79. Элементы.КонтактноеЛицо.СписокВыбора.Добавить(Объект.КонтактноеЛицо);
  80. //-- Юкаев Роман 20180123 )
  81.  
  82. ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
  83.  
  84. КонецПроцедуры
  85.  
  86. &НаКлиенте
  87. Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
  88.  
  89. //<940395>, Басаргин (27.02.2019) {
  90. Если НЕ ДомКлик И Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ОдобрениеБанка") Тогда
  91. Если НЕ ЗначениеЗаполнено(Объект.ПроцентнаяСтавка) Тогда
  92. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнена процентная ставка", Объект.Ссылка, "ПроцентнаяСтавка", "Объект", Отказ);
  93. КонецЕсли;
  94. Если НЕ ЗначениеЗаполнено(Объект.sum_approved) Тогда
  95. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнена одобренная сумма кредита", Объект.Ссылка, "sum_approved", "Объект", Отказ);
  96. КонецЕсли;
  97. КонецЕсли;
  98. //<940395> }
  99.  
  100. КонецПроцедуры
  101.  
  102. &НаСервере
  103. Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
  104.  
  105. //Проверка для создания документа взаимодействия с типом встреча, если взаимодействия нет, необходимо создать...
  106. СтрВстречи = CRMСервер.НаличиеДокументаВзаимодействияВстреча(Объект.Ссылка, Объект.КонтактноеЛицо);
  107. ПараметрыЗаписи.Вставить("ЕстьДокументВстреча", СтрВстречи.Результат);
  108. ПараметрыЗаписи.Вставить("ДокВстреча", СтрВстречи.ДокументВзаимодействие);
  109.  
  110. //Проверка для корректировки взаимодействия с будущей датой.
  111. СтрЗапланированнойВстречи = CRMСервер.НаличиеЗапланированногоДокументаВстреча(Объект.Ссылка, Объект.КонтактноеЛицо);
  112. ПараметрыЗаписи.Вставить("ЕстьЗапланированнаяВстреча", СтрЗапланированнойВстречи.Результат);
  113. ПараметрыЗаписи.Вставить("ДокЗапланированнаяВстреча", СтрЗапланированнойВстречи.ДокументВзаимодействие);
  114.  
  115. ПараметрыЗаписи.Вставить("ЕстьДокументТелЗвонок", Ложь);
  116. ПараметрыЗаписи.Вставить("ДокТелЗвонок", Неопределено);
  117.  
  118. СтрЗапланированногоЗвонка = CRMСервер.НаличиеЗапланированногоДокументаТелефонногоЗвонка(Объект.Ссылка, Объект.КонтактноеЛицо);
  119. ПараметрыЗаписи.Вставить("ЕстьЗапланированныйЗвонок", СтрЗапланированногоЗвонка.Результат);
  120. ПараметрыЗаписи.Вставить("ДокЗапланированныйЗвонок", СтрЗапланированногоЗвонка.ДокументВзаимодействие);
  121.  
  122. КонецПроцедуры
  123.  
  124. #КонецОбласти
  125.  
  126. #Область ОбработчикиСобытийЭлементовШапкиФормы
  127.  
  128. &НаКлиенте
  129. Процедура ОтделениеБанкаПриИзменении(Элемент)
  130.  
  131. Если НЕ ТолькоОтправкаПисем Тогда
  132. ОтделениеБанкаПриИзмененииНаСервере();
  133. Если ПроверкаОтделения() Тогда
  134. ПоказатьПредупреждение(, "У выбранного отделения банка не заполнен ID из системы банка. Для корректной работы заполните ID отделения и перевыберите его в документе", 0);
  135. КонецЕсли;
  136. КонецЕсли;
  137.  
  138. КонецПроцедуры
  139.  
  140. &НаСервере
  141. Функция ПроверкаОтделения()
  142.  
  143. Возврат НЕ ЗначениеЗаполнено(Объект.ЦИК) И ВРег(Объект.РекомендуемыйБанк.Наименование) = "СБЕРБАНК";
  144.  
  145. КонецФункции
  146.  
  147. &НаКлиенте
  148. Процедура РекомендуемыйБанкПриИзменении(Элемент)
  149. РекомендуемыйБанкПриИзмененииНаСервере();
  150. КонецПроцедуры
  151.  
  152. &НаКлиенте
  153. Процедура РекомендуемыйБанкНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
  154.  
  155. //НовыйПараметр = Новый ПараметрВыбора("Отбор.Ссылка", ДоступныеБанки);
  156. //НовыйМассив = Новый Массив();
  157. //НовыйМассив.Добавить(НовыйПараметр);
  158. //НовыеПараметры = Новый ФиксированныйМассив(НовыйМассив);
  159. //Элементы.РекомендуемыйБанк.ПараметрыВыбора = НовыеПараметры;
  160.  
  161. КонецПроцедуры
  162.  
  163. &НаКлиенте
  164. Процедура СостояниеЗаявкиПриИзменении(Элемент)
  165. УправлениеВидимостьюДоступностью();
  166. КонецПроцедуры
  167.  
  168. &НаКлиенте
  169. Процедура СтатусЗаявкиПриИзменении(Элемент)
  170.  
  171. СтатусЗаявкиПриИзмененииНаСервере();
  172.  
  173. //Если //Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.ВозвратНаДоработку") ИЛИ
  174. // Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.ПустаяСсылка") Тогда
  175. // Объект.УспешнаяОтправка = Ложь;
  176. //Иначе
  177. // Объект.УспешнаяОтправка = Истина;
  178. //КонецЕсли;
  179. //
  180. //Если Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.КредитОдобрен")
  181. // //ИЛИ Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.КредитВыдан")
  182. // Тогда
  183. // //Объект.ПредварительноеРешение = ПредопределенноеЗначение("Справочник.ПредварительныеРешенияБанков.Одобрение");
  184. // Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ОдобрениеБанка");
  185. // Объект.ДатаРешенияБанка = ТекущаяДата();
  186. //ИначеЕсли Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.Отказ")
  187. // ИЛИ Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.НеКредитуем") Тогда
  188. // //Объект.ПредварительноеРешение = ПредопределенноеЗначение("Справочник.ПредварительныеРешенияБанков.Отказ");
  189. // Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ОтказБанка");
  190. // Объект.ДатаРешенияБанка = ТекущаяДата();
  191. //ИначеЕсли Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.ОтказКлиента") Тогда
  192. // //Объект.ПредварительноеРешение = ПредопределенноеЗначение("Справочник.ПредварительныеРешенияБанков.Отказ");
  193. // Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ОтказКлиентаОтРассмотрения");
  194. // Объект.ДатаРешенияБанка = ТекущаяДата();
  195. ////<934452>, Басаргин (08.02.2019) {
  196. //ИначеЕсли Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.ВозвратНаДоработку")
  197. // ИЛИ ЗначениеРеквизитаОбъектаНаСервере(Объект.СтатусЗаявки, "ID") = 8220 Тогда
  198. // Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ПустаяСсылка");
  199. // Объект.ДатаРешенияБанка = Неопределено;
  200. ////Иначе
  201. //// //Объект.ПредварительноеРешение = ПредопределенноеЗначение("Справочник.ПредварительныеРешенияБанков.ПустаяСсылка");
  202. //// Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ПустаяСсылка");
  203. //// Объект.ДатаРешенияБанка = Неопределено;
  204. ////<934452> }
  205. //КонецЕсли;
  206. //
  207. //УправлениеВидимостьюДоступностью();
  208.  
  209. // { МанухинД http://it.absgroup.ru/browse/AN-549
  210. //Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаМенеджеру", ЭтаФорма);
  211. //ПоказатьВопрос(Оповещение, "Отправить оповещение менеджеру?", РежимДиалогаВопрос.ДаНет, 0);
  212. // } МанухинД http://it.absgroup.ru/browse/AN-549
  213.  
  214. КонецПроцедуры
  215.  
  216. &НаКлиенте
  217. Процедура РешениеБанкаПриИзменении(Элемент)
  218.  
  219. Если ТолькоОтправкаПисем Тогда
  220. РешениеБанкаПриИзмененииНаСервере();
  221. КонецЕсли;
  222.  
  223. КонецПроцедуры
  224.  
  225. &НаКлиенте
  226. Процедура ОтветственныйПриИзменении(Элемент)
  227.  
  228. //<897513>, Басаргин (04.12.2018) {
  229. //Объект.agentPhone = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьНомерТелефонаАгента(Объект.Ответственный);
  230. Объект.ИпотечныйАгент = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьИпотечногоАгента(Объект.Ответственный, Объект.РасчетИпотеки);
  231. //<897513> }
  232.  
  233. КонецПроцедуры
  234.  
  235. //<897513>, Басаргин (17.12.2018) {
  236. &НаКлиенте
  237. Процедура ПослеВыбораАнкеты(ВыбранныйЭлемент, ДополнительныеПараметры) Экспорт
  238.  
  239. Если ВыбранныйЭлемент = Неопределено Тогда
  240. Возврат;
  241. КонецЕсли;
  242.  
  243. РаботаСФайламиКлиент.ДобавитьФайлы(Объект.Ссылка, ЭтаФорма.УникальныйИдентификатор);
  244. НайденныеСтроки = Объект.Анкеты.НайтиСтроки(Новый Структура("Анкета", ВыбранныйЭлемент.Значение));
  245. Если НайденныеСтроки.Количество() Тогда
  246. ApplicationID = НайденныеСтроки[0].ApplicationID;
  247. КонецЕсли;
  248.  
  249. ОбновитьТаблицуФайлов(ВыбранныйЭлемент.Значение, ApplicationID, 20750);
  250.  
  251. КонецПроцедуры
  252.  
  253. &НаКлиенте
  254. Процедура АнкетыАнкетаПриИзменении(Элемент)
  255.  
  256. ТекущиеДанные = Элементы.Анкеты.ТекущиеДанные;
  257. Если ТекущиеДанные = Неопределено Тогда
  258. Возврат;
  259. КонецЕсли;
  260.  
  261. ТипАнкеты = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьТипАнкеты(ТекущиеДанные.Анкета); //ПолучитьТипАнкетыНаСервере(ТекущиеДанные.Анкета);
  262.  
  263. СтрокаАнкет = Объект.Анкеты.НайтиПоИдентификатору(ТекущиеДанные.ПолучитьИдентификатор());
  264. Если НЕ СтрокаАнкет = Неопределено Тогда
  265. СтрокаАнкет.ТипАнкеты = ТипАнкеты;
  266. КонецЕсли;
  267.  
  268. КонецПроцедуры
  269. //<897513> }
  270.  
  271. &НаКлиенте
  272. Процедура КонтактноеЛицоПриИзменении(Элемент)
  273.  
  274. Если ЗначениеЗаполнено(Объект.КонтактноеЛицо) Тогда
  275. СтруктураПараметров = ПолучитьКонтактныеДанныеКлиента(Объект.КонтактноеЛицо);
  276.  
  277. Объект.ДатаРожденияКлиента = СтруктураПараметров.ДатаРожденияКлиента;
  278. Объект.ФИОКлиента = СтруктураПараметров.ФИОКлиента;
  279. Объект.СерияНомерПаспорта = СтруктураПараметров.СерияНомерПаспорта;
  280. Объект.АдресФактическогоПроживания = СтруктураПараметров.АдресФактическогоПроживания;
  281. Объект.НомерТелефонаКлиента = СтруктураПараметров.НомерТелефона;
  282. Объект.EmailКлиента = СтруктураПараметров.EmailКлиента;
  283. Иначе
  284. ОчиститьКонтактныеДанные();
  285. КонецЕсли;
  286.  
  287. КонецПроцедуры
  288.  
  289. &НаКлиенте
  290. Процедура КонтактноеЛицоОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
  291.  
  292. СтандартнаяОбработка = Ложь;
  293. Если ЗначениеЗаполнено(ВыбранноеЗначение) Тогда
  294. Объект.КонтактноеЛицо = ВыбранноеЗначение;
  295. Элементы.КонтактноеЛицо.СписокВыбора.Очистить();
  296. Элементы.КонтактноеЛицо.СписокВыбора.Добавить(Объект.КонтактноеЛицо);
  297. КонецЕсли;
  298. КонтактноеЛицоПриИзменении(Элемент);
  299.  
  300. КонецПроцедуры
  301.  
  302. &НаКлиенте
  303. Процедура КонтактноеЛицоОчистка(Элемент, СтандартнаяОбработка)
  304. КонтактноеЛицоПриИзменении(Элемент);
  305. КонецПроцедуры
  306.  
  307. #КонецОбласти
  308.  
  309. #Область ОбработчикиСобытийЭлементовТаблицФормы
  310.  
  311. &НаКлиенте
  312. Процедура КомментарииЗаявкиКомментарийОткрытие(Элемент, СтандартнаяОбработка)
  313.  
  314. СтандартнаяОбработка = Ложь;
  315.  
  316. Комментарий = "";
  317. ТекущиеДанные = Элементы.КомментарииЗаявки.ТекущиеДанные;
  318. Если НЕ ТекущиеДанные = Неопределено Тогда
  319. Подсказка = "Введите текст комментария";
  320. Комментарий = ТекущиеДанные.Комментарий;
  321. Если НЕ ВвестиСтроку(Комментарий, Подсказка, 0, Истина) Тогда
  322. Возврат;
  323. КонецЕсли;
  324. ТекущиеДанные.Комментарий = Комментарий;
  325. ТекущиеДанные.ДатаДобавления = ТекущаяДата();
  326. ТекущиеДанные.Отправлять = Истина;
  327. КонецЕсли;
  328.  
  329. КонецПроцедуры
  330.  
  331. &НаКлиенте
  332. Процедура КомментарииЗаявкиКомментарийПриИзменении(Элемент)
  333.  
  334. ТекущиеДанные = Элементы.КомментарииЗаявки.ТекущиеДанные;
  335. Если НЕ ТекущиеДанные = Неопределено Тогда
  336. Комментарий = ТекущиеДанные.Комментарий;
  337. ТекущиеДанные.ДатаДобавления = ТекущаяДата();
  338. ТекущиеДанные.Отправлять = Истина;
  339. КонецЕсли;
  340.  
  341. КонецПроцедуры
  342.  
  343. &НаКлиенте
  344. Процедура ПрикрепленныеФайлыПередУдалением(Элемент, Отказ)
  345. Отказ = Истина;
  346. КонецПроцедуры
  347.  
  348. &НаКлиенте
  349. Процедура ПрикрепленныеФайлыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
  350. Отказ = Истина;
  351. КонецПроцедуры
  352.  
  353. &НаКлиенте
  354. Процедура КомментарииЗаявкиПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
  355. Отказ = Истина;
  356. КонецПроцедуры
  357.  
  358. &НаКлиенте
  359. Процедура АнкетыПередУдалением(Элемент, Отказ)
  360.  
  361. ТекущиеДанные = Элементы.Анкеты.ТекущиеДанные;
  362. Если ТекущиеДанные = Неопределено Тогда
  363. Возврат;
  364. КонецЕсли;
  365.  
  366. Если ЗначениеЗаполнено(ТекущиеДанные.ApplicationID) Тогда
  367. Отказ = Истина;
  368. КонецЕсли;
  369.  
  370. КонецПроцедуры
  371.  
  372. &НаКлиенте
  373. Процедура АнкетыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
  374.  
  375. //ПроверитьКлиентовНаСервере(Отказ);
  376. //
  377. //Если Отказ Тогда
  378. // ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Анкеты заводятся по разным клиентам.");
  379. //КонецЕсли;
  380.  
  381. КонецПроцедуры
  382.  
  383. &НаКлиенте
  384. Процедура АнкетыПриИзменении(Элемент)
  385. // Вставить содержимое обработчика.
  386. КонецПроцедуры
  387.  
  388. #КонецОбласти
  389.  
  390. #Область ОбработчикиКомандФормы
  391.  
  392. &НаКлиенте
  393. Процедура ОтправитьЗаявкуOnLine(Команда)
  394.  
  395. Если Модифицированность Тогда
  396. Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаОЗаписи", ЭтаФорма, Новый Структура("CallBack", Новый ОписаниеОповещения("ВыполнитьОтправку_Асинхр", ЭтаФорма)));
  397. ПоказатьВопрос(Оповещение, "Для продолжения необходимо записать заявку. Продолжить?", РежимДиалогаВопрос.ДаНет, 0);
  398. Иначе
  399. Если ТолькоОтправкаПисем Тогда
  400. ОтправитьПоПочте();
  401. Иначе
  402. ОтправитьИпотечнуюЗаявку();
  403. КонецЕсли;
  404. КонецЕсли;
  405.  
  406. КонецПроцедуры
  407.  
  408. &НаКлиенте
  409. Процедура ОбновитьФайлы(Команда)
  410. ОбновитьТаблицуФайлов();
  411. КонецПроцедуры
  412.  
  413. &НаКлиенте
  414. Процедура кнДобавитьФайл(Команда)
  415.  
  416. Если Объект.Ссылка.Пустая() Тогда
  417. Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаОЗаписи", ЭтаФорма, Новый Структура("CallBack", Новый ОписаниеОповещения("ДобавитьФайлы_Асинхр", ЭтаФорма)));
  418. ПоказатьВопрос(Оповещение, "Для продолжения необходимо записать заявку. Продолжить?", РежимДиалогаВопрос.ДаНет, 0);
  419. Иначе
  420. ДобавитьФайлы_Асинхр(Истина, Неопределено);
  421. КонецЕсли;
  422.  
  423. КонецПроцедуры
  424.  
  425. &НаКлиенте
  426. Процедура кнОткрытьКарточкуФайла(Команда)
  427.  
  428. ТекДанные = Элементы.ПрикрепленныеФайлы.ТекущиеДанные;
  429. Если НЕ ТекДанные = Неопределено Тогда
  430. ОткрытьЗначение(Элементы.ПрикрепленныеФайлы.ТекущиеДанные.Файл);
  431. КонецЕсли;
  432.  
  433. КонецПроцедуры
  434.  
  435. &НаКлиенте
  436. Процедура кнУдалитьФайл(Команда)
  437.  
  438. ТекДанные = Элементы.ПрикрепленныеФайлы.ТекущиеДанные;
  439. Если НЕ ТекДанные = Неопределено Тогда
  440. Если ЗначениеЗаполнено(ТекДанные.ID) Тогда
  441. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Нельзя удалять отправленный файл.");
  442. Возврат;
  443. КонецЕсли;
  444. Попытка
  445. УдалитьФайлНаСервере(ТекДанные.Файл);
  446. Объект.ПрикрепленныеФайлы.Удалить(ТекДанные);
  447. ЭтаФорма.Модифицированность = Истина;
  448. Исключение
  449. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось удалить файл: " + ОписаниеОшибки());
  450. КонецПопытки;
  451. КонецЕсли;
  452.  
  453. КонецПроцедуры
  454.  
  455. &НаКлиенте
  456. Процедура кнПросмотрФайла(Команда)
  457.  
  458. ТекДанные = Элементы.ПрикрепленныеФайлы.ТекущиеДанные;
  459. Если НЕ ТекДанные = Неопределено Тогда
  460. ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайла(Элементы.ПрикрепленныеФайлы.ТекущиеДанные.Файл, ЭтаФорма.УникальныйИдентификатор);
  461. РаботаСФайламиКлиент.ОткрытьФайл(ДанныеФайла);
  462. КонецЕсли;
  463.  
  464. КонецПроцедуры
  465.  
  466. &НаКлиенте
  467. Процедура Авторизация(Команда)
  468.  
  469. Ошибки = "";
  470. Авторизация = ЗаявкиНаКредитRestAPI.ВыполнитьАвторизацию(Объект.ПараметрыПодключения, TGT, ST, Token, X_Auth_User, Объект.ТестоваяЗаявка, Ошибки);
  471. Если Ошибки = "" Тогда
  472. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("X_Auth_Token = " + Token);
  473. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("X_Auth_User = " + X_Auth_User);
  474. Иначе
  475. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при авторизации: " + Ошибки);
  476. КонецЕсли;
  477.  
  478. КонецПроцедуры
  479.  
  480. &НаКлиенте
  481. Процедура Разлогиниться(Команда)
  482.  
  483. Ошибки = "";
  484. Авторизация = ЗаявкиНаКредитRestAPI.Разлогиниться(Объект.ПараметрыПодключения, Объект.ТестоваяЗаявка, Ошибки);
  485. Если НЕ Ошибки = "" Тогда
  486. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при авторизации: " + Ошибки);
  487. КонецЕсли;
  488.  
  489. КонецПроцедуры
  490.  
  491. &НаКлиенте
  492. Процедура СоздатьЧерновик(Команда)
  493.  
  494. Ошибки = "";
  495. ID_Заявки = ЗаявкиНаКредитRestAPI.ОтправитьЗаявку(Объект.ПараметрыПодключения, Объект.Ссылка, ПочтовыйАдресОтправителя, Token, X_Auth_User, Объект.ТестоваяЗаявка, Ошибки);
  496. Если Ошибки = "" Тогда
  497. Объект.ID_Заявки = ID_Заявки;
  498. Объект.ДатаПодачиЗаявки = ТекущаяДата();
  499. Модифицированность = Истина;
  500. Иначе
  501. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при отправке заявки: " + Ошибки);
  502. КонецЕсли;
  503.  
  504. КонецПроцедуры
  505.  
  506. &НаКлиенте
  507. Процедура ДобавитьДокуметнты(Команда)
  508.  
  509. Если ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  510. Для каждого СтрокаФайл Из Объект.ПрикрепленныеФайлы Цикл
  511. Если НЕ СтрокаФайл.Отправлять Тогда
  512. Продолжить;
  513. КонецЕсли;
  514. Ошибки = "";
  515. Данные = ЗаявкиНаКредитRestAPI.ДобавитьФайлКЗаявке(Объект.ПараметрыПодключения, Объект.ID_Заявки, СтрокаФайл.Файл, Token, X_Auth_User, Объект.ТестоваяЗаявка, Ошибки);
  516. Если Ошибки = "" Тогда
  517. Если ТипЗнч(Данные) = Тип("Структура") Тогда
  518. ЗаполнитьЗначенияСвойств(СтрокаФайл, Данные);
  519. Если НЕ ЗначениеЗаполнено(СтрокаФайл.create_date) Тогда
  520. СтрокаФайл.create_date = ТекущаяДата();
  521. КонецЕсли;
  522. СтрокаФайл.Отправлять = Ложь;
  523. Модифицированность = Истина;
  524. КонецЕсли;
  525. Иначе
  526. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при отправке вложения: " + Ошибки);
  527. КонецЕсли;
  528. КонецЦикла;
  529. Иначе
  530. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заявка не отправлена");
  531. КонецЕсли;
  532.  
  533. КонецПроцедуры
  534.  
  535. &НаКлиенте
  536. Процедура ДобавитьКомментарии(Команда)
  537.  
  538. Если ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  539. Для каждого СтрокаКомментарий Из Объект.КомментарииЗаявки Цикл
  540. Если НЕ СтрокаКомментарий.Отправлять Тогда
  541. Продолжить;
  542. КонецЕсли;
  543. Ошибки = "";
  544. ID_Комментария = ЗаявкиНаКредитRestAPI.ДобавитьКомментарийКЗаявке(Объект.ПараметрыПодключения, Объект.ID_Заявки, СтрокаКомментарий.Комментарий, ПочтовыйАдресОтправителя, Token, X_Auth_User, Объект.ТестоваяЗаявка, Ошибки);
  545. Если Ошибки = "" Тогда
  546. СтрокаКомментарий.ID = ID_Комментария;
  547. СтрокаКомментарий.ДатаОтправки = ТекущаяДата();
  548. СтрокаКомментарий.Отправлять = Ложь;
  549. Модифицированность = Истина;
  550. Иначе
  551. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка отправке комментария: " + Ошибки);
  552. КонецЕсли;
  553. КонецЦикла;
  554. Иначе
  555. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заявка не отправлена");
  556. КонецЕсли;
  557.  
  558. КонецПроцедуры
  559.  
  560. &НаКлиенте
  561. Процедура ИзменитьСтатус(Команда)
  562.  
  563. Ошибки = "";
  564. ИдентификаторЗаявкиНаКредит = ЗаявкиНаКредитRestAPI.ИзменитьСтатусЗаявки(Объект.ПараметрыПодключения, Объект.СтатусЗаявки, Объект.ID_Заявки, Объект.КомментарийСтатуса, Token, X_Auth_User, Объект.ТестоваяЗаявка, Ошибки);
  565. Если Ошибки = "" Тогда
  566. Если Объект.ID_Заявки = ИдентификаторЗаявкиНаКредит И ЗначениеЗаполнено(ИдентификаторЗаявкиНаКредит) Тогда
  567. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Статус обновлен на " + Объект.СтатусЗаявки);
  568. Модифицированность = Истина;
  569. КонецЕсли;
  570. Иначе
  571. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка обновления статуса заявки: " + Ошибки);
  572. КонецЕсли;
  573.  
  574. КонецПроцедуры
  575.  
  576. &НаКлиенте
  577. Процедура ИзменитьЗаявку(Команда)
  578.  
  579. Если Модифицированность Тогда
  580. Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаОЗаписи", ЭтаФорма, Новый Структура("CallBack", Новый ОписаниеОповещения("ИзменитьЗаявку_Асинхр", ЭтаФорма)));
  581. ПоказатьВопрос(Оповещение, "Для продолжения необходимо записать заявку. Продолжить?", РежимДиалогаВопрос.ДаНет, 0);
  582. Иначе
  583. ИзменитьЗаявку_Асинхр(Истина, Неопределено);
  584. КонецЕсли;
  585.  
  586. КонецПроцедуры
  587.  
  588. &НаКлиенте
  589. Процедура ПолучитьДанныеОЗаявке(Команда)
  590.  
  591. Оповещение = Новый ОписаниеОповещения("ВопросВыводитьХодОбновления", ЭтаФорма, Новый Структура("CallBack", Новый ОписаниеОповещения("ПолучитьДанныеЗаявки_Асинхр", ЭтаФорма)));
  592. ПоказатьВопрос(Оповещение, "Выводить сообщения о результатах обновления?", РежимДиалогаВопрос.ДаНет, 0);
  593.  
  594. КонецПроцедуры
  595.  
  596. &НаКлиенте
  597. Процедура ДоступныеАгенты(Команда)
  598.  
  599. Ошибки = "";
  600. ДанныеОбАгентах = ЗаявкиНаКредитRestAPI.ПолучитьДоступныхАгентов(Объект.ПараметрыПодключения, Token, X_Auth_User, Объект.ТестоваяЗаявка, Ошибки);
  601. Если Ошибки = "" Тогда
  602. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Данные об агентах: ");
  603. Для каждого Данные Из ДанныеОбАгентах Цикл
  604. Для каждого Элемент Из Данные Цикл
  605. Если ТипЗнч(Элемент.Значение) = Тип("Строка")
  606. ИЛИ ТипЗнч(Элемент.Значение) = Тип("Число")
  607. ИЛИ ТипЗнч(Элемент.Значение) = Тип("Булево")
  608. ИЛИ Элемент.Значение = Неопределено Тогда
  609. ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Элемент.Ключ + " : " + ?(ТипЗнч(Элемент.Значение) = Тип("Число"), СтрЗаменить(Элемент.Значение, Символы.НПП, ""), Элемент.Значение));
  610. КонецЕсли;
  611. КонецЦикла;
  612. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("");
  613. КонецЦикла;
  614. Иначе
  615. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при получении данных об агентах: " + Ошибки);
  616. КонецЕсли;
  617.  
  618. КонецПроцедуры
  619.  
  620. &НаКлиенте
  621. Процедура СкачатьФайл(Команда)
  622.  
  623. Ошибки = "";
  624. ТекущиеДанные = Элементы.ПрикрепленныеФайлы.ТекущиеДанные;
  625. Если ТекущиеДанные = Неопределено ИЛИ ТекущиеДанные.Path = "" Тогда
  626. Возврат;
  627. КонецЕсли;
  628.  
  629. ПутьКФайлу = ТекущиеДанные.Path;
  630.  
  631. ДанныеФайла = ЗаявкиНаКредитRestAPI.ПолучитьДанныеФайла(Объект.ПараметрыПодключения, ПутьКФайлу, Token, X_Auth_User, Объект.ТестоваяЗаявка, Ошибки, ЭтаФорма.УникальныйИдентификатор);
  632. Если Ошибки = "" Тогда
  633. Если ЭтоАдресВременногоХранилища(ДанныеФайла.Адрес) Тогда
  634. #Если ВебКлиент Тогда
  635. ОписаниеПередаваемогоФайла = Новый ОписаниеПередаваемогоФайла(ДанныеФайла.ИмяФайла, ДанныеФайла.Адрес); //ПолучитьИмяВременногоФайла(ДанныеФайла.Расширение)
  636. ПолучаемыеФайлы = Новый Массив;
  637. ПолучаемыеФайлы.Добавить(ОписаниеПередаваемогоФайла);
  638.  
  639. ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
  640. ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
  641. ДиалогОткрытияФайла.Расширение = ДанныеФайла.Расширение;
  642. ДиалогОткрытияФайла.ПолноеИмяФайла = ДанныеФайла.ИмяФайла;
  643. ДиалогОткрытияФайла.ПредварительныйПросмотр = Истина;
  644.  
  645. ОписаниеОповещения = Новый ОписаниеОповещения("ОбработкаСохраненияФайлов", ЭтаФорма);
  646. НачатьПолучениеФайлов(ОписаниеОповещения, ПолучаемыеФайлы, ДиалогОткрытияФайла, Истина);
  647. #Иначе
  648. ПолучитьФайл(ДанныеФайла.Адрес, ДанныеФайла.ИмяФайла, Истина);
  649. #КонецЕсли
  650. КонецЕсли;
  651. Иначе
  652. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при получении файла: " + Ошибки);
  653. КонецЕсли;
  654.  
  655. КонецПроцедуры
  656.  
  657. &НаКлиенте
  658. Процедура ПолучитьОтделенияБанков(Команда)
  659.  
  660. Данные = ЗаявкиНаКредитRestAPI.ПолучитьОтделенияБанков();
  661. Для каждого Элемент Из Данные Цикл
  662. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("ID = " + Элемент.ID + ";" + "full_address = " + Элемент.full_address + ";" + "name = " + Элемент.name);
  663. КонецЦикла;
  664.  
  665. КонецПроцедуры
  666.  
  667. &НаКлиенте
  668. Процедура Отказ(Команда)
  669.  
  670. Ошибки = "";
  671. ИдентификаторЗаявкиНаКредит = ЗаявкиНаКредитRestAPI.ИзменитьСтатусЗаявки(Объект.ПараметрыПодключения, ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.ОтказКлиента"), Объект.ID_Заявки, Объект.КомментарийСтатуса, Token, X_Auth_User, Объект.ТестоваяЗаявка, Ошибки);
  672. Если Ошибки = "" Тогда
  673. Если Объект.ID_Заявки = ИдентификаторЗаявкиНаКредит И ЗначениеЗаполнено(ИдентификаторЗаявкиНаКредит) Тогда
  674. Модифицированность = Истина;
  675. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Отказ");
  676. Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.ОтказКлиента");
  677. Записать();
  678. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Статус обновлен на " + Объект.СтатусЗаявки);
  679. УправлениеВидимостьюДоступностью();
  680. КонецЕсли;
  681. Иначе
  682. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка обновления статуса заявки: " + Ошибки);
  683. КонецЕсли;
  684.  
  685. КонецПроцедуры
  686.  
  687. &НаКлиенте
  688. Процедура ПроверитьНастройкуПользователя(Команда)
  689.  
  690. Попытка
  691. ЗаявкиНаКредитRestAPI.ПолучитьПараметрыПодключения(Объект.ПараметрыПодключения, Объект.Ответственный, Истина);
  692. Исключение
  693. КонецПопытки;
  694.  
  695. КонецПроцедуры
  696.  
  697. &НаКлиенте
  698. Процедура кнДобавитьСтрокиКомментария(Команда)
  699.  
  700. ТекущиеДанные = Объект.КомментарииЗаявки.Добавить();
  701. Если НЕ ТекущиеДанные = Неопределено Тогда
  702. Комментарий = "Добрый день! Направляю заявку на согласование.";
  703. ТекущиеДанные.Комментарий = Комментарий;
  704. ТекущиеДанные.ДатаДобавления = ТекущаяДата();
  705. ТекущиеДанные.Отправлять = Истина;
  706. КонецЕсли;
  707.  
  708. КонецПроцедуры
  709.  
  710. //<897513>, Басаргин (04.12.2018) {
  711. #Область ДомКлик
  712.  
  713. &НаКлиенте
  714. Процедура СозданиеСделки(Команда)
  715.  
  716. Если Модифицированность Тогда
  717. Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаОЗаписи", ЭтаФорма, Новый Структура("CallBack", Новый ОписаниеОповещения("ВыполнитьОтправку_Асинхр", ЭтаФорма)));
  718. ПоказатьВопрос(Оповещение, "Для продолжения необходимо записать заявку. Продолжить?", РежимДиалогаВопрос.ДаНет, 0);
  719. Иначе
  720. Отказ = Ложь;
  721. ПроверитьПередОтправкой(Отказ);
  722. Если НЕ Отказ Тогда
  723. СозданиеСделкиНаСервере();
  724. КонецЕсли;
  725. КонецЕсли;
  726.  
  727. КонецПроцедуры
  728.  
  729. &НаКлиенте
  730. Процедура ОбновлениеСделки(Команда)
  731.  
  732. Если Модифицированность Тогда
  733. Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаОЗаписи", ЭтаФорма, Новый Структура("CallBack", Новый ОписаниеОповещения("ОбновлениеСделки_Асинхр", ЭтаФорма)));
  734. ПоказатьВопрос(Оповещение, "Для продолжения необходимо записать заявку. Продолжить?", РежимДиалогаВопрос.ДаНет, 0);
  735. Иначе
  736. Отказ = Ложь;
  737. ПроверитьПередОтправкой(Отказ);
  738. Если НЕ Отказ Тогда
  739. ОбновлениеСделкиНаСервере();
  740. КонецЕсли;
  741. КонецЕсли;
  742.  
  743. КонецПроцедуры
  744.  
  745. &НаКлиенте
  746. Процедура ОтправитьСделку(Команда)
  747.  
  748. Если НЕ ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  749. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Черновик не создан.");
  750. Возврат;
  751. КонецЕсли;
  752.  
  753. Если Модифицированность Тогда
  754. Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаОЗаписи", ЭтаФорма, Новый Структура("CallBack", Новый ОписаниеОповещения("ОтправитьСделку_Асинхр", ЭтаФорма)));
  755. ПоказатьВопрос(Оповещение, "Для продолжения необходимо записать заявку. Продолжить?", РежимДиалогаВопрос.ДаНет, 0);
  756. Иначе
  757. Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаОСинхронизации", ЭтаФорма);
  758. ПоказатьВопрос(Оповещение, "Перед отправкой необходима синхронизация. Обновить данные заявки?", РежимДиалогаВопрос.ДаНетОтмена, 0);
  759. КонецЕсли;
  760.  
  761. КонецПроцедуры
  762.  
  763. &НаКлиенте
  764. Процедура ИзменитьСтатусСделки(Команда)
  765. ИзменитьСтатусСделкиНаСервере();
  766. КонецПроцедуры
  767.  
  768. &НаКлиенте
  769. Процедура ПолучитьДанныеСделки(Команда)
  770.  
  771. Оповещение = Новый ОписаниеОповещения("ВопросВыводитьХодОбновления", ЭтаФорма, Новый Структура("CallBack", Новый ОписаниеОповещения("ПолучитьДанныеСделки_Асинхр", ЭтаФорма)));
  772. ПоказатьВопрос(Оповещение, "Выводить результаты обновления?", РежимДиалогаВопрос.ДаНет, 0);
  773.  
  774. КонецПроцедуры
  775.  
  776. &НаКлиенте
  777. Процедура СозданиеАнкеты(Команда)
  778.  
  779. Если НЕ ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  780. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заявка не отправлена.");
  781. Возврат;
  782. КонецЕсли;
  783. СозданиеАнкетНаСервере();
  784.  
  785. КонецПроцедуры
  786.  
  787. &НаКлиенте
  788. Процедура ОбновлениеАнкеты(Команда)
  789.  
  790. ТекущиеДанные = Элементы.Анкеты.ТекущиеДанные;
  791. Если ТекущиеДанные = Неопределено Тогда
  792. Возврат;
  793. КонецЕсли;
  794.  
  795. Ошибки = "";
  796. СтруктураВозврата = УправлениеИпотечнымиЗаявкамиДомКлик.ОбновлениеАнкеты(Объект.ПараметрыПодключения, Объект.ID_Заявки, ТекущиеДанные.ApplicationID, ТекущиеДанные.Анкета, ТекущиеДанные.ТипАнкеты, Ошибки, Объект.ТестоваяЗаявка);
  797. Если Ошибки = "" Тогда
  798. СтрокаАнкеты = Объект.Анкеты.НайтиПоИдентификатору(ТекущиеДанные.ПолучитьИдентификатор());
  799. Если НЕ СтрокаАнкеты = Неопределено Тогда
  800. ЗаполнитьЗначенияСвойств(СтрокаАнкеты, СтруктураВозврата);
  801. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Анкета обновлена.");
  802. КонецЕсли;
  803. Иначе
  804. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при обновлении анкеты: " + Ошибки);
  805. КонецЕсли;
  806.  
  807. КонецПроцедуры
  808.  
  809. &НаКлиенте
  810. Процедура УдалениеАнкетыСозаемщика(Команда)
  811.  
  812. ТекущиеДанные = Элементы.Анкеты.ТекущиеДанные;
  813. Если ТекущиеДанные = Неопределено Тогда
  814. Возврат;
  815. КонецЕсли;
  816.  
  817. Если ТекущиеДанные.ТипАнкеты = ПредопределенноеЗначение("Справочник.ТипыАнкетДомКлик.Заемщик") Тогда
  818. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Невозможно удалить анкету заемщика. Выберите анкету созаемщика.");
  819. Возврат;
  820. КонецЕсли;
  821.  
  822. Ошибки = "";
  823. РезультатУдаления = УправлениеИпотечнымиЗаявкамиДомКлик.УдалениеАнкетыСозаемщика(Объект.ПараметрыПодключения, Объект.ID_Заявки, ТекущиеДанные.ApplicationID, Ошибки, Объект.ТестоваяЗаявка);
  824. Если Ошибки = "" Тогда
  825. Если РезультатУдаления = 200 Тогда
  826. Объект.Анкеты.Удалить(ТекущиеДанные);
  827. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Анкета созаемщика успешно удалена.");
  828. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись));
  829. КонецЕсли;
  830. Иначе
  831. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при удалении анкеты созаемщика: " + Ошибки);
  832. КонецЕсли;
  833.  
  834. КонецПроцедуры
  835.  
  836. &НаКлиенте
  837. Процедура ОтправитьПереотправитьСМСКлиенту(Команда)
  838.  
  839. ТекущиеДанные = Элементы.Анкеты.ТекущиеДанные;
  840. Если ТекущиеДанные = Неопределено Тогда
  841. Возврат;
  842. КонецЕсли;
  843.  
  844. Если ТекущиеДанные.Статус = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхАнкетДомКлик.Одобрено") Тогда
  845. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Анкета уже одобрена.");
  846. Возврат;
  847. КонецЕсли;
  848.  
  849. Ошибки = "";
  850. СтруктураВозврата = УправлениеИпотечнымиЗаявкамиДомКлик.ОтправитьПереотправитьСМСКлиенту(Объект.ПараметрыПодключения, Объект.ID_Заявки, ТекущиеДанные.ApplicationID, Ошибки, Объект.ТестоваяЗаявка);
  851. Если Ошибки = "" Тогда
  852. Если НЕ СтруктураВозврата = Неопределено Тогда
  853. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("СМС клиенту отправлено.");
  854. СтрокаАнкеты = Объект.Анкеты.НайтиПоИдентификатору(ТекущиеДанные.ПолучитьИдентификатор());
  855. Если НЕ СтрокаАнкеты = Неопределено Тогда
  856. ЗаполнитьЗначенияСвойств(СтрокаАнкеты, СтруктураВозврата);
  857. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись));
  858. КонецЕсли;
  859. КонецЕсли;
  860. Иначе
  861. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при отправке СМС клиенту: " + Ошибки);
  862. КонецЕсли;
  863.  
  864. КонецПроцедуры
  865.  
  866. &НаКлиенте
  867. Процедура ПодписатьСогласиеКодомИзСМС(Команда)
  868.  
  869. ТекущиеДанные = Элементы.Анкеты.ТекущиеДанные;
  870. Если ТекущиеДанные = Неопределено Тогда
  871. Возврат;
  872. КонецЕсли;
  873.  
  874. Если ТекущиеДанные.Статус = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхАнкетДомКлик.Одобрено") Тогда
  875. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Анкета уже одобрена.");
  876. Возврат;
  877. КонецЕсли;
  878.  
  879. Подсказка = "Введите код подтверждения";
  880. Оповещение = Новый ОписаниеОповещения("ПослеВводаКодаПодтверждения", ЭтаФорма);
  881. ПоказатьВводСтроки(Оповещение, "", Подсказка, 0, Ложь);
  882.  
  883. КонецПроцедуры
  884.  
  885. &НаКлиенте
  886. Процедура ПолучитьДанныеАнкеты(Команда)
  887.  
  888. ТекущиеДанные = Элементы.Анкеты.ТекущиеДанные;
  889. Если ТекущиеДанные = Неопределено Тогда
  890. Возврат;
  891. КонецЕсли;
  892.  
  893. Ошибки = "";
  894. ДанныеАнкеты = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьДанныеАнкеты(Объект.ПараметрыПодключения, Объект.ID_Заявки, ТекущиеДанные.ApplicationID, Ошибки, Объект.ТестоваяЗаявка);
  895. Если Ошибки = "" Тогда
  896. Если НЕ ДанныеАнкеты = Неопределено Тогда
  897. ОткрытьФорму("Документ.ИпотечнаяЗаявка.Форма.ФормаОтображенияРезультатаЗапроса", Новый Структура("РезультатЗапроса", ДанныеАнкеты));
  898. КонецЕсли;
  899. Иначе
  900. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при получении данных анкеты: " + Ошибки);
  901. КонецЕсли;
  902.  
  903. КонецПроцедуры
  904.  
  905. &НаКлиенте
  906. Процедура ПолучитьСтруктуруАнкеты(Команда)
  907.  
  908. ТекущиеДанные = Элементы.Анкеты.ТекущиеДанные;
  909. Если ТекущиеДанные = Неопределено Тогда
  910. Возврат;
  911. КонецЕсли;
  912.  
  913. СтруктураАнкеты = УправлениеИпотечнымиЗаявкамиДомКлик.СоздатьСтруктуруАнкеты(Объект.ПараметрыПодключения, ТекущиеДанные.Анкета, ТекущиеДанные.ТипАнкеты);
  914. Если НЕ СтруктураАнкеты = Неопределено Тогда
  915. СтруктураАнкетыСтркой = УправлениеИпотечнымиЗаявкамиДомКлик.ПреобразоватьСтруктуруВJSON(СтруктураАнкеты);
  916. ОткрытьФорму("Документ.ИпотечнаяЗаявка.Форма.ФормаОтображенияРезультатаЗапроса", Новый Структура("РезультатЗапроса", СтруктураАнкетыСтркой));
  917. Иначе
  918. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Нет данных.");
  919. КонецЕсли;
  920.  
  921. КонецПроцедуры
  922.  
  923. &НаКлиенте
  924. Процедура ОтправитьДокументы(Команда)
  925. ОтправитьДокументыНаСервере();
  926. КонецПроцедуры
  927.  
  928. &НаКлиенте
  929. Процедура УдалениеДокументов(Команда)
  930.  
  931. ТекущиеДанные = Элементы.ПрикрепленныеФайлы.ТекущиеДанные;
  932. Если ТекущиеДанные = Неопределено Тогда
  933. Возврат;
  934. КонецЕсли;
  935.  
  936. Ошибки = "";
  937. КодВозврата = УдалениеДокументовНаСервере(ТекущиеДанные.ApplicationID, ТекущиеДанные.id, Ошибки); //УправлениеИпотечнымиЗаявкамиДомКлик.УдалениеДокументов(Объект.ПараметрыПодключения, ТекущиеДанные.ApplicationID, ТекущиеДанные.id, Ошибки, Объект.ТестоваяЗаявка);
  938. Если Ошибки = "" Тогда
  939. Если КодВозврата = 200 Тогда
  940. Попытка
  941. УдалитьФайлНаСервере(ТекущиеДанные.Файл);
  942. Объект.ПрикрепленныеФайлы.Удалить(ТекущиеДанные);
  943. Модифицированность = Истина;
  944. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Документ удален.");
  945. Исключение
  946. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось удалить файл: " + ОписаниеОшибки());
  947. КонецПопытки;
  948. Если Модифицированность Тогда
  949. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись));
  950. КонецЕсли;
  951. КонецЕсли;
  952. Иначе
  953. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка удалении документа: " + Ошибки);
  954. КонецЕсли;
  955.  
  956. КонецПроцедуры
  957.  
  958. &НаКлиенте
  959. Процедура ОбновитьДокумент(Команда)
  960.  
  961. ТекущиеДанные = Элементы.ПрикрепленныеФайлы.ТекущиеДанные;
  962. Если ТекущиеДанные = Неопределено Тогда
  963. Возврат;
  964. КонецЕсли;
  965.  
  966. Ошибки = "";
  967. КодВозврата = ОбновитьДокументНаСервере(ТекущиеДанные.ApplicationID, ТекущиеДанные.id, ТекущиеДанные.ТипДокумента, ТекущиеДанные.ПодтипДокумента, Ошибки); //УправлениеИпотечнымиЗаявкамиДомКлик.ОбновитьДокумент(Объект.ПараметрыПодключения, ТекущиеДанные.ApplicationID, ТекущиеДанные.id, ТекущиеДанные.ТипДокумента, ТекущиеДанные.ПодтипДокумента, Ошибки, Объект.ТестоваяЗаявка);
  968. Если Ошибки = "" Тогда
  969. Если КодВозврата = 200 Тогда
  970. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Документ обновлены.");
  971. КонецЕсли;
  972. Иначе
  973. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при обновлении документа: " + Ошибки);
  974. КонецЕсли;
  975.  
  976. КонецПроцедуры
  977.  
  978. &НаКлиенте
  979. Процедура СоздатьЧерновикСделки(Команда)
  980.  
  981. Если Модифицированность ИЛИ Параметры.Ключ.Пустая() Тогда
  982. Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаОЗаписи", ЭтаФорма, Новый Структура("CallBack", Новый ОписаниеОповещения("СоздатьЧерновик_Асинхр", ЭтаФорма)));
  983. ПоказатьВопрос(Оповещение, "Для продолжения необходимо записать заявку. Продолжить?", РежимДиалогаВопрос.ДаНет, 0);
  984. Иначе
  985. Отказ = Ложь;
  986. ПроверитьПередОтправкой(Отказ);
  987. Если НЕ Отказ Тогда
  988. СоздатьЧерновикСделкиНаСервере();
  989. КонецЕсли;
  990. КонецЕсли;
  991.  
  992. КонецПроцедуры
  993.  
  994. #КонецОбласти
  995. //<897513> }
  996.  
  997. &НаКлиенте
  998. Процедура ПрикрепленныеФайлы_СнятьОтметки(Команда)
  999.  
  1000. Для каждого Строка Из Объект.ПрикрепленныеФайлы Цикл
  1001. Строка.Отправлять = Ложь;
  1002. КонецЦикла;
  1003.  
  1004. КонецПроцедуры
  1005.  
  1006. &НаКлиенте
  1007. Процедура ПрикрепленныеФайлы_ВыделитьВсе(Команда)
  1008.  
  1009. Для каждого Строка Из Объект.ПрикрепленныеФайлы Цикл
  1010. Строка.Отправлять = Истина;
  1011. КонецЦикла;
  1012.  
  1013. КонецПроцедуры
  1014.  
  1015. &НаКлиенте
  1016. Процедура Создать_ОбновитьЗаявку(Команда)
  1017.  
  1018. Если Модифицированность ИЛИ Параметры.Ключ.Пустая() Тогда
  1019. Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаОЗаписи", ЭтаФорма, Новый Структура("CallBack", Новый ОписаниеОповещения("Создать_ОбновитьЗаявку_Асинхр", ЭтаФорма)));
  1020. ПоказатьВопрос(Оповещение, "Для продолжения необходимо записать заявку. Продолжить?", РежимДиалогаВопрос.ДаНет, 0);
  1021. Иначе
  1022. Создать_ОбновитьЗаявку_Асинхр(Неопределено, Неопределено);
  1023. КонецЕсли;
  1024.  
  1025. КонецПроцедуры
  1026.  
  1027. &НаКлиенте
  1028. Процедура НаправитьЗаявкуНаРассмотрение(Команда)
  1029.  
  1030. Если Модифицированность Тогда
  1031. Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаОЗаписи", ЭтаФорма, Новый Структура("CallBack", Новый ОписаниеОповещения("ВыполнитьОтправку_Асинхр", ЭтаФорма)));
  1032. ПоказатьВопрос(Оповещение, "Для продолжения необходимо записать заявку. Продолжить?", РежимДиалогаВопрос.ДаНет, 0);
  1033. Иначе
  1034. ОтправитьИпотечнуюЗаявку();
  1035. КонецЕсли;
  1036.  
  1037. КонецПроцедуры
  1038.  
  1039. &НаКлиенте
  1040. Процедура АктуализироватьСтатус(Команда)
  1041.  
  1042. Оповещение = Новый ОписаниеОповещения("ВопросВыводитьХодОбновления", ЭтаФорма, Новый Структура("CallBack", Новый ОписаниеОповещения("ПолучитьДанныеСделки_Асинхр", ЭтаФорма)));
  1043. ПоказатьВопрос(Оповещение, "Выводить результаты обновления?", РежимДиалогаВопрос.ДаНет, 0);
  1044.  
  1045. КонецПроцедуры
  1046.  
  1047. &НаКлиенте
  1048. Процедура АктуализироватьСтатусАнкеты(Команда)
  1049.  
  1050. ТекущиеДанные = Элементы.Анкеты.ТекущиеДанные;
  1051. Если ТекущиеДанные = Неопределено Тогда
  1052. Возврат;
  1053. КонецЕсли;
  1054.  
  1055. Ошибки = "";
  1056. СтруктураВозврата = УправлениеИпотечнымиЗаявкамиДомКлик.АктуализироватьСтатусАнкеты(Объект.ПараметрыПодключения, Объект.ID_Заявки, ТекущиеДанные.ApplicationID, Ошибки, Объект.ТестоваяЗаявка);
  1057. Если Ошибки = "" Тогда
  1058. СтрокаАнкеты = Объект.Анкеты.НайтиПоИдентификатору(ТекущиеДанные.ПолучитьИдентификатор());
  1059. Если НЕ СтрокаАнкеты = Неопределено Тогда
  1060. ЗаполнитьЗначенияСвойств(СтрокаАнкеты, СтруктураВозврата);
  1061. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Анкета обновлена.");
  1062. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
  1063. КонецЕсли;
  1064. Иначе
  1065. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при обновлении анкеты: " + Ошибки);
  1066. КонецЕсли;
  1067.  
  1068. КонецПроцедуры
  1069.  
  1070. &НаКлиенте
  1071. Процедура УстановитьТипДокумента(Команда)
  1072.  
  1073. ОписаниеОповещенияОЗакрытии = Новый ОписаниеОповещения("ОписаниеОповещенияОЗакрытии", ЭтотОбъект);
  1074. ОткрытьФорму("Справочник.ТипыДокументовДомКлик.ФормаВыбора", Новый Структура("РежимВыбора", Истина), ЭтаФорма, , , , ОписаниеОповещенияОЗакрытии, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
  1075.  
  1076. КонецПроцедуры
  1077.  
  1078. #КонецОбласти
  1079.  
  1080. #Область СлужебныеПроцедурыИФункции
  1081.  
  1082. &НаСервере
  1083. Процедура УдалитьФайлНаСервере(Файл)
  1084.  
  1085. ФайлОбъект = Файл.ПолучитьОбъект();
  1086. Если НЕ ФайлОбъект = Неопределено Тогда
  1087. ФайлОбъект.УстановитьПометкуУдаления(НЕ ФайлОбъект.ПометкаУдаления);//.Удалить();
  1088. КонецЕсли;
  1089. //ОбновитьТаблицуФайлов();
  1090.  
  1091. КонецПроцедуры
  1092.  
  1093. &НаСервере
  1094. Процедура ОтправитьИпотечнуюЗаявку()
  1095.  
  1096. Отказ = Ложь;
  1097. ПроверитьПередОтправкой(Отказ);
  1098. Если Отказ Тогда
  1099. Возврат;
  1100. КонецЕсли;
  1101.  
  1102. //<897513>, Басаргин (27.11.2018) {
  1103. //ОтправитьЗаявкуДомКлик();
  1104. //УправлениеВидимостьюДоступностью();
  1105. Если ДомКлик Тогда
  1106. ОтправитьСделкуНаСервере();
  1107. Возврат;
  1108. КонецЕсли;
  1109. //<897513> }
  1110.  
  1111. Если ТолькоОтправкаПисем Тогда
  1112. //Тест
  1113. //Ошибки = "";
  1114. //Если НЕ ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  1115. // ID_Заявки = ЗаявкиНаКредитRestAPI.ОтправитьЗаявкуПоПочте(Объект.ПараметрыПодключения, Объект.Ссылка, ПочтовыйАдресОтправителя, Объект.ТестоваяЗаявка, Ошибки);
  1116. // Если Ошибки = "" Тогда
  1117. // Объект.ID_Заявки = ID_Заявки;
  1118. // Объект.ДатаПодачиЗаявки = ТекущаяДата();
  1119. // Модифицированность = Истина;
  1120. // Иначе
  1121. // ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при отправке заявки " + ID_Заявки + ": " + Ошибки);
  1122. // Возврат;
  1123. // КонецЕсли;
  1124. //Иначе
  1125. // ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заявка уже создана");
  1126. // ПовторнаяОтправка = Истина;
  1127. //КонецЕсли;
  1128. Иначе
  1129. ПовторнаяОтправка = Ложь;
  1130. Ошибки = "";
  1131. Если НЕ ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  1132. ID_Заявки = ЗаявкиНаКредитRestAPI.ОтправитьЗаявку(Объект.ПараметрыПодключения, Объект.Ссылка, ПочтовыйАдресОтправителя, Token, X_Auth_User, Объект.ТестоваяЗаявка, Ошибки);
  1133. Если Ошибки = "" Тогда
  1134. Объект.ID_Заявки = ID_Заявки;
  1135. Объект.ДатаПодачиЗаявки = ТекущаяДата();
  1136. Модифицированность = Истина;
  1137. Иначе
  1138. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при отправке заявки " + ID_Заявки + ": " + Ошибки);
  1139. Возврат;
  1140. КонецЕсли;
  1141. Иначе
  1142. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заявка уже создана");
  1143. ПовторнаяОтправка = Истина;
  1144. КонецЕсли;
  1145.  
  1146. Ошибки = "";
  1147. Если ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  1148. Для каждого СтрокаФайл Из Объект.ПрикрепленныеФайлы Цикл
  1149. Если НЕ СтрокаФайл.Отправлять Тогда
  1150. Продолжить;
  1151. КонецЕсли;
  1152. Данные = ЗаявкиНаКредитRestAPI.ДобавитьФайлКЗаявке(Объект.ПараметрыПодключения, Объект.ID_Заявки, СтрокаФайл.Файл, Token, X_Auth_User, Объект.ТестоваяЗаявка, Ошибки);
  1153. Если Ошибки = "" Тогда
  1154. Если ТипЗнч(Данные) = Тип("Структура") Тогда
  1155. ЗаполнитьЗначенияСвойств(СтрокаФайл, Данные);
  1156. Если НЕ ЗначениеЗаполнено(СтрокаФайл.create_date) Тогда
  1157. СтрокаФайл.create_date = ТекущаяДата();
  1158. КонецЕсли;
  1159. СтрокаФайл.Отправлять = Ложь;
  1160. Модифицированность = Истина;
  1161. КонецЕсли;
  1162. Иначе
  1163. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при отправке прикрепленных файлов: " + Ошибки);
  1164. Возврат;
  1165. КонецЕсли;
  1166. КонецЦикла;
  1167. Иначе
  1168. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заявка не отправлена");
  1169. Возврат;
  1170. КонецЕсли;
  1171.  
  1172. Ошибки = "";
  1173. Если ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  1174. Для каждого СтрокаКомментарий Из Объект.КомментарииЗаявки Цикл
  1175. Если НЕ СтрокаКомментарий.Отправлять Тогда
  1176. Продолжить;
  1177. КонецЕсли;
  1178. ID_Комментария = ЗаявкиНаКредитRestAPI.ДобавитьКомментарийКЗаявке(Объект.ПараметрыПодключения, Объект.ID_Заявки, СтрокаКомментарий.Комментарий, ПочтовыйАдресОтправителя, Token, X_Auth_User, Объект.ТестоваяЗаявка, Ошибки);
  1179. Если Ошибки = "" Тогда
  1180. СтрокаКомментарий.ID = ID_Комментария;
  1181. СтрокаКомментарий.ДатаОтправки = ТекущаяДата();
  1182. СтрокаКомментарий.Отправлять = Ложь;
  1183. Модифицированность = Истина;
  1184. Иначе
  1185. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка отправке комментариев заявки: " + Ошибки);
  1186. Возврат;
  1187. КонецЕсли;
  1188. КонецЦикла;
  1189. Иначе
  1190. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заявка не отправлена");
  1191. Возврат;
  1192. КонецЕсли;
  1193.  
  1194. Если Объект.Черновик ИЛИ ПовторнаяОтправка Тогда
  1195. Ошибки = "";
  1196. ИдентификаторЗаявкиНаКредит = ЗаявкиНаКредитRestAPI.ИзменитьСтатусЗаявки(Объект.ПараметрыПодключения, ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.ЗаявкаНаправленаВБанк"), Объект.ID_Заявки, Объект.КомментарийСтатуса, Token, X_Auth_User, Объект.ТестоваяЗаявка, Ошибки);
  1197. Если Ошибки = "" Тогда
  1198. Если ЗначениеЗаполнено(ИдентификаторЗаявкиНаКредит) И Объект.ID_Заявки = ИдентификаторЗаявкиНаКредит Тогда
  1199. Объект.Черновик = Ложь;
  1200. Объект.ДатаУстановкиСтатуса = ТекущаяДата();
  1201. Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.ЗаявкаНаправленаВБанк");
  1202. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Отправка");
  1203. //Объект.ПредварительноеРешение = ПредопределенноеЗначение("Справочник.ПредварительныеРешенияБанков.ВРаботе");
  1204. Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ПустаяСсылка");
  1205. Объект.УспешнаяОтправка = Истина;
  1206. Модифицированность = Истина;
  1207. КонецЕсли;
  1208. Иначе
  1209. Объект.СтатусЗаявки = 0;
  1210. Объект.УспешнаяОтправка = Ложь;
  1211. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка обновления статуса заявки: " + Ошибки);
  1212. Возврат;
  1213. КонецЕсли;
  1214. КонецЕсли;
  1215.  
  1216. Если Ошибки = "" Тогда
  1217. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заявка успешно отправлена.");
  1218. Если Модифицированность Тогда
  1219. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
  1220. КонецЕсли;
  1221. КонецЕсли;
  1222. КонецЕсли;
  1223.  
  1224. УправлениеВидимостьюДоступностью();
  1225.  
  1226. КонецПроцедуры
  1227.  
  1228. &НаКлиенте
  1229. Процедура ОбработкаСохраненияФайлов(ПолученныеФайлы, ДополнительныеПараметры) Экспорт
  1230.  
  1231. Если ПолученныеФайлы = Неопределено Тогда
  1232. Возврат;
  1233. КонецЕсли;
  1234.  
  1235. КонецПроцедуры
  1236.  
  1237. &НаСервере
  1238. Процедура УстановитьОбновляемыеЗначения(Данные)
  1239.  
  1240. Если Данные.Свойство("status") И НЕ Объект.СтатусЗаявки.Код = Данные.status Тогда
  1241. Объект.СтатусЗаявки = Справочники.СтатусыИпотечныхЗаявок.НайтиПоКоду(Данные.status);
  1242. Если //Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.ВозвратНаДоработку") ИЛИ
  1243. НЕ ЗначениеЗаполнено(Объект.СтатусЗаявки) Тогда
  1244. Объект.УспешнаяОтправка = Ложь;
  1245. Иначе
  1246. Объект.УспешнаяОтправка = Истина;
  1247. КонецЕсли;
  1248. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Статус заявки обновлен на " + Объект.СтатусЗаявки);
  1249. Объект.ДатаУстановкиСтатуса = ТекущаяДата();
  1250. Если Объект.СтатусЗаявки = Справочники.СтатусыИпотечныхЗаявок.Отказ
  1251. ИЛИ Объект.СтатусЗаявки = Справочники.СтатусыИпотечныхЗаявок.ОтказКлиента
  1252. ИЛИ Объект.СтатусЗаявки = Справочники.СтатусыИпотечныхЗаявок.НеКредитуем Тогда
  1253. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Отказ");
  1254. Объект.ДатаРешенияБанка = ТекущаяДата();
  1255. ИначеЕсли Объект.СтатусЗаявки = Справочники.СтатусыИпотечныхЗаявок.КредитОдобрен ИЛИ Объект.СтатусЗаявки = Справочники.СтатусыИпотечныхЗаявок.КредитВыдан Тогда
  1256. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Одобрение");
  1257. Объект.ДатаРешенияБанка = ТекущаяДата();
  1258. ИначеЕсли ТолькоОтправкаПисем Тогда
  1259. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.ОтправленаПоПочте");
  1260. Иначе
  1261. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Отправка");
  1262. КонецЕсли;
  1263. Если Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.КредитОдобрен")
  1264. ИЛИ Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.КредитВыдан") Тогда
  1265. //Объект.ПредварительноеРешение = ПредопределенноеЗначение("Справочник.ПредварительныеРешенияБанков.Одобрение");
  1266. Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ОдобрениеБанка");
  1267. ИначеЕсли Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.Отказ")
  1268. ИЛИ Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.НеКредитуем") Тогда
  1269. //Объект.ПредварительноеРешение = ПредопределенноеЗначение("Справочник.ПредварительныеРешенияБанков.Отказ");
  1270. Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ОтказБанка");
  1271. ИначеЕсли Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.ОтказКлиента") Тогда
  1272. //Объект.ПредварительноеРешение = ПредопределенноеЗначение("Справочник.ПредварительныеРешенияБанков.Отказ");
  1273. Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ОтказКлиентаОтРассмотрения");
  1274. Иначе
  1275. //Объект.ПредварительноеРешение = ПредопределенноеЗначение("Справочник.ПредварительныеРешенияБанков.ПустаяСсылка");
  1276. Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ПустаяСсылка");
  1277. Объект.ДатаРешенияБанка = Неопределено;
  1278. КонецЕсли;
  1279. Модифицированность = Истина;
  1280. КонецЕсли;
  1281.  
  1282. Если Данные.Свойство("sum_approved") И ЗначениеЗаполнено(Данные.sum_approved) И НЕ СтрЗаменить(Объект.sum_approved, Символы.НПП, "") = СтрЗаменить(Данные.sum_approved, Символы.НПП, "") Тогда
  1283. Попытка
  1284. Объект.sum_approved = Число(Данные.sum_approved);
  1285. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Одобренная сумма кредита в рублях обновлена на " + Объект.sum_approved);
  1286. Модифицированность = Истина;
  1287. Исключение
  1288. КонецПопытки;
  1289. КонецЕсли;
  1290.  
  1291. Если Данные.Свойство("transactID") И ЗначениеЗаполнено(Данные.transactID) И НЕ СокрЛП(Объект.transactID) = СокрЛП(Данные.transactID) Тогда
  1292. Попытка
  1293. Объект.transactID = Данные.transactID;
  1294. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("transactID = " + Объект.transactID);
  1295. Модифицированность = Истина;
  1296. Исключение
  1297. КонецПопытки;
  1298. КонецЕсли;
  1299.  
  1300. ОтправлятьОповещение = Ложь;
  1301. Если Данные.Свойство("status_history") И НЕ Данные.status_history = Неопределено Тогда
  1302. КомментарийСтатуса = "";
  1303. ЗаявкиНаКредитRestAPI.ЗаполнитьИсториюСтатусов(Данные.status_history, Объект.Ссылка, КомментарийСтатуса, ОтправлятьОповещение);
  1304. Если НЕ Объект.КомментарийСтатуса = КомментарийСтатуса Тогда
  1305. Объект.КомментарийСтатуса = КомментарийСтатуса;
  1306. Модифицированность = Истина;
  1307. ОтправлятьОповещение = Истина;
  1308. КонецЕсли;
  1309. КонецЕсли;
  1310.  
  1311. Если Модифицированность Тогда
  1312. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
  1313. КонецЕсли;
  1314.  
  1315. Если ОтправлятьОповещение Тогда
  1316. Попытка
  1317. ОтправитьОповещение();
  1318. Исключение
  1319. КонецПопытки;
  1320. КонецЕсли;
  1321.  
  1322. КонецПроцедуры
  1323.  
  1324. &НаСервере
  1325. Процедура ОтделениеБанкаПриИзмененииНаСервере()
  1326. Объект.ЦИК = Объект.ОтделениеБанка.ID; //326
  1327. КонецПроцедуры
  1328.  
  1329. &НаСервере
  1330. Процедура ПроверитьПередОтправкой(Отказ)
  1331.  
  1332. Отказ = НЕ ПроверитьЗаполнение();
  1333. Если НЕ Отказ Тогда
  1334. Если НЕ ЗначениеЗаполнено(Объект.ПараметрыПодключения) Тогда
  1335. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнены параметры подключения к сервису подачи заявок.");
  1336. Отказ = Истина;
  1337. Возврат;
  1338. КонецЕсли;
  1339.  
  1340. Если НЕ ЗначениеЗаполнено(Объект.ОтделениеБанка.ID) И НЕ ТолькоОтправкаПисем Тогда
  1341. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнен ID отделения.", Объект.Ссылка, "ОтделениеБанка", "Объект", Отказ);
  1342. Возврат;
  1343. КонецЕсли;
  1344.  
  1345. Если НЕ ЗначениеЗаполнено(Объект.ВидОбъектаНедвижимости) Тогда
  1346. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнен Вид Объекта Недвижимости", Объект.Ссылка, "ВидОбъектаНедвижимости", "Объект", Отказ);
  1347. Возврат;
  1348. КонецЕсли;
  1349.  
  1350. Если НЕ ЗначениеЗаполнено(Объект.ФИОКлиента) Тогда
  1351. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнено ФИО Клиента", Объект.Ссылка, "ФИОКлиента", "Объект", Отказ);
  1352. Возврат;
  1353. КонецЕсли;
  1354.  
  1355. //Если НЕ ЗначениеЗаполнено(Объект.ДатаРожденияКлиента) Тогда
  1356. // ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнена Дата Рождения Клиента", Объект.Ссылка, "ДатаРожденияКлиента", "Объект", Отказ);
  1357. // Возврат;
  1358. //КонецЕсли;
  1359.  
  1360. //Если НЕ ЗначениеЗаполнено(Объект.СерияНомерПаспорта) Тогда
  1361. // ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнена Серия/Номер Паспорта", Объект.Ссылка, "СерияНомерПаспорта", "Объект", Отказ);
  1362. // Возврат;
  1363. //ИначеЕсли НЕ СоответствуетШаблону(Объект.СерияНомерПаспорта, "[0-9]{4}\s{1}[0-9]{6}") Тогда
  1364. // ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не верный формат Серия/Номер Паспорта", Объект.Ссылка, "СерияНомерПаспорта", "Объект", Отказ);
  1365. // Возврат;
  1366. //КонецЕсли;
  1367.  
  1368. Если НЕ ЗначениеЗаполнено(Объект.НомерТелефонаКлиента) Тогда
  1369. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнен Номер Телефона Клиента", Объект.Ссылка, "НомерТелефонаКлиента", "Объект", Отказ);
  1370. Возврат;
  1371. КонецЕсли;
  1372.  
  1373. Если НЕ ЗначениеЗаполнено(Объект.EmailКлиента) Тогда
  1374. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнен Email Клиента", Объект.Ссылка, "EmailКлиента", "Объект", Отказ);
  1375. Возврат;
  1376. ИначеЕсли НЕ СоответствуетШаблону(Объект.EmailКлиента, ".+@.+\..+") Тогда
  1377. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не верный формат Email Клиента", Объект.Ссылка, "EmailКлиента", "Объект", Отказ);
  1378. Возврат;
  1379. КонецЕсли;
  1380.  
  1381. Если НЕ ЗначениеЗаполнено(Объект.ПредполагаемаяСтоимостьОН) И НЕ ТолькоОтправкаПисем Тогда
  1382. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнена Предполагаемая Стоимость ОН", Объект.Ссылка, "ПредполагаемаяСтоимостьОН", "Объект", Отказ);
  1383. Возврат;
  1384. КонецЕсли;
  1385.  
  1386. Если НЕ ЗначениеЗаполнено(Объект.СуммаКредитаВРублях) Тогда
  1387. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнена Сумма Кредита", Объект.Ссылка, "СуммаКредитаВРублях", "Объект", Отказ);
  1388. Возврат;
  1389. КонецЕсли;
  1390.  
  1391. Если НЕ Объект.ПрикрепленныеФайлы.Количество() Тогда
  1392. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Нет прикрепленных файлов к заявке", Объект.Ссылка, "ПрикрепленныеФайлы", "Объект", Отказ);
  1393. Возврат;
  1394. КонецЕсли;
  1395.  
  1396. //Если НЕ Объект.КомментарииЗаявки.Количество() И НЕ ТолькоОтправкаПисем Тогда
  1397. // ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Нет комментариев к заявке", Объект.Ссылка, "КомментарииЗаявки", "Объект", Отказ);
  1398. // Возврат;
  1399. //КонецЕсли;
  1400.  
  1401. Если НЕ ЗначениеЗаполнено(Объект.Проект) И ТолькоОтправкаПисем Тогда
  1402. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнен проект", Объект.Ссылка, "Проект", "Объект", Отказ);
  1403. Возврат;
  1404. КонецЕсли;
  1405.  
  1406. //<874899>, Басаргин (09.10.2018)
  1407. Если ДомКлик Тогда
  1408. //Если НЕ ЗначениеЗаполнено(Объект.agentPhone) Тогда
  1409. // ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнен телефон агента", Объект.Ссылка, "agentPhone", "agentPhone", Отказ);
  1410. // Возврат;
  1411. //КонецЕсли;
  1412.  
  1413. Если НЕ ЗначениеЗаполнено(Объект.ИпотечныйАгент) Тогда
  1414. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнен ипотечный агент", Объект.Ссылка, "ИпотечныйАгент", "ИпотечныйАгент", Отказ);
  1415. Возврат;
  1416. КонецЕсли;
  1417.  
  1418. Если НЕ ЗначениеЗаполнено(Объект.СрокКредита) И ДомКлик Тогда
  1419. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнен срок кредита", Объект.Ссылка, "СрокКредита", "СрокКредита", Отказ);
  1420. Возврат;
  1421. КонецЕсли;
  1422.  
  1423. МассивАнкет = Новый Массив;
  1424. Для каждого Строка Из Объект.Анкеты Цикл
  1425. МассивАнкет.Добавить(Новый Структура("Анкета, Клиент", Строка.Анкета, Строка.Анкета.КонтактноеЛицо));
  1426. КонецЦикла;
  1427.  
  1428. ТекущийКлиент = Неопределено;
  1429. Для каждого Элемент Из МассивАнкет Цикл
  1430. Если ТекущийКлиент = Элемент.Клиент Тогда
  1431. Продолжить;
  1432. КонецЕсли;
  1433. ТекущийКлиент = Элемент.Клиент;
  1434. ТекущаяАнкета = Неопределено;
  1435. Для каждого Строка Из МассивАнкет Цикл
  1436. Если НЕ Строка.Клиент = ТекущийКлиент Тогда
  1437. Продолжить;
  1438. КонецЕсли;
  1439. Если ТекущаяАнкета = Неопределено Тогда
  1440. ТекущаяАнкета = Строка.Анкета;
  1441. Продолжить;
  1442. КонецЕсли;
  1443. Если НЕ Строка.Анкета = ТекущаяАнкета Тогда
  1444. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Нельзя добавлять разные анкенты по одному клиенту", , , , Отказ);
  1445. Прервать;
  1446. КонецЕсли;
  1447. КонецЦикла;
  1448. КонецЦикла;
  1449.  
  1450. //_КонтактноеЛицо = Неопределено;
  1451. //Для каждого Строка Из Объект.Анкеты Цикл
  1452. // Если _КонтактноеЛицо = Неопределено Тогда
  1453. // _КонтактноеЛицо = Строка.Анкета.КонтактноеЛицо;
  1454. // Продолжить;
  1455. // КонецЕсли;
  1456. // Если НЕ _КонтактноеЛицо = Строка.Анкета.КонтактноеЛицо Тогда
  1457. // ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Нельзя добавлять анкенты по разным клиентам", , , , Отказ);
  1458. // КонецЕсли;
  1459. //КонецЦикла;
  1460. КонецЕсли;
  1461. //<897513> }
  1462. КонецЕсли;
  1463.  
  1464. КонецПроцедуры
  1465.  
  1466. Функция СоответствуетШаблону(Знач Строка, Шаблон)
  1467.  
  1468. RegExp = Новый COMОбъект("VBScript.RegExp");// создаем объект для работы с регулярными выражениями
  1469. RegExp.MultiLine = Истина; // истина — текст многострочный, ложь — одна строка
  1470. RegExp.Global = Истина; // истина — поиск по всей строке, ложь — до первого совпадения
  1471. RegExp.IgnoreCase = Истина; // истина — игнорировать регистр строки при поиске
  1472. RegExp.Pattern = Шаблон;//"<[^>]*>";
  1473.  
  1474. Matches = RegExp.Execute(Строка);
  1475.  
  1476. Возврат Matches.Count();
  1477.  
  1478. КонецФункции
  1479.  
  1480. &НаСервере
  1481. Процедура УправлениеВидимостьюДоступностью()
  1482.  
  1483. АдминистрированиеЗаявок = УправлениеДоступом.ЕстьРоль("РаботаСИпотечнымиЗаявками_Администратор", , Пользователи.ТекущийПользователь()) ИЛИ УправлениеДоступом.ЕстьРоль("ПолныеПрава", , Пользователи.ТекущийПользователь());
  1484.  
  1485. Элементы.СтатусЗаявки.ТолькоПросмотр = НЕ АдминистрированиеЗаявок;
  1486. Элементы.ДатаУстановкиСтатуса.ТолькоПросмотр = НЕ АдминистрированиеЗаявок;
  1487.  
  1488. //++ Юкаев Роман 20180125 (
  1489. Проверка = ВРег(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.РекомендуемыйБанк, "Наименование")) = "СБЕРБАНК";
  1490. Если Проверка Тогда
  1491. Видимость = ЗначениеЗаполнено(Объект.ПараметрыПодключения);
  1492. Иначе
  1493. Видимость = Не Проверка;
  1494. КонецЕсли;
  1495. //-- Юкаев Роман 20180125 )
  1496. Элементы.Дополнительная.Видимость = Видимость;
  1497. Элементы.ЗаявкаНаКредит.Видимость = Видимость;
  1498. //++ Юкаев Роман 20180125 (
  1499. //Элементы.ГруппаСтатус.Видимость = Видимость;
  1500. Элементы.ГруппаСтатус.Видимость = Проверка;
  1501. //-- Юкаев Роман 20180125 )
  1502. Элементы.ФормаГруппаТестироваине.Видимость = Видимость И АдминистрированиеЗаявок;
  1503.  
  1504. //ТолькоОтправкаПисем = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.ПараметрыПодключения, "ТолькоОтправкаПисем");
  1505.  
  1506. //<897513>, Басаргин (27.11.2018) {
  1507. СтруктураРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект.ПараметрыПодключения, "ТолькоОтправкаПисем, Наименование");
  1508. ТолькоОтправкаПисем = СтруктураРеквизитов.ТолькоОтправкаПисем;
  1509. ДомКлик = СтрНайти(ВРег(СтруктураРеквизитов.Наименование), "ДОМКЛИК");
  1510. Парлайн = СтрНайти(ВРег(СтруктураРеквизитов.Наименование), "ПАРЛАЙН");
  1511. Элементы.ЗаявкаПарлайн.Видимость = Парлайн;
  1512. //<897513> }
  1513.  
  1514. Элементы.Проект.Видимость = ТолькоОтправкаПисем;
  1515.  
  1516. Элементы.ГруппаРешение.Доступность = НЕ Проверка;
  1517.  
  1518. Если ЗначениеЗаполнено(Объект.ПараметрыПодключения) Тогда
  1519. ВидимостьКоманд = НЕ ТолькоОтправкаПисем;
  1520. Иначе
  1521. ВидимостьКоманд = Ложь;
  1522. КонецЕсли;
  1523.  
  1524. Элементы.ФормаОтказ.Видимость = ВидимостьКоманд;
  1525. Элементы.ФормаОбновитьЗаявку.Видимость = ВидимостьКоманд;
  1526. Элементы.ФормаДобавитьДокуметнты.Видимость = ВидимостьКоманд;
  1527. Элементы.ФормаДобавитьКомментарии.Видимость = ВидимостьКоманд;
  1528. Элементы.ФормаПолучиьДанныеОЗаявке.Видимость = ВидимостьКоманд;
  1529. //-- Юкаев Роман 20180125 )
  1530. Элементы.ФормаГруппаТестироваине.Видимость = НЕ ТолькоОтправкаПисем И Видимость И АдминистрированиеЗаявок;
  1531. Элементы.Черновик.Видимость = НЕ ТолькоОтправкаПисем;
  1532. Элементы.ТестоваяЗаявка.Видимость = НЕ ТолькоОтправкаПисем;
  1533. //Элементы.transactID.Видимость = НЕ ТолькоОтправкаПисем;
  1534. Элементы.ОбодреннаяСуммаКредитаВРублях.Видимость = НЕ ТолькоОтправкаПисем;
  1535. //Элементы.ЗамещающийАгент.Видимость = НЕ ТолькоОтправкаПисем;
  1536. Элементы.ID_Заявки.Видимость = НЕ ТолькоОтправкаПисем;
  1537. //Элементы.ПрикрепленныеФайлыСкачатьФайл.Видимость = НЕ ТолькоОтправкаПисем;
  1538.  
  1539. Элементы.ГруппаОсновное.ТолькоПросмотр = Объект.УспешнаяОтправка И НЕ АдминистрированиеЗаявок;
  1540. Элементы.ГруппаСтатус.ТолькоПросмотр = Объект.УспешнаяОтправка И НЕ АдминистрированиеЗаявок;
  1541. //Элементы.Дополнительная.ТолькоПросмотр = Объект.УспешнаяОтправка И НЕ АдминистрированиеЗаявок;
  1542. Элементы.ГруппаДанныеПоКлиентуДляОтправки.ТолькоПросмотр = Объект.УспешнаяОтправка И НЕ АдминистрированиеЗаявок;
  1543.  
  1544. Элементы.ГруппаСопутствующиеДанные.ТолькоПросмотр = Объект.УспешнаяОтправка И НЕ АдминистрированиеЗаявок И НЕ ТолькоОтправкаПисем;
  1545. Элементы.ПрикрепленныеФайлы.КоманднаяПанель.ТолькоПросмотр = Объект.УспешнаяОтправка И НЕ АдминистрированиеЗаявок И НЕ ТолькоОтправкаПисем;
  1546.  
  1547. Элементы.ПрикрепленныеФайлыкнДобавитьФайл.Доступность = НЕ Объект.УспешнаяОтправка ИЛИ АдминистрированиеЗаявок ИЛИ ТолькоОтправкаПисем;
  1548. Элементы.ПрикрепленныеФайлыкнОткрытьКарточкуФайла.Доступность = НЕ Объект.УспешнаяОтправка ИЛИ АдминистрированиеЗаявок ИЛИ ТолькоОтправкаПисем;
  1549. Элементы.ПрикрепленныеФайлыкнУдалитьФайл.Доступность = НЕ Объект.УспешнаяОтправка ИЛИ АдминистрированиеЗаявок ИЛИ ТолькоОтправкаПисем;
  1550. //Элементы.ПрикрепленныеФайлыкнПросмотрФайла.Доступность = НЕ Объект.УспешнаяОтправка ИЛИ АдминистрированиеЗаявок ИЛИ ТолькоОтправкаПисем;
  1551. Элементы.ПрикрепленныеФайлыОбновитьФайлы.Доступность = НЕ Объект.УспешнаяОтправка ИЛИ АдминистрированиеЗаявок ИЛИ ТолькоОтправкаПисем;
  1552.  
  1553. Элементы.КомментарииЗаявки.КоманднаяПанель.ТолькоПросмотр = Объект.УспешнаяОтправка И НЕ АдминистрированиеЗаявок И НЕ ТолькоОтправкаПисем;
  1554. Элементы.КомментарииЗаявкикнДобавитьСтрокиКомментария.Доступность = НЕ Объект.УспешнаяОтправка ИЛИ АдминистрированиеЗаявок ИЛИ ТолькоОтправкаПисем;
  1555.  
  1556. Если Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Отправка")
  1557. ИЛИ Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.ОтправленаПоПочте") Тогда
  1558. Элементы.КартинкаСостояние.Картинка = БиблиотекаКартинок.Телефония_Ожидание;
  1559. ИначеЕсли Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Отказ") Тогда
  1560. Элементы.КартинкаСостояние.Картинка = БиблиотекаКартинок.Телефония_АктивнаяЛиния;
  1561. ИначеЕсли Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Одобрение") Тогда
  1562. Элементы.КартинкаСостояние.Картинка = БиблиотекаКартинок.Телефония_СвободнаяЛиния;
  1563. КонецЕсли;
  1564.  
  1565. ТолькоПросмотрДляСопустствующих = (Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Отказ") ИЛИ
  1566. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Одобрение"));
  1567.  
  1568. Элементы.ГруппаКомментарии.ТолькоПросмотр = ТолькоПросмотрДляСопустствующих;
  1569.  
  1570. Элементы.ГруппаПрикрепленныеФайлы.ТолькоПросмотр = ТолькоПросмотрДляСопустствующих;
  1571. Элементы.ПрикрепленныеФайлы.КоманднаяПанель.ТолькоПросмотр = ТолькоПросмотрДляСопустствующих;
  1572. Элементы.ПрикрепленныеФайлыкнДобавитьФайл.Доступность = НЕ ТолькоПросмотрДляСопустствующих;
  1573. Элементы.ПрикрепленныеФайлыкнОткрытьКарточкуФайла.Доступность = НЕ ТолькоПросмотрДляСопустствующих;
  1574. Элементы.ПрикрепленныеФайлыкнУдалитьФайл.Доступность = НЕ ТолькоПросмотрДляСопустствующих;
  1575. //Элементы.ПрикрепленныеФайлыкнПросмотрФайла.Доступность = НЕ ТолькоПросмотрДляСопустствующих;
  1576. Элементы.ПрикрепленныеФайлыОбновитьФайлы.Доступность = НЕ ТолькоПросмотрДляСопустствующих;
  1577.  
  1578. Элементы.ГруппаКомментарии.ТолькоПросмотр = ТолькоПросмотрДляСопустствующих;
  1579. Элементы.КомментарииЗаявкикнДобавитьСтрокиКомментария.Доступность = НЕ ТолькоПросмотрДляСопустствующих;
  1580.  
  1581. //Элементы.ФормаОтправитьЗаявкуOnLine.Доступность = НЕ ТолькоПросмотрДляСопустствующих И ТолькоОтправкаПисем;
  1582.  
  1583. //++ Юкаев Роман 20180404 (//
  1584. //EXTCODE Шумилин Сергей 26.03.2018 {{ ---> Для заявок, созданных при переносе исторической информации
  1585. //Элементы.СубсидированнаяСтавкаВТБ.Видимость = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.РекомендуемыйБанк, "СубсидированнаяСтавкаВТБ");
  1586. //EXTCODE Шумилин Сергей 26.03.2018 <--- }}
  1587. Элементы.СубсидированнаяСтавкаВТБ.Видимость = Объект.РекомендуемыйБанк.СубсидированнаяСтавкаВТБ;
  1588. //-- Юкаев Роман 20180404 )
  1589.  
  1590. //<897513>, Басаргин (04.12.2018) {
  1591. Элементы.ГруппаАнкеты.Видимость = ДомКлик;
  1592. Элементы.ПрикрепленныеФайлыТипДокумента.Видимость = ДомКлик;
  1593. Элементы.ПрикрепленныеФайлыПодТипДокумента.Видимость = ДомКлик;
  1594. Элементы.ПрикрепленныеФайлыАнкета.Видимость = ДомКлик;
  1595. Элементы.ГруппаКомментарии.ТолькоПросмотр = ДомКлик;
  1596. ////Элементы.КомментарийСтатуса.Видимость = ДомКлик;
  1597.  
  1598. Элементы.КомментарииЗаявки.КоманднаяПанель.Видимость = НЕ ДомКлик;
  1599. Элементы.КомментарииЗаявкиДобавить.Видимость = НЕ ДомКлик;
  1600. Элементы.КомментарииЗаявкикнДобавитьСтрокиКомментария.Видимость = НЕ ДомКлик;
  1601. ////Элементы.КомментарииЗаявкиНомерСтроки.Видимость = НЕ ДомКлик;
  1602. Элементы.КомментарииЗаявкиОтправлять.Видимость = НЕ ДомКлик;
  1603. Элементы.КомментарииЗаявкиID.Видимость = НЕ ДомКлик;
  1604. Элементы.КомментарииЗаявкиДатаОтправки.Видимость = НЕ ДомКлик;
  1605.  
  1606. Элементы.ПрикрепленныеФайлыОтправитьДокументы.Видимость = ДомКлик;
  1607. Элементы.ПрикрепленныеФайлыУдалениеДокументов.Видимость = ДомКлик;
  1608. Элементы.ПрикрепленныеФайлыОбновитьДокумент.Видимость = ДомКлик;
  1609. Элементы.ПрикрепленныеФайлыУстановитьТипДокумента.Видимость = ДомКлик;
  1610.  
  1611. Элементы.АнкетыПодменюАнкетДомКлик.Видимость = ДомКлик;
  1612. Элементы.СделкаДомКлик.Видимость = ДомКлик И АдминистрированиеЗаявок;
  1613. Элементы.ЗаявкаДомКлик.Видимость = ДомКлик;
  1614.  
  1615. //Элементы.ГруппаДанныеКлиента.Видимость = НЕ ДомКлик;
  1616. Элементы.ИпотечныйАгент.Видимость = ДомКлик;
  1617. //Элементы.agentPhone.Видимость = ДомКлик;
  1618.  
  1619. Элементы.EmailКлиента.ТолькоПросмотр = ДомКлик;
  1620. Элементы.СерияНомерПаспорта.Видимость = НЕ ДомКлик;
  1621. Элементы.ДатаРожденияКлиента.Видимость = НЕ ДомКлик;
  1622.  
  1623. //Элементы.ЗаявкаНаКредит.Видимость = НЕ Домклик;
  1624. //Элементы.transactID.Видимость = НЕ Домклик;
  1625.  
  1626. Элементы.ФормаОтправитьЗаявкуOnLine.Видимость = НЕ ДомКлик;
  1627.  
  1628. Элементы.ФормаОтказ.Видимость = НЕ ДомКлик;
  1629. Элементы.ФормаОбновитьЗаявку.Видимость = НЕ ДомКлик;
  1630. Элементы.ФормаДобавитьДокуметнты.Видимость = НЕ ДомКлик;
  1631. Элементы.ФормаДобавитьКомментарии.Видимость = НЕ ДомКлик;
  1632. Элементы.ФормаПолучиьДанныеОЗаявке.Видимость = НЕ ДомКлик;
  1633.  
  1634. Элементы.Переплата.Видимость = ДомКлик;
  1635. Элементы.ЕжемесячныйПлатеж.Видимость = ДомКлик;
  1636. Элементы.НеобходимыйДоход.Видимость = ДомКлик;
  1637. Элементы.ПроцентнаяСтавка.Видимость = ДомКлик;
  1638. Элементы.КомментарииЗаявкиСтатусКомментария.Видимость = ДомКлик;
  1639. //
  1640. Элементы.ФормаОбновлениеАнкеты.Видимость = ДомКлик И АдминистрированиеЗаявок;
  1641. Элементы.АнкетыПолучитьДанныеАнкеты.Видимость = ДомКлик И АдминистрированиеЗаявок;
  1642. //Элементы.ПрикрепленныеФайлыОбновитьДокумент.Видимость = ДомКлик И АдминистрированиеЗаявок;
  1643. //Элементы.ПрикрепленныеФайлыкнУдалитьФайл.Видимость = НЕ ДомКлик ИЛИ АдминистрированиеЗаявок;
  1644. Элементы.АнкетыСозданиеАнкеты.Видимость = ДомКлик И АдминистрированиеЗаявок;
  1645. Элементы.ПрикрепленныеФайлыОтправитьДокументы.Видимость = ДомКлик И АдминистрированиеЗаявок;
  1646. Элементы.ПрикрепленныеФайлыКонтекстноеМенюГруппаДомКлик.Видимость = ДомКлик;
  1647.  
  1648. Элементы.АнкетыApplicationID.Доступность = ДомКлик И АдминистрированиеЗаявок;
  1649. Элементы.АнкетыСтатус.Доступность = ДомКлик И АдминистрированиеЗаявок;
  1650. Элементы.АнкетыДатаПоследнегоИзменения.Доступность = ДомКлик И АдминистрированиеЗаявок;
  1651. Элементы.АнкетыДатаПодтверждения.Доступность = ДомКлик И АдминистрированиеЗаявок;
  1652.  
  1653. Элементы.ПрикрепленныеФайлыID.Доступность = ДомКлик И АдминистрированиеЗаявок;
  1654. Элементы.ПрикрепленныеФайлыДатаОтправки.Доступность = ДомКлик И АдминистрированиеЗаявок;
  1655. Элементы.ПрикрепленныеФайлыPath.Доступность = ДомКлик И АдминистрированиеЗаявок;
  1656. Элементы.ПрикрепленныеФайлыname.Доступность = ДомКлик И АдминистрированиеЗаявок;
  1657. Элементы.ПрикрепленныеФайлыСтатусДокумента.Доступность = ДомКлик И АдминистрированиеЗаявок;
  1658.  
  1659. Элементы.ID_Заявки.Доступность = ДомКлик И АдминистрированиеЗаявок;
  1660. Элементы.Ответственный.Доступность = ДомКлик И АдминистрированиеЗаявок;
  1661.  
  1662. Если ДомКлик И ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  1663. Элементы.ОтделениеБанка.Доступность = АдминистрированиеЗаявок;
  1664. Элементы.РекомендуемыйБанк.Доступность = АдминистрированиеЗаявок;
  1665. Элементы.ВидКредита.Доступность = АдминистрированиеЗаявок;
  1666. КонецЕсли;
  1667.  
  1668. Элементы.ГруппаСопутствующиеДанные.ТолькоПросмотр = Ложь;
  1669.  
  1670. Если ДомКлик Тогда
  1671. ДоступностьПоСтатусу = Ложь;
  1672. Если НЕ ЗначениеЗаполнено(Объект.СтатусЗаявки)
  1673. ИЛИ Объект.СтатусЗаявки = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьСтатусЗаявкиПоID(8060)
  1674. ИЛИ Объект.СтатусЗаявки = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьСтатусЗаявкиПоID(8090) Тогда
  1675. ДоступностьПоСтатусу = Истина;
  1676. КонецЕсли;
  1677. //Элементы.Дополнительная.Доступность = ДоступностьПоСтатусу;
  1678. Элементы.Анкеты.Доступность = ДоступностьПоСтатусу ИЛИ АдминистрированиеЗаявок;
  1679. Элементы.ГруппаПрикрепленныеФайлы.Доступность = ДоступностьПоСтатусу ИЛИ АдминистрированиеЗаявок;
  1680. Элементы.ГруппаДанныеПоКлиентуДляОтправки.ТолькоПросмотр = Ложь;//Объект.УспешнаяОтправка И НЕ АдминистрированиеЗаявок;
  1681. Элементы.ОбодреннаяСуммаКредитаВРублях.Видимость = Истина;
  1682. Элементы.ОбодреннаяСуммаКредитаВРублях.Доступность = АдминистрированиеЗаявок;
  1683. //Элементы.ПроцентнаяСтавка.Доступность = АдминистрированиеЗаявок;
  1684. КонецЕсли;
  1685. //<897513> }
  1686.  
  1687. //<940395>, Басаргин (27.02.2019) {
  1688. Если НЕ ДомКлик Тогда
  1689. Элементы.ГруппаДанныеПоКлиентуДляОтправки.ТолькоПросмотр = Ложь;
  1690. Элементы.ПроцентнаяСтавка.Видимость = Истина;
  1691. Элементы.ПроцентнаяСтавка.Доступность = Истина;
  1692. Элементы.ПроцентнаяСтавка.ТолькоПросмотр = Ложь;
  1693. Элементы.ОбодреннаяСуммаКредитаВРублях.Видимость = Истина;
  1694. Элементы.ОбодреннаяСуммаКредитаВРублях.Доступность = Истина;
  1695. Элементы.ОбодреннаяСуммаКредитаВРублях.ТолькоПросмотр = Ложь;
  1696. Если ТолькоОтправкаПисем Тогда
  1697. Элементы.ПрикрепленныеФайлыID.Видимость = Ложь;
  1698. КонецЕсли;
  1699. Элементы.ПрикрепленныеФайлыApplicationID.Видимость = ДомКлик;
  1700. КонецЕсли;
  1701. //<940395> }
  1702.  
  1703. КонецПроцедуры
  1704.  
  1705. &НаСервере
  1706. Процедура ОбновитьТаблицуФайлов(Анкета = Неопределено, ApplicationID = 0, ID_ТипДокумента = 0)
  1707.  
  1708. КолВоФайлов = Объект.ПрикрепленныеФайлы.Количество();
  1709.  
  1710. Запрос = Новый Запрос;
  1711. Запрос.Текст =
  1712. "ВЫБРАТЬ
  1713. | Файлы.Ссылка КАК Ссылка,
  1714. | Файлы.ДатаСоздания КАК ДатаСоздания,
  1715. | Файлы.ИндексКартинки КАК ИндексКартинки
  1716. |ИЗ
  1717. | Справочник.ИпотечнаяЗаявкаПрисоединенныеФайлы КАК Файлы
  1718. |ГДЕ
  1719. | Файлы.ВладелецФайла = &ВладелецФайла
  1720. | И Файлы.ВладелецФайла ССЫЛКА Документ.ИпотечнаяЗаявка
  1721. | И НЕ Файлы.ПометкаУдаления
  1722. |
  1723. |ОБЪЕДИНИТЬ
  1724. |
  1725. |ВЫБРАТЬ
  1726. | Файлы.Файл,
  1727. | Файлы.Файл.ДатаСоздания,
  1728. | Файлы.Файл.ИндексКартинки
  1729. |ИЗ
  1730. | Документ.ИпотечнаяЗаявка.ПрикрепленныеФайлы КАК Файлы
  1731. |ГДЕ
  1732. | Файлы.Ссылка = &ВладелецФайла
  1733. | И Файлы.Файл ССЫЛКА Справочник.РасчетИпотекиПрисоединенныеФайлы
  1734. | И НЕ Файлы.Файл.ПометкаУдаления";
  1735.  
  1736. Запрос.УстановитьПараметр("ВладелецФайла", Объект.Ссылка);
  1737.  
  1738. РезультатЗапроса = Запрос.Выполнить();
  1739. Если НЕ РезультатЗапроса.Пустой() Тогда
  1740. ТекущиеФайлы = Новый Массив;
  1741. Выборка = РезультатЗапроса.Выбрать();
  1742. Если КолВоФайлов < Выборка.Количество() Тогда
  1743. Пока Выборка.Следующий() Цикл
  1744. НайденныеСтроки = Объект.ПрикрепленныеФайлы.НайтиСтроки(Новый Структура("Файл", Выборка.Ссылка));
  1745. Если НЕ НайденныеСтроки.Количество() Тогда
  1746. НоваяСтрока = Объект.ПрикрепленныеФайлы.Добавить();
  1747. НоваяСтрока.Файл = Выборка.Ссылка;
  1748. НоваяСтрока.Отправлять = Истина;
  1749. НоваяСтрока.path = ЗаявкиНаКредитRestAPI.ПолучитьПутьКФайлу(НоваяСтрока.Файл);
  1750. НоваяСтрока.ИндексКартинки = Выборка.ИндексКартинки;
  1751. //<897513>, Басаргин (27.11.2018) {
  1752. Если ЗначениеЗаполнено(Анкета) Тогда
  1753. НоваяСтрока.Анкета = Анкета;
  1754. НоваяСтрока.ApplicationID = ApplicationID;
  1755. НоваяСтрока.ТипДокумента = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьТипДокументаПоID(ID_ТипДокумента);
  1756. КонецЕсли;
  1757. //<897513> }
  1758. КонецЕсли;
  1759. КонецЦикла;
  1760. Иначе
  1761. Пока Выборка.Следующий() Цикл
  1762. НайденныеСтроки = Объект.ПрикрепленныеФайлы.НайтиСтроки(Новый Структура("Файл", Выборка.Ссылка));
  1763. Для каждого СтрокаФайл Из НайденныеСтроки Цикл
  1764. ТекущиеФайлы.Добавить(СтрокаФайл);
  1765. КонецЦикла;
  1766. КонецЦикла;
  1767. КонецЕсли;
  1768. Если ТекущиеФайлы.Количество() Тогда
  1769. Объект.ПрикрепленныеФайлы.Очистить();
  1770. Для каждого СтрокаФайл Из ТекущиеФайлы Цикл
  1771. НоваяСтрока = Объект.ПрикрепленныеФайлы.Добавить();
  1772. ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаФайл);
  1773. КонецЦикла;
  1774. КонецЕсли;
  1775. КонецЕсли;
  1776. Если НЕ КолВоФайлов = Объект.ПрикрепленныеФайлы.Количество() Тогда
  1777. Модифицированность = Истина;
  1778. КонецЕсли;
  1779.  
  1780. КонецПроцедуры
  1781.  
  1782. &НаСервере
  1783. Процедура ЗаполнитьИпотечныеБанки()
  1784.  
  1785. Запрос = Новый Запрос;
  1786. Запрос.Текст =
  1787. "ВЫБРАТЬ
  1788. | ИпотечныеБанки.Ссылка КАК Ссылка
  1789. |ИЗ
  1790. | Справочник.Банки КАК ИпотечныеБанки
  1791. |ГДЕ
  1792. | НЕ ИпотечныеБанки.ПараметрыПодключения = ЗНАЧЕНИЕ(Справочник.ПараметрыПодключенияAPIИпотечныхБанков.ПустаяСсылка)";
  1793.  
  1794. РезультатЗапроса = Запрос.Выполнить();
  1795. Если НЕ РезультатЗапроса.Пустой() Тогда
  1796. ДоступныеБанки.ЗагрузитьЗначения(РезультатЗапроса.Выгрузить().ВыгрузитьКолонку("Ссылка"));
  1797. КонецЕсли;
  1798.  
  1799. КонецПроцедуры
  1800.  
  1801. &НаСервере
  1802. Процедура РекомендуемыйБанкПриИзмененииНаСервере()
  1803.  
  1804. Объект.ПараметрыПодключения = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.РекомендуемыйБанк, "ПараметрыПодключения");
  1805. УправлениеВидимостьюДоступностью();
  1806. Если Объект.Черновик И ТолькоОтправкаПисем Тогда
  1807. Объект.Черновик = Ложь;
  1808. КонецЕсли;
  1809.  
  1810. КонецПроцедуры
  1811.  
  1812. &НаСервере
  1813. Процедура ОтправитьОповещение()
  1814. УправлениеИпотечнымиЗаявкамиДомКлик.ОтправитьОповещениеОбИзмененииСтатуса(УправлениеИпотечнымиЗаявкамиДомКлик.СобратьСтруктуруПисьмаДляМенеджера(РеквизитФормыВЗначение("Объект")));
  1815. КонецПроцедуры
  1816.  
  1817. &НаКлиенте
  1818. Процедура ПослеЗакрытияВопросаОЗаписи(Результат, ДополнительныеПараметры) Экспорт
  1819.  
  1820. Если Результат = КодВозвратаДиалога.Нет Тогда
  1821. Возврат;
  1822. КонецЕсли;
  1823.  
  1824. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись));
  1825.  
  1826. Если ДополнительныеПараметры.Свойство("CallBack") И ТипЗнч(ДополнительныеПараметры.CallBack) = Тип("ОписаниеОповещения") Тогда
  1827. ВыполнитьОбработкуОповещения(ДополнительныеПараметры.CallBack);
  1828. КонецЕсли;
  1829.  
  1830. КонецПроцедуры
  1831.  
  1832. &НаКлиенте
  1833. Процедура ПослеЗакрытияВопросаМенеджеру(Результат, ДополнительныеПараметры) Экспорт
  1834.  
  1835. Если Результат = КодВозвратаДиалога.Нет Тогда
  1836. Возврат;
  1837. КонецЕсли;
  1838.  
  1839. Если Модифицированность Тогда
  1840. Записать();
  1841. КонецЕсли;
  1842.  
  1843. ОтправитьОповещение();
  1844.  
  1845. КонецПроцедуры
  1846.  
  1847. &НаКлиенте
  1848. Процедура ВыполнитьОтправку_Асинхр(Результат, ДополнительныеПараметры) Экспорт
  1849.  
  1850. Если ТолькоОтправкаПисем Тогда
  1851. ОтправитьПоПочте();
  1852. Иначе
  1853. ОтправитьИпотечнуюЗаявку();
  1854. КонецЕсли;
  1855.  
  1856. КонецПроцедуры
  1857.  
  1858. &НаКлиенте
  1859. Процедура ОтправитьПоПочте()
  1860.  
  1861. //Попытка
  1862. // Outlook = Новый COMОбъект("Outlook.Application");
  1863. //Исключение
  1864. // ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось создать объект Outlook.Application");
  1865. // Возврат;
  1866. //КонецПопытки;
  1867. //
  1868. //КонтекстПисьма = ПолучитьКонтекстПисьма();
  1869. //
  1870. //Если КонтекстПисьма = Неопределено Тогда
  1871. // ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Контекст письма не определен");
  1872. // Возврат;
  1873. //КонецЕсли;
  1874. //
  1875. //Accounts = Outlook.Session.Accounts;
  1876. //ИспользуемыеАккаунты = Новый СписокЗначений;
  1877. //Для каждого Account Из Accounts Цикл
  1878. // ИспользуемыеАккаунты.Добавить(Account.DisplayName);
  1879. // //ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Account = " + Account.DisplayName + " / " + Account.AccountType);
  1880. //КонецЦикла;
  1881. //
  1882. //Письмо = Outlook.CreateItem(0);
  1883. //Письмо.Importance = 2;
  1884. //Письмо.Subject = "~~" + Объект.РекомендуемыйБанк + ". Заявка клиента " + Объект.ФИОКлиента + ", проект " + Объект.Проект;
  1885. ////Письмо.Body = ЗаявкиНаКредитRestAPI.ПодготовитьТелоПисьмаДляОтправкиПочтовойЗаявки(Объект);
  1886. //Письмо.HTMLBody = КонтекстПисьма.HTMLBody;
  1887. //Для каждого ПочтаПолучателяЗаявок Из КонтекстПисьма.МассивПолучателей Цикл
  1888. // Письмо.Recipients.Add(ПочтаПолучателяЗаявок);
  1889. //КонецЦикла;
  1890. ////Письмо.To = КонтекстПисьма.ПочтаПолучателяЗаявок;
  1891. ////Письмо.Cc = КонтекстПисьма.АдресДляРассылки_common;
  1892. ////Письмо.SentOnBehalfOfName = КонтекстПисьма.АдресЭлектроннойПочты;//КонтекстПисьма.АдресДляРассылки;
  1893. ////Письмо.SenderEmailAddress = ?
  1894. ////Письмо.SendUsingAccount = ?
  1895. //
  1896. //Для каждого СтрокаФайл Из Объект.ПрикрепленныеФайлы Цикл
  1897. // Если НЕ СтрокаФайл.Отправлять Тогда
  1898. // Продолжить;
  1899. // КонецЕсли;
  1900. // ИмяФайла = ?(ЗначениеЗаполнено(СтрокаФайл.path), СтрокаФайл.path, ЗаявкиНаКредитRestAPI.ПолучитьПутьКФайлу(СтрокаФайл.Файл));
  1901. // РазмерФайлаМБ = ЗначениеРеквизитаОбъектаНаСервере(СтрокаФайл.Файл, "Размер") / 1000000;
  1902. // Если РазмерФайлаМБ > 10 Тогда
  1903. // МассивФайлов = РазделитьФайл(ИмяФайла, 10 * 1000000); //10 * 1024 * 1024
  1904. // Для каждого Файл Из МассивФайлов Цикл
  1905. // Письмо.Attachments.Add(Файл);
  1906. // КонецЦикла;
  1907. // Иначе
  1908. // Письмо.Attachments.Add(ИмяФайла);
  1909. // КонецЕсли;
  1910. //КонецЦикла;
  1911. //
  1912. //Письмо.Display();
  1913. //
  1914. //ЗаписатьФактОтправкиЗаявкиПоПочте();
  1915.  
  1916. //анализ прикрепленных файлов
  1917. ПрикрепленныеФайлы = Новый Массив;
  1918.  
  1919. СуммарныйыРазмерФайлов = 0;
  1920. ПорядковыйНомер = 0;
  1921.  
  1922. Письма = Новый Массив;
  1923. СтруктураПисьма = Новый Структура("ПорядковыйНомер, ПрикрепленныеФайлы", ПорядковыйНомер, ПрикрепленныеФайлы);
  1924.  
  1925. Для каждого СтрокаФайл Из Объект.ПрикрепленныеФайлы Цикл
  1926. Если НЕ СтрокаФайл.Отправлять Тогда
  1927. Продолжить;
  1928. КонецЕсли;
  1929.  
  1930. ИмяФайла = ?(ЗначениеЗаполнено(СтрокаФайл.path), СтрокаФайл.path, ЗаявкиНаКредитRestAPI.ПолучитьПутьКФайлу(СтрокаФайл.Файл));
  1931.  
  1932. //ОповещениеОЗавершении = Новый ОписаниеОповещения("ВыполнитьПослеПомещенияФайла", ЭтотОбъект, );
  1933. //НачатьПомещениеФайла(ОповещениеОЗавершении, , ИмяФайла, Ложь, ЭтаФорма.УникальныйИдентификатор);
  1934. АдресФайлаНаСервере = ПолучитьАдресФайла(ИмяФайла);
  1935.  
  1936. РазмерФайлаМБ = ЗначениеРеквизитаОбъектаНаСервере(СтрокаФайл.Файл, "Размер") / 1000000;
  1937. СуммарныйыРазмерФайлов = СуммарныйыРазмерФайлов + РазмерФайлаМБ;
  1938.  
  1939. //Если СуммарныйыРазмерФайлов > 10 Тогда
  1940. // //Письма.Добавить(Новый Структура("ПорядковыйНомер, ПрикрепленныеФайлы", ПорядковыйНомер, ПрикрепленныеФайлы));
  1941. // //ПрикрепленныеФайлы = Новый Массив;
  1942. //
  1943. // СуммарныйыРазмерФайлов = РазмерФайлаМБ;
  1944. // ПорядковыйНомер = ПорядковыйНомер + 1;
  1945. //
  1946. // Если РазмерФайлаМБ > 10 Тогда
  1947. // МассивФайлов = РазделитьФайл(ИмяФайла, 10 * 1000000); //10 * 1024 * 1024
  1948. // Для каждого Файл Из МассивФайлов Цикл
  1949. // ПрикрепленныеФайлы = Новый Массив;
  1950. // ПрикрепленныеФайлы.Добавить(Файл);
  1951. //
  1952. // //
  1953. //
  1954. //
  1955. //
  1956. // Письма.Добавить(Новый Структура("ПорядковыйНомер, ПрикрепленныеФайлы", ПорядковыйНомер, ПрикрепленныеФайлы));
  1957. // ПорядковыйНомер = ПорядковыйНомер + 1;
  1958. // КонецЦикла;
  1959. // ПрикрепленныеФайлы = Новый Массив;
  1960. // СуммарныйыРазмерФайлов = 0;
  1961. // Иначе
  1962. // ПрикрепленныеФайлы.Добавить(ИмяФайла);
  1963. // КонецЕсли;
  1964. //Иначе
  1965. // ПрикрепленныеФайлы.Добавить(ИмяФайла);
  1966. //КонецЕсли;
  1967.  
  1968. КонецЦикла;
  1969.  
  1970. Если ПрикрепленныеФайлы.Количество() Тогда
  1971. Письма.Добавить(Новый Структура("ПорядковыйНомер, ПрикрепленныеФайлы", ПорядковыйНомер, ПрикрепленныеФайлы));
  1972. КонецЕсли;
  1973.  
  1974. Для каждого Письмо Из Письма Цикл
  1975. ОтправитьПисьмо(Письмо.ПрикрепленныеФайлы, Письмо.ПорядковыйНомер);
  1976. КонецЦикла;
  1977.  
  1978. //Письма = СформироватьПисьмаНаСервере();
  1979. //Для каждого Письмо Из Письма Цикл
  1980. // ПрикрепленныеФайлы = Новый Массив;
  1981. // Для каждого ПрикрепленныйФайл Из Письмо.ПрикрепленныеФайлы Цикл
  1982. // Если ЭтоАдресВременногоХранилища(ПрикрепленныйФайл.АдресВХранилище) Тогда
  1983. // ДвоичныеДанные = ПолучитьИзВременногоХранилища(ПрикрепленныйФайл.АдресВХранилище);
  1984. // //ИмяВременногоФайла = ПолучитьИмяВременногоФайла(ПрикрепленныйФайл.РасширениеФайла);
  1985. // Каталог = КаталогВременныхФайлов();
  1986. //
  1987. // ИмяВременногоФайла = Каталог + ПрикрепленныйФайл.НаименованиеФайла + ПрикрепленныйФайл.РасширениеФайла;
  1988. //
  1989. // ДвоичныеДанные.Записать(ИмяВременногоФайла);
  1990. // ФайлНаДиске = Новый Файл(ИмяВременногоФайла);
  1991. // Если ФайлНаДиске.Существует() Тогда
  1992. // ПрикрепленныеФайлы.Добавить(ИмяВременногоФайла);
  1993. // КонецЕсли;
  1994. // КонецЕсли;
  1995. // КонецЦикла;
  1996. // ОтправитьПисьмо(ПрикрепленныеФайлы, Письмо.ПорядковыйНомер);
  1997. //КонецЦикла;
  1998.  
  1999. //ЗаписатьФактОтправкиЗаявкиПоПочте();
  2000.  
  2001. КонецПроцедуры
  2002.  
  2003. //<976350>, Басаргин (22.05.2019) {
  2004. &НаКлиенте
  2005. Процедура ПередатьФайлыССервераНаКлиент(ПрикрепленныеФайлы, СуммарныйыРазмерФайлов, Письма)
  2006.  
  2007. Если СуммарныйыРазмерФайлов > 10 Тогда
  2008. //Письма.Добавить(Новый Структура("ПорядковыйНомер, ПрикрепленныеФайлы", ПорядковыйНомер, ПрикрепленныеФайлы));
  2009. //ПрикрепленныеФайлы = Новый Массив;
  2010.  
  2011. СуммарныйыРазмерФайлов = РазмерФайлаМБ;
  2012. ПорядковыйНомер = ПорядковыйНомер + 1;
  2013.  
  2014. Если РазмерФайлаМБ > 10 Тогда
  2015. МассивФайлов = РазделитьФайл(ИмяФайла, 10 * 1000000); //10 * 1024 * 1024
  2016. Для каждого Файл Из МассивФайлов Цикл
  2017. ПрикрепленныеФайлы = Новый Массив;
  2018. ПрикрепленныеФайлы.Добавить(Файл);
  2019.  
  2020. //
  2021.  
  2022. Письма.Добавить(Новый Структура("ПорядковыйНомер, ПрикрепленныеФайлы", ПорядковыйНомер, ПрикрепленныеФайлы));
  2023. ПорядковыйНомер = ПорядковыйНомер + 1;
  2024. КонецЦикла;
  2025. ПрикрепленныеФайлы = Новый Массив;
  2026. СуммарныйыРазмерФайлов = 0;
  2027. Иначе
  2028. ПрикрепленныеФайлы.Добавить(ИмяФайла);
  2029. КонецЕсли;
  2030. Иначе
  2031. ПрикрепленныеФайлы.Добавить(ИмяФайла);
  2032. КонецЕсли;
  2033.  
  2034. КонецПроцедуры
  2035.  
  2036. &НаКлиенте
  2037. Процедура ПередатьФайлССервераНаКлиент(ПутьСохраненияФайла, АдресФайлаВХранилище)
  2038.  
  2039. Если НЕ ЭтоАдресВременногоХранилища(АдресФайлаВХранилище) Тогда
  2040. Возврат;
  2041. КонецЕсли;
  2042.  
  2043. ОповещениеОЗавершении = Новый ОписаниеОповещения("ВыполнитьПослеПолученияФайлов", ЭтотОбъект);
  2044.  
  2045. ПолучаемыеФайлы = Новый Массив;
  2046. ПолучаемыеФайлы.Добавить(Новый ОписаниеПередаваемогоФайла(ПутьСохраненияФайла, АдресФайлаВХранилище));
  2047.  
  2048. НачатьПолучениеФайлов(ОповещениеОЗавершении, ПолучаемыеФайлы, , Ложь);
  2049.  
  2050. КонецПроцедуры
  2051.  
  2052. &НаКлиенте
  2053. Процедура ВыполнитьПослеПолученияФайлов(ПолученныеФайлы, ДополнительныеПараметры) Экспорт
  2054.  
  2055. Для Каждого Файл Из ПолученныеФайлы Цикл
  2056. //Сообщить("Получен " + Файл.Имя + " из " + Файл.Хранение);
  2057. КонецЦикла;
  2058.  
  2059. КонецПроцедуры
  2060.  
  2061. &НаСервере
  2062. Функция ПолучитьАдресФайла(ПутьНаСервере)
  2063.  
  2064. Файл = Новый Файл(ПутьНаСервере);
  2065. Если НЕ Файл.Существует() Тогда
  2066. Возврат "";
  2067. КонецЕсли;
  2068.  
  2069. Двоичное = Новый ДвоичныеДанные(ПутьНаСервере);
  2070. Адрес = ПоместитьВоВременноеХранилище(Двоичное, УникальныйИдентификатор);
  2071.  
  2072. Возврат Адрес;
  2073.  
  2074. КонецФункции
  2075.  
  2076. &НаСервере
  2077. Функция СформироватьПисьмаНаСервере()
  2078.  
  2079. УстановитьПривилегированныйРежим(Истина);
  2080.  
  2081. ПрикрепленныеФайлы = Новый Массив;
  2082.  
  2083. СуммарныйыРазмерФайлов = 0;
  2084. ПорядковыйНомер = 0;
  2085.  
  2086. Письма = Новый Массив;
  2087.  
  2088. Для каждого СтрокаФайл Из Объект.ПрикрепленныеФайлы Цикл
  2089. Если НЕ СтрокаФайл.Отправлять Тогда
  2090. Продолжить;
  2091. КонецЕсли;
  2092.  
  2093. ИмяФайла = ?(ЗначениеЗаполнено(СтрокаФайл.path), СтрокаФайл.path, ЗаявкиНаКредитRestAPI.ПолучитьПутьКФайлу(СтрокаФайл.Файл));
  2094. ПередаваемыйФайл = Новый Файл(ИмяФайла);
  2095. РасширениеФайла = ПередаваемыйФайл.Расширение;
  2096. НаименованиеФайла = ПередаваемыйФайл.ИмяБезРасширения;
  2097.  
  2098. РазмерФайлаМБ = ЗначениеРеквизитаОбъектаНаСервере(СтрокаФайл.Файл, "Размер") / 1000000;
  2099.  
  2100. СуммарныйыРазмерФайлов = СуммарныйыРазмерФайлов + РазмерФайлаМБ;
  2101.  
  2102. Если СуммарныйыРазмерФайлов > 10 Тогда
  2103. ПрикрепленныеФайлы = Новый Массив;
  2104.  
  2105. СуммарныйыРазмерФайлов = РазмерФайлаМБ;
  2106. ПорядковыйНомер = ПорядковыйНомер + 1;
  2107.  
  2108. Если РазмерФайлаМБ > 10 Тогда
  2109. МассивФайлов = РазделитьФайл(ИмяФайла, 10 * 1000000); //10 * 1024 * 1024
  2110. Для каждого Файл Из МассивФайлов Цикл
  2111. ФайлНаДиске = Новый Файл(Файл);
  2112. Если НЕ ФайлНаДиске.Существует() Тогда
  2113. Продолжить;
  2114. КонецЕсли;
  2115.  
  2116. ПрикрепленныеФайлы = Новый Массив;
  2117. ПрикрепленныеФайлы.Добавить(Новый Структура("АдресВХранилище, НаименованиеФайла, РасширениеФайла", ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(Файл), УникальныйИдентификатор), НаименованиеФайла, РасширениеФайла + ФайлНаДиске.Расширение));
  2118.  
  2119. Письма.Добавить(Новый Структура("ПорядковыйНомер, ПрикрепленныеФайлы", ПорядковыйНомер, ПрикрепленныеФайлы));
  2120. ПорядковыйНомер = ПорядковыйНомер + 1;
  2121. КонецЦикла;
  2122. Иначе
  2123. ПрикрепленныеФайлы.Добавить(Новый Структура("АдресВХранилище, НаименованиеФайла, РасширениеФайла", ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяФайла), УникальныйИдентификатор), НаименованиеФайла, РасширениеФайла));
  2124. КонецЕсли;
  2125. Иначе
  2126. ПрикрепленныеФайлы.Добавить(Новый Структура("АдресВХранилище, НаименованиеФайла, РасширениеФайла", ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяФайла), УникальныйИдентификатор), НаименованиеФайла, РасширениеФайла)); //ИмяФайла
  2127. КонецЕсли;
  2128. КонецЦикла;
  2129.  
  2130. Если ПрикрепленныеФайлы.Количество() Тогда
  2131. Письма.Добавить(Новый Структура("ПорядковыйНомер, ПрикрепленныеФайлы", ПорядковыйНомер, ПрикрепленныеФайлы));
  2132. КонецЕсли;
  2133.  
  2134. Возврат Письма;
  2135.  
  2136. КонецФункции
  2137.  
  2138. //&НаКлиенте
  2139. //Процедура ПередачаФайлаСКлиентаНаСервер()
  2140. //
  2141. //КонецПроцедуры
  2142.  
  2143. //&НаКлиенте
  2144. //Процедура ВыполнитьПослеПомещенияФайла(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
  2145. //
  2146. // Если Результат Тогда
  2147. //
  2148. // // сохраним полученный адрес в реквизит формы
  2149. // АдресФайлаВХранилище = Адрес;
  2150. //
  2151. // Сообщить(
  2152. // "Наконец-то! Файл " +
  2153. // ВыбранноеИмяФайла + " передан на сервер и сохранён во " +
  2154. // "временном хранилище по адресу " + Адрес);
  2155. //
  2156. // Иначе
  2157. //
  2158. // Сообщить("Не удалось передать файл на сервер.");
  2159. //
  2160. // КонецЕсли;
  2161. //
  2162. //КонецПроцедуры
  2163. //<976350> }
  2164.  
  2165. &НаКлиенте
  2166. Процедура ОтправитьПисьмо(ПрикрепленныеФайлы, ПорядковыйНомер)
  2167.  
  2168. Попытка
  2169. Outlook = Новый COMОбъект("Outlook.Application");
  2170. Исключение
  2171. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось создать объект Outlook.Application");
  2172. Возврат;
  2173. КонецПопытки;
  2174.  
  2175. КонтекстПисьма = ПолучитьКонтекстПисьма();
  2176.  
  2177. Если КонтекстПисьма = Неопределено Тогда
  2178. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Контекст письма не определен");
  2179. Возврат;
  2180. КонецЕсли;
  2181.  
  2182. Accounts = Outlook.Session.Accounts;
  2183. ИспользуемыеАккаунты = Новый СписокЗначений;
  2184. Для каждого Account Из Accounts Цикл
  2185. ИспользуемыеАккаунты.Добавить(Account.DisplayName);
  2186. //ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Account = " + Account.DisplayName + " / " + Account.AccountType);
  2187. КонецЦикла;
  2188.  
  2189. Письмо = Outlook.CreateItem(0);
  2190. Письмо.Importance = 2;
  2191. Письмо.Subject = "~~" + Объект.РекомендуемыйБанк + ". Заявка клиента " + Объект.ФИОКлиента + ", проект " + Объект.Проект + ?(НЕ ЗначениеЗаполнено(ПорядковыйНомер), "", "[" + ПорядковыйНомер + "]");
  2192. //Письмо.Body = ЗаявкиНаКредитRestAPI.ПодготовитьТелоПисьмаДляОтправкиПочтовойЗаявки(Объект);
  2193. Письмо.HTMLBody = КонтекстПисьма.HTMLBody;
  2194. Для каждого ПочтаПолучателяЗаявок Из КонтекстПисьма.МассивПолучателей Цикл
  2195. Письмо.Recipients.Add(ПочтаПолучателяЗаявок);
  2196. КонецЦикла;
  2197. //Письмо.To = КонтекстПисьма.ПочтаПолучателяЗаявок;
  2198. //Письмо.Cc = КонтекстПисьма.АдресДляРассылки_common;
  2199. //Письмо.SentOnBehalfOfName = КонтекстПисьма.АдресЭлектроннойПочты;//КонтекстПисьма.АдресДляРассылки;
  2200. //Письмо.SenderEmailAddress = ?
  2201. //Письмо.SendUsingAccount = ?
  2202.  
  2203. Для каждого Файл Из ПрикрепленныеФайлы Цикл
  2204. Письмо.Attachments.Add(Файл);
  2205. КонецЦикла;
  2206.  
  2207. Письмо.Display();
  2208.  
  2209. //ЗаписатьФактОтправкиЗаявкиПоПочте();
  2210.  
  2211. КонецПроцедуры
  2212.  
  2213. &НаКлиенте
  2214. Процедура ЗаписатьФактОтправкиЗаявкиПоПочте()
  2215.  
  2216. ТекущаяДата = ТекущаяДата();
  2217.  
  2218. Объект.ДатаПодачиЗаявки = ТекущаяДата;
  2219. Объект.ID_Заявки = 0;
  2220. Объект.Черновик = Ложь;
  2221. Объект.ДатаУстановкиСтатуса = ТекущаяДата;
  2222. Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.ЗаявкаНаправленаВБанк");
  2223. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.ОтправленаПоПочте");
  2224. //Объект.ПредварительноеРешение = ПредопределенноеЗначение("Справочник.ПредварительныеРешенияБанков.ВРаботе");
  2225. Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ПустаяСсылка");
  2226. Объект.УспешнаяОтправка = Истина;
  2227.  
  2228. Для каждого СтрокаФайл Из Объект.ПрикрепленныеФайлы Цикл
  2229. Если СтрокаФайл.Отправлять Тогда
  2230. СтрокаФайл.create_date = ТекущаяДата;
  2231. СтрокаФайл.Отправлять = Ложь;
  2232. КонецЕсли;
  2233. КонецЦикла;
  2234.  
  2235. Для каждого СтрокаКомментарий Из Объект.КомментарииЗаявки Цикл
  2236. Если СтрокаКомментарий.Отправлять Тогда
  2237. СтрокаКомментарий.ДатаОтправки = ТекущаяДата;
  2238. СтрокаКомментарий.Отправлять = Ложь;
  2239. КонецЕсли;
  2240. КонецЦикла;
  2241.  
  2242. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
  2243.  
  2244. УправлениеВидимостьюДоступностью();
  2245.  
  2246. КонецПроцедуры
  2247.  
  2248. &НаСервере
  2249. Функция ПолучитьКонтекстПисьма()
  2250.  
  2251. ПараметрыПодключения = ЗаявкиНаКредитRestAPI.ПолучитьПараметрыПодключения(Объект.ПараметрыПодключения, Объект.Ответственный);
  2252. Если ПараметрыПодключения = Неопределено Тогда
  2253. Возврат Неопределено;
  2254. КонецЕсли;
  2255.  
  2256. //<935836>, Басаргин (26.02.2019) {
  2257. МассивПолучателей = Новый Массив;
  2258. Для каждого Строка Из Объект.ПараметрыПодключения.ПочтовыеАдресаПолучателейЗаявок Цикл
  2259. Если Строка.Проект.Пустая() Или Объект.Проект = Строка.Проект Тогда
  2260. МассивПолучателей.Добавить(Строка.ПочтаПолучателяЗаявок);
  2261. КонецЕсли;
  2262. КонецЦикла;
  2263.  
  2264. //Если ЗначениеЗаполнено(Объект.ОтделениеБанка) Тогда
  2265. // Запрос = Новый Запрос;
  2266. // Запрос.Текст =
  2267. // "ВЫБРАТЬ РАЗРЕШЕННЫЕ
  2268. // | ОтделенияИпотечныхБанковКонтактнаяИнформация.E_mail КАК E_mail
  2269. // |ИЗ
  2270. // | Справочник.ОтделенияИпотечныхБанков.КонтактнаяИнформация КАК ОтделенияИпотечныхБанковКонтактнаяИнформация
  2271. // |ГДЕ
  2272. // | ОтделенияИпотечныхБанковКонтактнаяИнформация.Ссылка = &Ссылка";
  2273. // Запрос.УстановитьПараметр("Ссылка", Объект.ОтделениеБанка);
  2274. //
  2275. // РезультатЗапроса = Запрос.Выполнить();
  2276. // Если НЕ РезультатЗапроса.Пустой() Тогда
  2277. // ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
  2278. // Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
  2279. // Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.E_mail) Тогда
  2280. // МассивПолучателей.Добавить(СокрЛП(ВыборкаДетальныеЗаписи.E_mail));
  2281. // КонецЕсли;
  2282. // КонецЦикла;
  2283. // КонецЕсли;
  2284. //КонецЕсли;
  2285. //
  2286. //Если НЕ МассивПолучателей.Количество() Тогда
  2287. // Для каждого Строка Из Объект.ПараметрыПодключения.ПочтовыеАдресаПолучателейЗаявок Цикл
  2288. // Если Строка.Проект.Пустая() Или Объект.Проект = Строка.Проект Тогда
  2289. // МассивПолучателей.Добавить(Строка.ПочтаПолучателяЗаявок);
  2290. // КонецЕсли;
  2291. // КонецЦикла;
  2292. //КонецЕсли;
  2293.  
  2294. ////Для каждого ДанныеОЗаемщике Из Объект.РасчетИпотеки.ДанныеОЗаемщиках Цикл
  2295. //// КлиентОбъект = ДанныеОЗаемщике.ФИО.ПолучитьОбъект();
  2296. //// Если КлиентОбъект = Неопределено Тогда
  2297. //// Продолжить;
  2298. //// КонецЕслИ;
  2299. //// СтруктураПоиска = Новый Структура("Вид, Тип", Справочники.ВидыКонтактнойИнформации.EmailКлиента, Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
  2300. //// НайденныеСтроки = КлиентОбъект.КонтактнаяИнформация.НайтиСтроки(Новый Структура("Вид, Тип", Справочники.ВидыКонтактнойИнформации.EmailКлиента, Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты));
  2301. //// Если НайденныеСтроки.Количество() Тогда
  2302. //// Для каждого НайденнаяСтрока Из НайденныеСтроки Цикл
  2303. //// ЭП_Клиента_Массив = СтрРазделить(НайденнаяСтрока.Представление, ";", Истина);
  2304. //// Для каждого ЭП_Клиента Из ЭП_Клиента_Массив Цикл
  2305. //// МассивПолучателей.Добавить(СокрЛП(ЭП_Клиента));
  2306. //// КонецЦикла;
  2307. //// КонецЦикла;
  2308. //// КонецЕсли;
  2309. ////КонецЦикла;
  2310. //<935836> }
  2311.  
  2312. //ЗначениеРеквизитаОбъектаНаСервере(Объект.ПараметрыПодключения, "ПочтаПолучателяЗаявок")
  2313.  
  2314. Возврат Новый Структура("АдресДляРассылки, АдресДляРассылки_common, АдресЭлектроннойПочты, МассивПолучателей, HTMLBody",
  2315. ПараметрыПодключения.АдресДляРассылки, ПараметрыПодключения.АдресДляРассылки_common, ЗаявкиНаКредитRestAPI.АдресЭлектроннойПочты(?(ЗначениеЗаполнено(Объект.Ответственный), Объект.Ответственный, Пользователи.ТекущийПользователь())),
  2316. МассивПолучателей, ЗаявкиНаКредитRestAPI.ПодготовитьТелоПисьмаДляОтправкиПочтовойЗаявки(Объект));
  2317.  
  2318. КонецФункции
  2319.  
  2320. &НаСервереБезКонтекста
  2321. Функция ЗначениеРеквизитаОбъектаНаСервере(Ссылка, ИмяРеквизита, ВыбратьРазрешенные = Ложь);
  2322. Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, ИмяРеквизита, ВыбратьРазрешенные);
  2323. КонецФункции
  2324.  
  2325. &НаКлиенте
  2326. Процедура ИзменитьЗаявку_Асинхр(Результат, ДополнительныеПараметры) Экспорт
  2327.  
  2328. Ошибки = "";
  2329. ID_Заявки = ЗаявкиНаКредитRestAPI.ИзменитьЗаявку(Объект.ПараметрыПодключения, Объект.Ссылка, Объект.ID_Заявки, ПочтовыйАдресОтправителя, Token, X_Auth_User, Объект.ТестоваяЗаявка, Ошибки);
  2330. Если Ошибки = "" Тогда
  2331. Если Объект.ID_Заявки = ID_Заявки Тогда
  2332. //Объект.ДатаПодачиЗаявки = ТекущаяДата();
  2333. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Данные заявки изменены");
  2334. Модифицированность = Истина;
  2335. Записать();
  2336. УправлениеВидимостьюДоступностью();
  2337. КонецЕсли;
  2338. Иначе
  2339. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при отправке заявки: " + Ошибки);
  2340. КонецЕсли;
  2341.  
  2342. КонецПроцедуры
  2343.  
  2344. &НаКлиенте
  2345. Процедура ДобавитьФайлы_Асинхр(Результат, ДополнительныеПараметры) Экспорт
  2346.  
  2347. //<897513>, Басаргин (27.11.2018) {
  2348. Если ДомКлик Тогда
  2349. ТекущиеДанные = Элементы.Анкеты.ТекущиеДанные;
  2350. Если ТекущиеДанные = Неопределено Тогда
  2351. Если НЕ Объект.Анкеты.Количество() Тогда
  2352. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Необходимо указать хотя бы одну анкету.", Объект.Ссылка, "Анкеты", "Объект");
  2353. Возврат;
  2354. КонецЕсли;
  2355. СписокАнкет = Новый СписокЗначений();
  2356. Для каждого СтрокаАнкеты Из Объект.Анкеты Цикл
  2357. СписокАнкет.Добавить(СтрокаАнкеты.Анкета);
  2358. КонецЦикла;
  2359. СписокАнкет.ПоказатьВыборЭлемента(Новый ОписаниеОповещения("ПослеВыбораАнкеты", ЭтаФорма), "Выберите анкету для привязки документов к нейу");
  2360. Иначе
  2361. РаботаСФайламиКлиент.ДобавитьФайлы(Объект.Ссылка, ЭтаФорма.УникальныйИдентификатор);
  2362. ОбновитьТаблицуФайлов(ТекущиеДанные.Анкета, ТекущиеДанные.ApplicationID, 20750);
  2363. КонецЕсли;
  2364. Иначе
  2365. //<897513> }
  2366. РаботаСФайламиКлиент.ДобавитьФайлы(Объект.Ссылка, ЭтаФорма.УникальныйИдентификатор);
  2367. ОбновитьТаблицуФайлов();
  2368. КонецЕсли;
  2369.  
  2370. КонецПроцедуры
  2371.  
  2372. &НаКлиенте
  2373. Процедура ВопросВыводитьХодОбновления(Результат, ДополнительныеПараметры) Экспорт
  2374.  
  2375. Если ДополнительныеПараметры.Свойство("CallBack") И ТипЗнч(ДополнительныеПараметры.CallBack) = Тип("ОписаниеОповещения") Тогда
  2376. ВыполнитьОбработкуОповещения(ДополнительныеПараметры.CallBack, Результат = КодВозвратаДиалога.Да);
  2377. КонецЕсли;
  2378.  
  2379. КонецПроцедуры
  2380.  
  2381. &НаКлиенте
  2382. Процедура ПолучитьДанныеЗаявки_Асинхр(Результат, ДополнительныеПараметры) Экспорт
  2383.  
  2384. Ошибки = "";
  2385. Если ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  2386. Данные = ЗаявкиНаКредитRestAPI.ПолучитьДанныеОЗаявке(Объект.ПараметрыПодключения, Объект.ID_Заявки, Token, X_Auth_User, Объект.ТестоваяЗаявка, Ошибки);
  2387. Если Ошибки = "" Тогда
  2388. Если ТипЗнч(Данные) = Тип("Структура") Тогда
  2389. Если Результат Тогда
  2390. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Данные заявки " + СтрЗаменить(Объект.ID_Заявки, Символы.НПП, "") + ":");
  2391. Для каждого Элемент Из Данные Цикл
  2392. Если ТипЗнч(Элемент.Значение) = Тип("Строка")
  2393. ИЛИ ТипЗнч(Элемент.Значение) = Тип("Число")
  2394. ИЛИ ТипЗнч(Элемент.Значение) = Тип("Булево")
  2395. ИЛИ Элемент.Значение = Неопределено Тогда
  2396. ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Элемент.Ключ + " : " + ?(ТипЗнч(Элемент.Значение) = Тип("Число"), СтрЗаменить(Элемент.Значение, Символы.НПП, ""), Элемент.Значение));
  2397. ИначеЕсли ТипЗнч(Элемент.Значение) = Тип("Массив") Тогда
  2398. ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Элемент.Ключ + ": ");
  2399. Для каждого ЭлементМассива Из Элемент.Значение Цикл
  2400. Если Элемент.Ключ = "comments" Тогда
  2401. ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Символы.Таб + "(" + СтрЗаменить(ЭлементМассива.id, Символы.НПП, "") + "):" + ЭлементМассива.text + " : " + ЭлементМассива.first_name + " " + ЭлементМассива.last_name);
  2402. ИначеЕсли Элемент.Ключ = "documents" Тогда
  2403. ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Символы.Таб + "(" + СтрЗаменить(ЭлементМассива.id, Символы.НПП, "") + "):" + ЭлементМассива.name + " : " + ЭлементМассива.url);
  2404. ИначеЕсли Элемент.Ключ = "status_history" Тогда
  2405. ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Символы.Таб + "(" + СтрЗаменить(ЭлементМассива.status, Символы.НПП, "") + "):" + ЭлементМассива.comment + "[" + ЭлементМассива.date + "]");
  2406. КонецЕсли;
  2407. КонецЦикла;
  2408. КонецЕсли;
  2409. КонецЦикла;
  2410. КонецЕсли;
  2411. УстановитьОбновляемыеЗначения(Данные);
  2412. КонецЕсли;
  2413. Иначе
  2414. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при получении данных заявки: " + Ошибки);
  2415. КонецЕсли;
  2416. Иначе
  2417. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заявка не отправлена");
  2418. КонецЕсли;
  2419.  
  2420. УправлениеВидимостьюДоступностью();
  2421.  
  2422. КонецПроцедуры
  2423.  
  2424. &НаСервере
  2425. Процедура РешениеБанкаПриИзмененииНаСервере()
  2426.  
  2427. Объект.ДатаРешенияБанка = ТекущаяДата();
  2428. Если Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ОдобрениеБанка") Тогда
  2429. //Объект.ПредварительноеРешение = ПредопределенноеЗначение("Справочник.ПредварительныеРешенияБанков.Одобрение");
  2430. Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.КредитОдобрен");
  2431. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Одобрение");
  2432. ИначеЕсли Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ОтказБанка") Тогда
  2433. //Объект.ПредварительноеРешение = ПредопределенноеЗначение("Справочник.ПредварительныеРешенияБанков.Отказ");
  2434. Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.Отказ");
  2435. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Отказ");
  2436. ИначеЕсли Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ОтказКлиентаОтРассмотрения") Тогда
  2437. //Объект.ПредварительноеРешение = ПредопределенноеЗначение("Справочник.ПредварительныеРешенияБанков.Отказ");
  2438. Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.ОтказКлиента");
  2439. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Отказ");
  2440. Иначе
  2441. //Объект.ПредварительноеРешение = ПредопределенноеЗначение("Справочник.ПредварительныеРешенияБанков.ПустаяСсылка");
  2442. Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.ПустаяСсылка");
  2443. Если Объект.УспешнаяОтправка Тогда
  2444. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.ОтправленаПоПочте");
  2445. Иначе
  2446. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.ПустаяСсылка");
  2447. КонецЕсли;
  2448. КонецЕсли;
  2449.  
  2450. //Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
  2451.  
  2452. УправлениеВидимостьюДоступностью();
  2453.  
  2454. КонецПроцедуры
  2455.  
  2456. //++ Юкаев Роман 20180122 (
  2457. &НаКлиенте
  2458. Процедура КонтактноеЛицоНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
  2459.  
  2460. СтандартнаяОбработка = Ложь;
  2461. ДанныеВыбора = ПолучитьСписокКлиентов(Объект.КонтактноеЛицо);
  2462.  
  2463. КонецПроцедуры
  2464.  
  2465. &НаСервере
  2466. Функция ПолучитьСписокКлиентов(ТекущееКонтактноеЛицо)
  2467.  
  2468. Запрос = Новый Запрос;
  2469. Запрос.Текст =
  2470. "ВЫБРАТЬ
  2471. | ЗаемщикиИпотечнойЗаявкиСрезПоследних.Клиент КАК Ссылка
  2472. |ИЗ
  2473. | РегистрСведений.ЗаемщикиИпотечнойЗаявки.СрезПоследних(&Период, Регистратор = &Документ) КАК ЗаемщикиИпотечнойЗаявкиСрезПоследних
  2474. |ГДЕ
  2475. | ЗаемщикиИпотечнойЗаявкиСрезПоследних.Клиент <> &ТекущееКонтактноеЛицо
  2476. |
  2477. |СГРУППИРОВАТЬ ПО
  2478. | ЗаемщикиИпотечнойЗаявкиСрезПоследних.Клиент
  2479. |
  2480. |УПОРЯДОЧИТЬ ПО
  2481. | ЗаемщикиИпотечнойЗаявкиСрезПоследних.Клиент";
  2482.  
  2483. Запрос.УстановитьПараметр("Документ", Объект.РасчетИпотеки);
  2484. Запрос.УстановитьПараметр("Период", ТекущаяДата());
  2485. Запрос.УстановитьПараметр("ТекущееКонтактноеЛицо", ТекущееКонтактноеЛицо);
  2486.  
  2487. Результат = Запрос.Выполнить();
  2488.  
  2489. Если Результат.Пустой() Тогда
  2490. Возврат Новый СписокЗначений;
  2491. Иначе
  2492. Выборка = Результат.Выбрать();
  2493. СписокЭлементов = Новый СписокЗначений;
  2494.  
  2495. Пока Выборка.Следующий() Цикл
  2496. СписокЭлементов.Добавить(Выборка.Ссылка);
  2497. КонецЦикла;
  2498.  
  2499. Возврат СписокЭлементов;
  2500. КонецЕсли;
  2501.  
  2502. КонецФункции
  2503.  
  2504. &НаКлиенте
  2505. Процедура ОчиститьКонтактныеДанные()
  2506.  
  2507. Объект.ДатаРожденияКлиента = Дата(1,1,1);
  2508. Объект.ФИОКлиента = "";
  2509. Объект.СерияНомерПаспорта = "";
  2510. Объект.АдресФактическогоПроживания = "";
  2511.  
  2512. КонецПроцедуры
  2513.  
  2514. &НаСервереБезКонтекста
  2515. Функция ПолучитьКонтактныеДанныеКлиента(Клиент)
  2516.  
  2517. СтруктураПараметров = Новый Структура("АдресФактическогоПроживания, ФИОКлиента, СерияНомерПаспорта, ДатаРожденияКлиента, НомерТелефона, EmailКлиента");
  2518.  
  2519. СтруктураПараметров.ДатаРожденияКлиента = Клиент.ДатаРождения;
  2520. СтруктураПараметров.ФИОКлиента = Клиент.ФИО;
  2521.  
  2522. Запрос = Новый Запрос;
  2523. Запрос.Текст =
  2524. "ВЫБРАТЬ
  2525. | КлиентыКонтактнаяИнформация.Представление КАК Представление,
  2526. | """" КАК Серия,
  2527. | """" КАК Номер,
  2528. | 1 КАК Ключ
  2529. |ИЗ
  2530. | Справочник.Клиенты.КонтактнаяИнформация КАК КлиентыКонтактнаяИнформация
  2531. |ГДЕ
  2532. | КлиентыКонтактнаяИнформация.Ссылка = &ФизЛицо
  2533. | И КлиентыКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
  2534. | И КлиентыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресМестаПроживанияКлиента)
  2535. |
  2536. |ОБЪЕДИНИТЬ ВСЕ
  2537. |
  2538. |ВЫБРАТЬ
  2539. | """",
  2540. | ДокументыФизическихЛицСрезПоследних.Серия,
  2541. | ДокументыФизическихЛицСрезПоследних.Номер,
  2542. | 2
  2543. |ИЗ
  2544. | РегистрСведений.ДокументыФизическихЛиц.СрезПоследних(
  2545. | &Период,
  2546. | ФизЛицо = &ФизЛицо
  2547. | И ВидДокумента = Значение(Справочник.ВидыДокументовФизическихЛиц.ПаспортРФ)) КАК ДокументыФизическихЛицСрезПоследних
  2548. |
  2549. |ОБЪЕДИНИТЬ ВСЕ
  2550. |
  2551. |ВЫБРАТЬ
  2552. | КлиентыКонтактнаяИнформация.Представление,
  2553. | """",
  2554. | """",
  2555. | 3
  2556. |ИЗ
  2557. | Справочник.Клиенты.КонтактнаяИнформация КАК КлиентыКонтактнаяИнформация
  2558. |ГДЕ
  2559. | КлиентыКонтактнаяИнформация.Ссылка = &ФизЛицо
  2560. | И КлиентыКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон)
  2561. | И КлиентыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ОсновнойТелефонКлиента)
  2562. |
  2563. |ОБЪЕДИНИТЬ ВСЕ
  2564. |
  2565. |ВЫБРАТЬ
  2566. | КлиентыКонтактнаяИнформация.Представление,
  2567. | """",
  2568. | """",
  2569. | 4
  2570. |ИЗ
  2571. | Справочник.Клиенты.КонтактнаяИнформация КАК КлиентыКонтактнаяИнформация
  2572. |ГДЕ
  2573. | КлиентыКонтактнаяИнформация.Ссылка = &ФизЛицо
  2574. | И КлиентыКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)
  2575. | И КлиентыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.EmailКлиента)";
  2576.  
  2577. Запрос.УстановитьПараметр("Период", ТекущаяДата());
  2578. Запрос.УстановитьПараметр("ФизЛицо", Клиент);
  2579.  
  2580. Результат = Запрос.Выполнить();
  2581.  
  2582. Если Результат.Пустой() Тогда
  2583. СтруктураПараметров.АдресФактическогоПроживания = "";
  2584. Иначе
  2585. Выборка = Результат.Выбрать();
  2586. Пока Выборка.Следующий() Цикл
  2587. Если Выборка.Ключ = 1 Тогда
  2588. СтруктураПараметров.АдресФактическогоПроживания = Выборка.Представление;
  2589. ИначеЕсли Выборка.Ключ = 2 Тогда
  2590. СтруктураПараметров.СерияНомерПаспорта = СтрЗаменить(Выборка.Серия, " ", "") + " " + СтрЗаменить(Выборка.Номер, " ", "");
  2591. ИначеЕсли Выборка.Ключ = 3 Тогда
  2592. СтруктураПараметров.НомерТелефона = Выборка.Представление;
  2593. ИначеЕсли Выборка.Ключ = 4 Тогда
  2594. СтруктураПараметров.EmailКлиента = Выборка.Представление;
  2595. КонецЕсли;
  2596. КонецЦикла;
  2597. КонецЕсли;
  2598.  
  2599. Возврат СтруктураПараметров;
  2600.  
  2601. КонецФункции
  2602. //-- Юкаев Роман 20180122 )
  2603.  
  2604. //<874899>, Басаргин (09.10.2018) {
  2605. // Создает новый файл по аналогии с указанным и возвращает ссылку на него.
  2606. // Параметры:
  2607. // ИсходныйФайл - СправочникСсылка.Файлы - существующий файл.
  2608. // ВладелецНовогоФайла - ЛюбаяСсылка - владелец файла.
  2609. //
  2610. // Возвращаемое значение:
  2611. // СправочникСсылка.Файлы - новый файл.
  2612. //
  2613. Функция СкопироватьФайл(ИсходныйФайл, ВладелецНовогоФайла)
  2614.  
  2615. Если ИсходныйФайл = Неопределено Или ИсходныйФайл.Пустая() Тогда
  2616. Возврат Неопределено;
  2617. КонецЕсли;
  2618.  
  2619. СведенияОФайле = РаботаСФайламиКлиентСервер.СведенияОФайле("ФайлСВерсией");
  2620. СведенияОФайле.Комментарий = ИсходныйФайл.Описание;
  2621. СведенияОФайле.ИмяБезРасширения = ИсходныйФайл.Наименование;
  2622. СведенияОФайле.ХранитьВерсии = ИсходныйФайл.ХранитьВерсии;
  2623. СведенияОФайле.ИмяСправочникаХранилищаФайлов = "РасчетИпотекиПрисоединенныеФайлы";
  2624.  
  2625. НовыйФайл = РаботаСФайламиСлужебныйВызовСервера.СоздатьФайл(ВладелецНовогоФайла, СведенияОФайле);
  2626.  
  2627. Если СведенияОФайле.ХранитьВерсии И Не ИсходныйФайл.ТекущаяВерсия().Пустая() Тогда
  2628. ТекущаяВерсия = ИсходныйФайл.ТекущаяВерсия();
  2629. Иначе
  2630. ТекущаяВерсия = ИсходныйФайл;
  2631. КонецЕсли;
  2632. ХранилищеФайла = Неопределено;
  2633. Если ИсходныйФайл.ТекущаяВерсия.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда
  2634. ХранилищеФайла = РаботаСФайлами.ХранилищеФайлаИзИнформационнойБазы(ТекущаяВерсия);
  2635. КонецЕсли;
  2636.  
  2637. СведенияОФайле.Размер = ТекущаяВерсия.Размер;
  2638. СведенияОФайле.РасширениеБезТочки = ТекущаяВерсия.Расширение;
  2639. СведенияОФайле.АдресВременногоХранилищаФайла = ХранилищеФайла;
  2640. СведенияОФайле.АдресВременногоХранилищаТекста = ТекущаяВерсия.ТекстХранилище;
  2641. СведенияОФайле.СсылкаНаВерсиюИсточник = ТекущаяВерсия;
  2642.  
  2643. Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
  2644.  
  2645. МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
  2646. ДоступнаЭлектроннаяПодпись = МодульЭлектроннаяПодписьСлужебный.ДоступнаЭлектроннаяПодпись(ТипЗнч(ИсходныйФайл));
  2647. Если ДоступнаЭлектроннаяПодпись Тогда
  2648.  
  2649. МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись");
  2650.  
  2651. Если ИсходныйФайл.ПодписанЭП Тогда
  2652.  
  2653. ФайлОбъект = НовыйФайл.ПолучитьОбъект();
  2654. ФайлОбъект.ПодписанЭП = Истина;
  2655. ФайлОбъект.Записать();
  2656.  
  2657. ЭлектронныеПодписиИсходногоФайла = МодульЭлектроннаяПодпись.УстановленныеПодписи(ИсходныйФайл);
  2658. Для Каждого ЭП Из ЭлектронныеПодписиИсходногоФайла Цикл
  2659. МенеджерЗаписи = РегистрыСведений["ЭлектронныеПодписи"].СоздатьМенеджерЗаписи();
  2660. МенеджерЗаписи.ПодписанныйОбъект = НовыйФайл;
  2661. ЗаполнитьЗначенияСвойств(МенеджерЗаписи, ЭП);
  2662. МенеджерЗаписи.Записать(Истина);
  2663. КонецЦикла;
  2664.  
  2665. КонецЕсли;
  2666.  
  2667. Если ИсходныйФайл.Зашифрован Тогда
  2668.  
  2669. ФайлОбъект = НовыйФайл.ПолучитьОбъект();
  2670. ФайлОбъект.Зашифрован = Истина;
  2671.  
  2672. ЭлектронныеПодписиИсходногоФайла = МодульЭлектроннаяПодпись.СертификатыШифрования(ИсходныйФайл);
  2673. Для Каждого Сертификат Из ЭлектронныеПодписиИсходногоФайла Цикл
  2674. МенеджерЗаписи = РегистрыСведений["СертификатыШифрования"].СоздатьМенеджерЗаписи();
  2675. МенеджерЗаписи.ЗашифрованныйОбъект = НовыйФайл;
  2676. ЗаполнитьЗначенияСвойств(МенеджерЗаписи, Сертификат);
  2677. МенеджерЗаписи.Записать(Истина);
  2678. КонецЦикла;
  2679. // Чтобы прошла запись ранее подписанного объекта.
  2680. ФайлОбъект.ДополнительныеСвойства.Вставить("ЗаписьПодписанногоОбъекта", Истина);
  2681. ФайлОбъект.Записать();
  2682.  
  2683. КонецЕсли;
  2684. КонецЕсли;
  2685. КонецЕсли;
  2686.  
  2687. РаботаСФайламиПереопределяемый.ЗаполнитьРеквизитыФайлаИзИсходногоФайла(НовыйФайл, ИсходныйФайл);
  2688.  
  2689. Возврат НовыйФайл;
  2690.  
  2691. КонецФункции
  2692. //<874899> }
  2693.  
  2694. //<897513>, Басаргин (04.12.2018) {
  2695. &НаКлиенте
  2696. Процедура СоздатьЧерновик_Асинхр(Результат, ДополнительныеПараметры) Экспорт
  2697.  
  2698. Отказ = Ложь;
  2699. ПроверитьПередОтправкой(Отказ);
  2700. Если НЕ Отказ Тогда
  2701. СоздатьЧерновикСделкиНаСервере();
  2702. КонецЕсли;
  2703.  
  2704. КонецПроцедуры
  2705.  
  2706. &НаСервере
  2707. Процедура СоздатьЧерновикСделкиНаСервере(Ошибки = "")
  2708.  
  2709. Если ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  2710. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заявка уже создана.");
  2711. Возврат;
  2712. КонецЕсли;
  2713.  
  2714. //Ошибки = "";
  2715. ID_Заявки = УправлениеИпотечнымиЗаявкамиДомКлик.СозданиеСделки(Объект.ПараметрыПодключения, Объект.Ссылка, Ошибки, Объект.ТестоваяЗаявка);
  2716. Если Ошибки = "" И НЕ ID_Заявки = 0 Тогда
  2717. Объект.ID_Заявки = ID_Заявки;
  2718. Объект.ДатаПодачиЗаявки = ТекущаяДата();
  2719. Объект.СтатусЗаявки = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьСтатусЗаявкиПоID(8060);
  2720. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись));
  2721. Иначе
  2722. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при создании черновика: " + Ошибки);
  2723. КонецЕсли;
  2724.  
  2725. КонецПроцедуры
  2726.  
  2727. &НаСервере
  2728. Процедура СозданиеСделкиНаСервере()
  2729.  
  2730. Если НЕ ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  2731. Ошибки = "";
  2732. ID_Заявки = УправлениеИпотечнымиЗаявкамиДомКлик.СозданиеСделки(Объект.ПараметрыПодключения, Объект.Ссылка, Ошибки, Объект.ТестоваяЗаявка);
  2733. Если Ошибки = "" И НЕ ID_Заявки = 0 Тогда
  2734. Объект.ID_Заявки = ID_Заявки;
  2735. Объект.ДатаПодачиЗаявки = ТекущаяДата();
  2736. Объект.СтатусЗаявки = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьСтатусЗаявкиПоID(8060);
  2737. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись));
  2738. Иначе
  2739. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при создании черновика: " + Ошибки);
  2740. Возврат;
  2741. КонецЕсли;
  2742. КонецЕсли;
  2743.  
  2744. Если ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  2745. Для каждого Строка Из Объект.Анкеты Цикл
  2746. Если НЕ Строка.Отправлять ИЛИ НЕ ЗначениеЗаполнено(Строка.Анкета) Тогда
  2747. Продолжить;
  2748. КонецЕсли;
  2749.  
  2750. Если НЕ ЗначениеЗаполнено(Строка.ТипАнкеты) Тогда
  2751. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не указан тип анкеты.");
  2752. Продолжить;
  2753. КонецЕсли;
  2754.  
  2755. Если ЗначениеЗаполнено(Строка.ApplicationID) Тогда
  2756. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Анкета уже отправлена.");
  2757. Продолжить;
  2758. КонецЕсли;
  2759.  
  2760. Ошибки = "";
  2761. СтруктураВозврата = УправлениеИпотечнымиЗаявкамиДомКлик.СозданиеАнкеты(Объект.ПараметрыПодключения, Объект.ID_Заявки, Строка.Анкета, Строка.ТипАнкеты, Ошибки, Объект.ТестоваяЗаявка);
  2762. Если Ошибки = "" Тогда
  2763. Если НЕ СтруктураВозврата = Неопределено Тогда
  2764. ЗаполнитьЗначенияСвойств(Строка, СтруктураВозврата);
  2765. НайденныеСтроки = Объект.ПрикрепленныеФайлы.НайтиСтроки(Новый Структура("Анкета", Строка.Анкета));
  2766. Для каждого СтрокаФайла Из НайденныеСтроки Цикл
  2767. СтрокаФайла.ApplicationID = Строка.ApplicationID;
  2768. КонецЦикла;
  2769. Модифицированность = Истина;
  2770. КонецЕсли;
  2771. Иначе
  2772. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при создании анкеты: " + Ошибки);
  2773. Прервать;
  2774. КонецЕсли;
  2775. КонецЦикла;
  2776.  
  2777. Если ПустаяСтрока(Ошибки) Тогда
  2778. Для каждого Строка Из Объект.ПрикрепленныеФайлы Цикл
  2779. Если НЕ Строка.Отправлять Тогда
  2780. Продолжить;
  2781. КонецЕсли;
  2782.  
  2783. Если НЕ ЗначениеЗаполнено(Строка.ApplicationID) Тогда
  2784. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Анкета документа не указана.");
  2785. Продолжить;
  2786. КонецЕсли;
  2787.  
  2788. Если НЕ ЗначениеЗаполнено(Строка.ТипДокумента) Тогда
  2789. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Тип документа не выбран.");
  2790. Продолжить;
  2791. КонецЕсли;
  2792.  
  2793. Если ЗначениеЗаполнено(Строка.ID) Тогда
  2794. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Документ уже отправлен.");
  2795. Продолжить;
  2796. КонецЕсли;
  2797.  
  2798. Ошибки = "";
  2799. Результат = УправлениеИпотечнымиЗаявкамиДомКлик.СозданиеДокументов(Объект.ПараметрыПодключения, Строка.ApplicationID, Строка.Файл, Строка.ТипДокумента, Строка.ПодтипДокумента, Ошибки = "", Объект.ТестоваяЗаявка);
  2800. Если Ошибки = "" Тогда
  2801. Если НЕ Результат = Неопределено Тогда
  2802. ЗаполнитьЗначенияСвойств(Строка, Результат);
  2803. Модифицированность = Истина;
  2804. КонецЕсли;
  2805. Иначе
  2806. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при создании документов: " + Ошибки);
  2807. КонецЕсли;
  2808. КонецЦикла;
  2809. КонецЕсли;
  2810. КонецЕсли;
  2811.  
  2812. Если Модифицированность Тогда
  2813. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись));
  2814. КонецЕсли;
  2815.  
  2816. УправлениеВидимостьюДоступностью();
  2817.  
  2818. КонецПроцедуры
  2819.  
  2820. &НаКлиенте
  2821. Процедура ОбновлениеСделки_Асинхр(Результат, ДополнительныеПараметры) Экспорт
  2822.  
  2823. Отказ = Ложь;
  2824. ПроверитьПередОтправкой(Отказ);
  2825. Если НЕ Отказ Тогда
  2826. ОбновлениеСделкиНаСервере();
  2827. КонецЕсли;
  2828.  
  2829. КонецПроцедуры
  2830.  
  2831. &НаСервере
  2832. Процедура ОбновлениеСделкиНаСервере(Ошибки = "")
  2833.  
  2834. ID_Статуса = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьIDСтатусаЗаявки(Объект.СтатусЗаявки);
  2835. Если НЕ ID_Статуса = 8060 И НЕ ID_Статуса = 8090 Тогда
  2836. Ошибки = "Обновление в текущем статусе невозможно.";
  2837. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Обновление в текущем статусе невозможно.");
  2838. Возврат;
  2839. КонецЕсли;
  2840.  
  2841. //Ошибки = "";
  2842. ID_Заявки = УправлениеИпотечнымиЗаявкамиДомКлик.ОбновлениеСделки(Объект.ПараметрыПодключения, Объект.Ссылка, Объект.ID_Заявки, Ошибки, Объект.ТестоваяЗаявка);
  2843. Если Ошибки = "" И ID_Заявки = Объект.ID_Заявки Тогда
  2844. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заявка обновлена.");
  2845. Иначе
  2846. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при обновлении заявки: " + Ошибки);
  2847. КонецЕсли;
  2848.  
  2849. КонецПроцедуры
  2850.  
  2851. &НаКлиенте
  2852. Процедура ОтправитьСделку_Асинхр(Результат, ДополнительныеПараметры) Экспорт
  2853.  
  2854. Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаОСинхронизации", ЭтаФорма);
  2855. ПоказатьВопрос(Оповещение, "Перед отправкой необходима синхронизация. Обновить данные заявки?", РежимДиалогаВопрос.ДаНетОтмена, 0);
  2856.  
  2857. КонецПроцедуры
  2858.  
  2859. &НаКлиенте
  2860. Процедура ПослеЗакрытияВопросаОСинхронизации(Результат, ДополнительныеПараметры) Экспорт
  2861.  
  2862. Если Результат = КодВозвратаДиалога.Отмена Тогда
  2863. Возврат;
  2864. КонецЕсли;
  2865.  
  2866. Отказ = Ложь;
  2867. ПроверитьПередОтправкой(Отказ);
  2868. Если НЕ Отказ Тогда
  2869. ОтправитьСделкуНаСервере(Результат = КодВозвратаДиалога.Да);
  2870. КонецЕсли;
  2871.  
  2872. КонецПроцедуры
  2873.  
  2874. &НаСервере
  2875. Процедура ОбновитьДанныеЗаявкиНаСервере()
  2876.  
  2877. Ошибки = "";
  2878. ДанныеЗаявки = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьДанныеСделки(Объект.ПараметрыПодключения, Объект.ID_Заявки, Ошибки, Объект.ТестоваяЗаявка);
  2879. Если Ошибки = "" Тогда
  2880. Если НЕ ДанныеЗаявки = Неопределено Тогда
  2881. УстановитьОбновляемыеЗначенияСделкиНаФорме(ДанныеЗаявки);
  2882. УправлениеВидимостьюДоступностью();
  2883. КонецЕсли;
  2884. Иначе
  2885. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при синхронизации данных заявки: " + Ошибки);
  2886. Возврат;
  2887. КонецЕсли;
  2888.  
  2889. КонецПроцедуры
  2890.  
  2891. &НаСервере
  2892. Процедура ОтправитьСделкуНаСервере(ОбновлятьПередОтправкой = Истина)
  2893.  
  2894. Если ОбновлятьПередОтправкой Тогда
  2895. ОбновитьДанныеЗаявкиНаСервере();
  2896. КонецЕсли;
  2897.  
  2898. ID_Статуса = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.СтатусЗаявки, "ID");
  2899. Если НЕ ID_Статуса = 8060 И НЕ ID_Статуса = 8090 Тогда
  2900. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Отправка в текущем статусе невозможна.");
  2901. Возврат;
  2902. КонецЕсли;
  2903.  
  2904. АнкетыОдобрены = Истина;
  2905. Для каждого СтрокаАнкета Из Объект.Анкеты Цикл
  2906. Если НЕ СтрокаАнкета.Статус = Справочники.СтатусыИпотечныхАнкетДомКлик.Одобрено Тогда
  2907. АнкетыОдобрены = Ложь;
  2908. Прервать;
  2909. КонецЕсли;
  2910. КонецЦикла;
  2911. Если НЕ АнкетыОдобрены Тогда
  2912. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не все анкеты одобрены.");
  2913. Возврат;
  2914. КонецЕсли;
  2915.  
  2916. Ошибки = "";
  2917. ID_Заявки = УправлениеИпотечнымиЗаявкамиДомКлик.ОбновлениеСделки(Объект.ПараметрыПодключения, Объект.Ссылка, Объект.ID_Заявки, Ошибки, Объект.ТестоваяЗаявка);
  2918. Если Ошибки = "" И ID_Заявки = Объект.ID_Заявки Тогда
  2919. Статус = Справочники.СтатусыИпотечныхЗаявок.НайтиПоРеквизиту("ID", 8070);
  2920. Ошибки = "";
  2921. КодВозврата = УправлениеИпотечнымиЗаявкамиДомКлик.ОтправитьСделку(Объект.ПараметрыПодключения, Объект.ID_Заявки, Ошибки, Объект.ТестоваяЗаявка);
  2922. Если Ошибки = "" И КодВозврата = 200 Тогда
  2923. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заявка успешно отправлена.");
  2924. Объект.СтатусЗаявки = Статус;
  2925. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
  2926. ОбновитьДанныеЗаявкиНаСервере();
  2927. Иначе
  2928. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось отправить заявку: " + Ошибки);
  2929. КонецЕсли;
  2930. Иначе
  2931. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при обновлении заявки перед перед отправкой: " + Ошибки);
  2932. КонецЕсли;
  2933.  
  2934. УправлениеВидимостьюДоступностью();
  2935.  
  2936. КонецПроцедуры
  2937.  
  2938. &НаКлиенте
  2939. Процедура ПолучитьДанныеСделки_Асинхр(Результат, ДополнительныеПараметры) Экспорт
  2940.  
  2941. Ошибки = "";
  2942. ДанныеЗаявки = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьДанныеСделки(Объект.ПараметрыПодключения, Объект.ID_Заявки, Ошибки, Объект.ТестоваяЗаявка);
  2943. Если Ошибки = "" Тогда
  2944. Если НЕ ДанныеЗаявки = Неопределено Тогда
  2945. Если Результат Тогда
  2946. ОткрытьФорму("Документ.ИпотечнаяЗаявка.Форма.ФормаОтображенияРезультатаЗапроса", Новый Структура("РезультатЗапроса", ДанныеЗаявки));
  2947. КонецЕсли;
  2948. УстановитьОбновляемыеЗначенияСделкиНаФорме(ДанныеЗаявки);
  2949. УправлениеВидимостьюДоступностью();
  2950. КонецЕсли;
  2951. Иначе
  2952. ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Ошибки);
  2953. Возврат;
  2954. КонецЕсли;
  2955.  
  2956. КонецПроцедуры
  2957.  
  2958. &НаСервере
  2959. Процедура УстановитьОбновляемыеЗначенияСделкиНаФорме(ДанныеЗаявки)
  2960.  
  2961. СтруктураОбновляемыхЗначений = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьОбновляемыеЗначенияСделки(ДанныеЗаявки, Объект.Ссылка, Объект.СтатусЗаявки, ?(НЕ Объект.КомментарииЗаявки.Количество(), "Новая", Объект.КомментарийСтатуса)); //, ТолькоОтправкаПисем
  2962.  
  2963. Если СтруктураОбновляемыхЗначений = Неопределено Тогда
  2964. Возврат;
  2965. КонецЕсли;
  2966.  
  2967. Если СтруктураОбновляемыхЗначений.Свойство("Модифицированность") И СтруктураОбновляемыхЗначений.Модифицированность Тогда
  2968. ЗаполнитьЗначенияСвойств(Объект, СтруктураОбновляемыхЗначений);
  2969. КонецЕсли;
  2970.  
  2971. Если СтруктураОбновляемыхЗначений.Свойство("КомментарииЗаявкиТЧ") Тогда
  2972. Объект.КомментарииЗаявки.Очистить();
  2973. Для каждого СтрокаКомментария Из СтруктураОбновляемыхЗначений.КомментарииЗаявкиТЧ Цикл
  2974. НоваСтрока = Объект.КомментарииЗаявки.Добавить();
  2975. ЗаполнитьЗначенияСвойств(НоваСтрока, СтрокаКомментария);
  2976. КонецЦикла;
  2977. Если НЕ СтруктураОбновляемыхЗначений.Свойство("Модифицированность")
  2978. ИЛИ (СтруктураОбновляемыхЗначений.Свойство("Модифицированность") И НЕ СтруктураОбновляемыхЗначений.Модифицированность) Тогда
  2979. СтруктураОбновляемыхЗначений.Вставить("Модифицированность", Истина);
  2980. КонецЕсли;
  2981. КонецЕсли;
  2982.  
  2983. Если СтруктураОбновляемыхЗначений.Свойство("АнкетыТЧ") Тогда
  2984. Для каждого СтрокаАнкеты Из СтруктураОбновляемыхЗначений.АнкетыТЧ Цикл
  2985. НайденныеСтроки = Объект.Анкеты.НайтиСтроки(Новый Структура("ApplicationID", СтрокаАнкеты.ApplicationID));
  2986. Для каждого НайденнаяСтрока Из НайденныеСтроки Цикл
  2987. Если НЕ НайденнаяСтрока.Статус = СтрокаАнкеты.Статус
  2988. ИЛИ НЕ НайденнаяСтрока.ДатаПоследнегоИзменения = СтрокаАнкеты.ДатаПоследнегоИзменения
  2989. ИЛИ НЕ НайденнаяСтрока.ДатаПодтверждения = СтрокаАнкеты.ДатаПодтверждения Тогда
  2990. ЗаполнитьЗначенияСвойств(НайденнаяСтрока, СтрокаАнкеты);
  2991. Если НЕ СтруктураОбновляемыхЗначений.Свойство("Модифицированность")
  2992. ИЛИ (СтруктураОбновляемыхЗначений.Свойство("Модифицированность") И НЕ СтруктураОбновляемыхЗначений.Модифицированность) Тогда
  2993. СтруктураОбновляемыхЗначений.Вставить("Модифицированность", Истина);
  2994. КонецЕсли;
  2995. КонецЕсли;
  2996. КонецЦикла;
  2997. КонецЦикла;
  2998. КонецЕсли;
  2999.  
  3000. Если СтруктураОбновляемыхЗначений.Свойство("Модифицированность") И СтруктураОбновляемыхЗначений.Модифицированность Тогда
  3001. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
  3002. КонецЕсли;
  3003.  
  3004. //временно выключено
  3005. //Если СтруктураОбновляемыхЗначений.Свойство("ОтправлятьОповещение") И СтруктураОбновляемыхЗначений.ОтправлятьОповещение Тогда
  3006. // ОтправитьОповещение();
  3007. //КонецЕсли;
  3008.  
  3009. КонецПроцедуры
  3010.  
  3011. &НаСервере
  3012. Процедура СозданиеАнкетНаСервере(Ошибки = "")
  3013.  
  3014. Для каждого Строка Из Объект.Анкеты Цикл
  3015. Если НЕ Строка.Отправлять ИЛИ НЕ ЗначениеЗаполнено(Строка.Анкета) Тогда
  3016. Продолжить;
  3017. КонецЕсли;
  3018.  
  3019. Если НЕ ЗначениеЗаполнено(Строка.ТипАнкеты) Тогда
  3020. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не указан тип анкеты.");
  3021. Продолжить;
  3022. КонецЕсли;
  3023.  
  3024. //Ошибки = "";
  3025. СтруктураВозврата = УправлениеИпотечнымиЗаявкамиДомКлик.СозданиеАнкеты(Объект.ПараметрыПодключения, Объект.ID_Заявки, Строка.Анкета, Строка.ТипАнкеты, Ошибки, Объект.ТестоваяЗаявка);
  3026. Если Ошибки = "" Тогда
  3027. Если НЕ СтруктураВозврата = Неопределено Тогда
  3028. ЗаполнитьЗначенияСвойств(Строка, СтруктураВозврата);
  3029. НайденныеСтроки = Объект.ПрикрепленныеФайлы.НайтиСтроки(Новый Структура("Анкета", Строка.Анкета));
  3030. Для каждого СтрокаФайла Из НайденныеСтроки Цикл
  3031. СтрокаФайла.ApplicationID = Строка.ApplicationID;
  3032. КонецЦикла;
  3033. Модифицированность = Истина;
  3034. КонецЕсли;
  3035. Иначе
  3036. ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Ошибки);
  3037. Прервать;
  3038. КонецЕсли;
  3039. КонецЦикла;
  3040.  
  3041. Если Модифицированность Тогда
  3042. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись));
  3043. КонецЕсли;
  3044.  
  3045. КонецПроцедуры
  3046.  
  3047. &НаКлиенте
  3048. Процедура ПослеВводаКодаПодтверждения(КодПодтверждения, ДополнительныеПараметры) Экспорт
  3049.  
  3050. Если НЕ КодПодтверждения = Неопределено Тогда
  3051. ТекущиеДанные = Элементы.Анкеты.ТекущиеДанные;
  3052. Если ТекущиеДанные = Неопределено Тогда
  3053. Возврат;
  3054. КонецЕсли;
  3055.  
  3056. Ошибки = "";
  3057. СтруктураВозврата = УправлениеИпотечнымиЗаявкамиДомКлик.ПодписатьСогласиеКодомИзСМС(Объект.ПараметрыПодключения, Объект.ID_Заявки, ТекущиеДанные.ApplicationID, КодПодтверждения, Ошибки, Объект.ТестоваяЗаявка);
  3058. Если Ошибки = "" Тогда
  3059. Если НЕ СтруктураВозврата = Неопределено Тогда
  3060. СтрокаАнкеты = Объект.Анкеты.НайтиПоИдентификатору(ТекущиеДанные.ПолучитьИдентификатор());
  3061. Если НЕ СтрокаАнкеты = Неопределено Тогда
  3062. ЗаполнитьЗначенияСвойств(СтрокаАнкеты, СтруктураВозврата);
  3063. Если ЗначениеЗаполнено(СтрокаАнкеты.ДатаПодтверждения)
  3064. И СтрокаАнкеты.Статус = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхАнкетДомКлик.Одобрено") Тогда
  3065. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Анкета одобрена.");
  3066. КонецЕсли;
  3067. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись));
  3068. КонецЕсли;
  3069. КонецЕсли;
  3070. Иначе
  3071. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при подписании согласия кодом из СМС: " + Ошибки);
  3072. КонецЕсли;
  3073. КонецЕсли;
  3074.  
  3075. АнкетыОдобрены = Истина;
  3076. Для каждого СтрокаАнкеты ИЗ Объект.Анкеты Цикл
  3077. Если ЗначениеЗаполнено(СтрокаАнкеты.ДатаПодтверждения)
  3078. И СтрокаАнкеты.Статус = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхАнкетДомКлик.Одобрено") Тогда
  3079. АнкетыОдобрены = Ложь;
  3080. КонецЕсли;
  3081. КонецЦикла;
  3082.  
  3083. Если АнкетыОдобрены Тогда
  3084. //Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаОбОбновленииЗаявки", ЭтаФорма);
  3085. //ПоказатьВопрос(Оповещение, "Одобрены все анкеты. Выполнить обновление заявки в СРМ?", РежимДиалогаВопрос.ДаНет, 0);
  3086. //Убран вопрос пользователю
  3087. ОбновитьДанныеЗаявкиНаСервере();
  3088. КонецЕсли;
  3089.  
  3090. КонецПроцедуры
  3091.  
  3092. &НаКлиенте
  3093. Процедура ПослеЗакрытияВопросаОбОбновленииЗаявки(Результат, ДополнительныеПараметры) Экспорт
  3094.  
  3095. Если Результат = КодВозвратаДиалога.Нет Тогда
  3096. Возврат;
  3097. КонецЕсли;
  3098.  
  3099. ОбновитьДанныеЗаявкиНаСервере();
  3100.  
  3101. КонецПроцедуры
  3102.  
  3103. &НаСервере
  3104. Процедура ОтправитьДокументыНаСервере(Ошибки = "")
  3105.  
  3106. Для каждого Строка Из Объект.ПрикрепленныеФайлы Цикл
  3107. Если НЕ Строка.Отправлять Тогда
  3108. Продолжить;
  3109. КонецЕсли;
  3110.  
  3111. Если НЕ ЗначениеЗаполнено(Строка.ApplicationID) Тогда
  3112. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Анкета документа не указана.");
  3113. Продолжить;
  3114. КонецЕсли;
  3115.  
  3116. Если НЕ ЗначениеЗаполнено(Строка.ТипДокумента) Тогда
  3117. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Тип документа не выбран.");
  3118. Продолжить;
  3119. КонецЕсли;
  3120.  
  3121. //Ошибки = "";
  3122. Результат = УправлениеИпотечнымиЗаявкамиДомКлик.СозданиеДокументов(Объект.ПараметрыПодключения, Строка.ApplicationID, Строка.Файл, Строка.ТипДокумента, Строка.ПодтипДокумента, Ошибки = "", Объект.ТестоваяЗаявка);
  3123. Если Ошибки = "" Тогда
  3124. Если НЕ Результат = Неопределено Тогда
  3125. ЗаполнитьЗначенияСвойств(Строка, Результат);
  3126. Строка.Отправлять = Ложь;
  3127. Модифицированность = Истина;
  3128. КонецЕсли;
  3129. Иначе
  3130. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при отправке документа: " + Ошибки);
  3131. Прервать;
  3132. КонецЕсли;
  3133. КонецЦикла;
  3134.  
  3135. Если Модифицированность Тогда
  3136. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись));
  3137. КонецЕсли;
  3138.  
  3139. КонецПроцедуры
  3140.  
  3141. &НаСервере
  3142. Функция УдалениеДокументовНаСервере(ApplicationID, id, Ошибки)
  3143.  
  3144. КодВозврата = 0;
  3145. Ошибки = "";
  3146. ДанныеЗаявки = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьДанныеСделки(Объект.ПараметрыПодключения, Объект.ID_Заявки, Ошибки, Объект.ТестоваяЗаявка);
  3147. Если НЕ Ошибки = "" Тогда
  3148. Возврат КодВозврата;
  3149. КонецЕсли;
  3150.  
  3151. ИдентификаторыДокументов = Новый Массив;
  3152. Для каждого Анкета Из ДанныеЗаявки.applications Цикл
  3153. Если Анкета.ID = ApplicationID Тогда
  3154. Для каждого Документ Из Анкета.documents Цикл
  3155. Если Документ.id = id Тогда
  3156. Если ИдентификаторыДокументов.Найти(Документ.id) = Неопределено Тогда
  3157. ИдентификаторыДокументов.Добавить(Документ.id);
  3158. КонецЕсли;
  3159. ИначеЕсли Документ.parentId = id Тогда
  3160. Если ИдентификаторыДокументов.Найти(Документ.id) = Неопределено Тогда
  3161. ИдентификаторыДокументов.Добавить(Документ.id);
  3162. КонецЕсли;
  3163. КонецЕсли;
  3164. КонецЦикла;
  3165. КонецЕсли;
  3166. КонецЦикла;
  3167.  
  3168. Если НЕ ИдентификаторыДокументов.Количество() Тогда
  3169. Ошибки = Ошибки + "Идентификаторы документов не найдены.";
  3170. Возврат 0;
  3171. КонецЕсли;
  3172.  
  3173. Для каждого ID_Документа Из ИдентификаторыДокументов Цикл
  3174. Ошибки = "";
  3175. КодВозврата = УправлениеИпотечнымиЗаявкамиДомКлик.УдалениеДокументов(Объект.ПараметрыПодключения, ApplicationID, ID_Документа, Ошибки, Объект.ТестоваяЗаявка);
  3176. Если Ошибки = "" Тогда
  3177. Если НЕ КодВозврата = 200 Тогда
  3178. КодВозврата = 0;
  3179. Ошибки = Ошибки + "Не удалось удалить документ " + ID_Документа;
  3180. Прервать;
  3181. КонецЕсли;
  3182. Иначе
  3183. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка удаления документа: " + Ошибки);
  3184. Прервать;
  3185. КонецЕсли;
  3186. КонецЦикла;
  3187.  
  3188. Возврат КодВозврата;
  3189.  
  3190. КонецФункции
  3191.  
  3192. &НаСервере
  3193. Функция ОбновитьДокументНаСервере(ApplicationID, id, ТипДокумента, ПодтипДокумента, Ошибки)
  3194.  
  3195. КодВозврата = 0;
  3196. Ошибки = "";
  3197. ДанныеЗаявки = УправлениеИпотечнымиЗаявкамиДомКлик.ПолучитьДанныеСделки(Объект.ПараметрыПодключения, Объект.ID_Заявки, Ошибки, Объект.ТестоваяЗаявка);
  3198. Если НЕ Ошибки = "" Тогда
  3199. Возврат КодВозврата;
  3200. КонецЕсли;
  3201.  
  3202. ИдентификаторыДокументов = Новый Массив;
  3203. Для каждого Анкета Из ДанныеЗаявки.applications Цикл
  3204. Если Анкета.ID = ApplicationID Тогда
  3205. Для каждого Документ Из Анкета.documents Цикл
  3206. Если Документ.id = id Тогда
  3207. Если ИдентификаторыДокументов.Найти(Документ.id) = Неопределено Тогда
  3208. ИдентификаторыДокументов.Добавить(Документ.id);
  3209. КонецЕсли;
  3210. ИначеЕсли Документ.parentId = id Тогда
  3211. Если ИдентификаторыДокументов.Найти(Документ.id) = Неопределено Тогда
  3212. ИдентификаторыДокументов.Добавить(Документ.id);
  3213. КонецЕсли;
  3214. КонецЕсли;
  3215. КонецЦикла;
  3216. КонецЕсли;
  3217. КонецЦикла;
  3218.  
  3219. Если НЕ ИдентификаторыДокументов.Количество() Тогда
  3220. Ошибки = Ошибки + "Идентификаторы документов не найдены.";
  3221. Возврат 0;
  3222. КонецЕсли;
  3223.  
  3224. Для каждого ID_Документа Из ИдентификаторыДокументов Цикл
  3225. Ошибки = "";
  3226. СтруктураВозврата = УправлениеИпотечнымиЗаявкамиДомКлик.ОбновитьДокумент(Объект.ПараметрыПодключения, ApplicationID, ID_Документа, ТипДокумента, ПодтипДокумента, Ошибки, Объект.ТестоваяЗаявка);
  3227. Если Ошибки = "" Тогда
  3228. Если СтруктураВозврата = Неопределено Тогда
  3229. КодВозврата = 0;
  3230. Ошибки = Ошибки + "Не удалось обновить документ " + ID_Документа;
  3231. Прервать;
  3232. Иначе
  3233. КодВозврата = 200;
  3234. КонецЕсли;
  3235. Иначе
  3236. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при обновлении документа: " + Ошибки);
  3237. КонецЕсли;
  3238. КонецЦикла;
  3239.  
  3240. Возврат КодВозврата;
  3241.  
  3242. КонецФункции
  3243.  
  3244. &НаСервере
  3245. Процедура ИзменитьСтатусСделкиНаСервере()
  3246.  
  3247. Ошибки = "";
  3248. КодВозврата = УправлениеИпотечнымиЗаявкамиДомКлик.События(Объект.ПараметрыПодключения, Объект.ID_Заявки, Объект.СтатусЗаявки, Ошибки, Объект.ТестоваяЗаявка);
  3249. Если Ошибки = "" И КодВозврата = 200 Тогда
  3250. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
  3251. Иначе
  3252. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при изменении статуса заявки: " + Ошибки);
  3253. КонецЕсли;
  3254.  
  3255. КонецПроцедуры
  3256.  
  3257. &НаСервере
  3258. Процедура ПроверитьКлиентовНаСервере(Отказ)
  3259.  
  3260. _КонтактноеЛицо = Неопределено;
  3261. Для каждого Строка Из Объект.Анкеты Цикл
  3262. Если _КонтактноеЛицо = Неопределено Тогда
  3263. _КонтактноеЛицо = Строка.Анкета.КонтактноеЛицо;
  3264. Продолжить;
  3265. КонецЕсли;
  3266. Если НЕ _КонтактноеЛицо = Строка.Анкета.КонтактноеЛицо Тогда
  3267. Отказ = Истина;
  3268. КонецЕсли;
  3269. КонецЦикла;
  3270.  
  3271. КонецПроцедуры
  3272. //<897513> }
  3273.  
  3274. &НаСервере
  3275. Процедура ОбновитьЗаявкуНаСервере()
  3276.  
  3277. Если НЕ ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  3278. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заявка не отправлена.");
  3279. Возврат;
  3280. КонецЕсли;
  3281.  
  3282. Ошибки = "";
  3283.  
  3284. ОбновлениеСделкиНаСервере(Ошибки);
  3285. Если НЕ Ошибки = "" Тогда
  3286. Возврат;
  3287. КонецЕсли;
  3288.  
  3289. ОбновлениеАнкетНаСервере(Ошибки);
  3290. Если НЕ Ошибки = "" Тогда
  3291. Возврат;
  3292. КонецЕсли;
  3293.  
  3294. ОбновитьДокументыНаСервере(Ошибки);
  3295. Если НЕ Ошибки = "" Тогда
  3296. Возврат;
  3297. КонецЕсли;
  3298.  
  3299. Если Ошибки = "" Тогда
  3300. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Данные заявки обновлены.");
  3301. КонецЕсли;
  3302.  
  3303. КонецПроцедуры
  3304.  
  3305. &НаСервере
  3306. Процедура ОбновитьДокументыНаСервере(Ошибки)
  3307.  
  3308. Для каждого Строка Из Объект.ПрикрепленныеФайлы Цикл
  3309. Если НЕ Строка.Отправлять Тогда
  3310. Продолжить;
  3311. КонецЕсли;
  3312.  
  3313. Если НЕ ЗначениеЗаполнено(Строка.ApplicationID) Тогда
  3314. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Анкета документа не указана.");
  3315. Продолжить;
  3316. КонецЕсли;
  3317.  
  3318. Если НЕ ЗначениеЗаполнено(Строка.ТипДокумента) Тогда
  3319. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Тип документа не выбран.");
  3320. Продолжить;
  3321. КонецЕсли;
  3322.  
  3323. Если ЗначениеЗаполнено(Строка.id) Тогда
  3324. КодВозврата = ОбновитьДокументНаСервере(Строка.ApplicationID, Строка.id, Строка.ТипДокумента, Строка.ПодтипДокумента, Ошибки); //УправлениеИпотечнымиЗаявкамиДомКлик.ОбновитьДокумент(Объект.ПараметрыПодключения, ТекущиеДанные.ApplicationID, ТекущиеДанные.id, ТекущиеДанные.ТипДокумента, ТекущиеДанные.ПодтипДокумента, Ошибки, Объект.ТестоваяЗаявка);
  3325. Если Ошибки = "" Тогда
  3326. Если КодВозврата = 200 Тогда
  3327. Строка.Отправлять = Ложь;
  3328. Модифицированность = Истина;
  3329. КонецЕсли;
  3330. Иначе
  3331. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при обновлении документа: " + Ошибки);
  3332. Прервать;
  3333. КонецЕсли;
  3334. Иначе
  3335. Результат = УправлениеИпотечнымиЗаявкамиДомКлик.СозданиеДокументов(Объект.ПараметрыПодключения, Строка.ApplicationID, Строка.Файл, Строка.ТипДокумента, Строка.ПодтипДокумента, Ошибки = "", Объект.ТестоваяЗаявка);
  3336. Если Ошибки = "" Тогда
  3337. Если НЕ Результат = Неопределено Тогда
  3338. ЗаполнитьЗначенияСвойств(Строка, Результат);
  3339. Строка.Отправлять = Ложь;
  3340. Модифицированность = Истина;
  3341. КонецЕсли;
  3342. Иначе
  3343. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Ошибка при отправке документа: " + Ошибки);
  3344. Прервать;
  3345. КонецЕсли;
  3346. КонецЕсли;
  3347. КонецЦикла;
  3348.  
  3349. Если НЕ ЗначениеЗаполнено(Ошибки) Тогда
  3350. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись));
  3351. КонецЕсли;
  3352.  
  3353. КонецПроцедуры
  3354.  
  3355. &НаСервере
  3356. Процедура ОбновлениеАнкетНаСервере(Ошибки = "")
  3357.  
  3358. Для каждого Строка Из Объект.Анкеты Цикл
  3359. Если НЕ Строка.Отправлять ИЛИ НЕ ЗначениеЗаполнено(Строка.Анкета) Тогда
  3360. Продолжить;
  3361. КонецЕсли;
  3362.  
  3363. Если НЕ ЗначениеЗаполнено(Строка.ТипАнкеты) Тогда
  3364. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не указан тип анкеты.");
  3365. Продолжить;
  3366. КонецЕсли;
  3367.  
  3368. Если ЗначениеЗаполнено(Строка.ApplicationID) Тогда
  3369. СтруктураВозврата = УправлениеИпотечнымиЗаявкамиДомКлик.ОбновлениеАнкеты(Объект.ПараметрыПодключения, Объект.ID_Заявки, Строка.ApplicationID, Строка.Анкета, Строка.ТипАнкеты, Ошибки, Объект.ТестоваяЗаявка);
  3370. Иначе
  3371. СтруктураВозврата = УправлениеИпотечнымиЗаявкамиДомКлик.СозданиеАнкеты(Объект.ПараметрыПодключения, Объект.ID_Заявки, Строка.Анкета, Строка.ТипАнкеты, Ошибки, Объект.ТестоваяЗаявка);
  3372. КонецЕсли;
  3373.  
  3374. //Ошибки = "";
  3375. Если Ошибки = "" Тогда
  3376. СтрокаАнкеты = Объект.Анкеты.НайтиПоИдентификатору(Строка.ПолучитьИдентификатор());
  3377. Если НЕ СтрокаАнкеты = Неопределено Тогда
  3378. ЗаполнитьЗначенияСвойств(СтрокаАнкеты, СтруктураВозврата);
  3379. НайденныеСтроки = Объект.ПрикрепленныеФайлы.НайтиСтроки(Новый Структура("Анкета", Строка.Анкета));
  3380. Для каждого СтрокаФайла Из НайденныеСтроки Цикл
  3381. Если НЕ СтрокаФайла.ApplicationID = Строка.ApplicationID Тогда
  3382. СтрокаФайла.ApplicationID = Строка.ApplicationID;
  3383. КонецЕсли;
  3384. КонецЦикла;
  3385. СтрокаАнкеты.Отправлять = Ложь;
  3386. Модифицированность = Истина;
  3387. КонецЕсли;
  3388. Иначе
  3389. ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Ошибки);
  3390. Прервать;
  3391. КонецЕсли;
  3392. КонецЦикла;
  3393.  
  3394. Если Модифицированность Тогда
  3395. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись));
  3396. КонецЕсли;
  3397.  
  3398. КонецПроцедуры
  3399.  
  3400. &НаКлиенте
  3401. Процедура Создать_ОбновитьЗаявку_Асинхр(Результат, ДополнительныеПараметры) Экспорт
  3402.  
  3403. Отказ = Ложь;
  3404. ПроверитьПередОтправкой(Отказ);
  3405. Если Отказ Тогда
  3406. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось Создать/обновить заявку.");
  3407. Возврат;
  3408. КонецЕсли;
  3409.  
  3410. Если ЗначениеЗаполнено(Объект.ID_Заявки) Тогда
  3411. ОбновитьЗаявкуНаСервере();
  3412. Иначе
  3413. СоздатьЗаявкуНаСервере();
  3414. КонецЕсли;
  3415.  
  3416. КонецПроцедуры
  3417.  
  3418. &НаСервере
  3419. Процедура СоздатьЗаявкуНаСервере()
  3420.  
  3421. Ошибки = "";
  3422.  
  3423. СоздатьЧерновикСделкиНаСервере(Ошибки);
  3424. Если НЕ Ошибки = "" Тогда
  3425. Возврат;
  3426. КонецЕсли;
  3427.  
  3428. СозданиеАнкетНаСервере(Ошибки);
  3429. Если НЕ Ошибки = "" Тогда
  3430. Возврат;
  3431. КонецЕсли;
  3432.  
  3433. ОтправитьДокументыНаСервере(Ошибки);
  3434. Если НЕ Ошибки = "" Тогда
  3435. Возврат;
  3436. КонецЕсли;
  3437.  
  3438. Если Ошибки = "" Тогда
  3439. ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Заявка создана.");
  3440. Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
  3441. КонецЕсли;
  3442.  
  3443. КонецПроцедуры
  3444.  
  3445. &НаКлиенте
  3446. Процедура ОписаниеОповещенияОЗакрытии(РезультатЗакрытия, ДополнительныеПараметры) Экспорт
  3447.  
  3448. Если РезультатЗакрытия = Неопределено Тогда
  3449. Возврат;
  3450. КонецЕсли;
  3451.  
  3452. ТекущиеДанные = Элементы.ПрикрепленныеФайлы.ТекущиеДанные;
  3453. Если ТекущиеДанные = Неопределено Тогда
  3454. Возврат;
  3455. КонецЕсли;
  3456.  
  3457. Для каждого ВыделеннаяСтрока Из Элементы.ПрикрепленныеФайлы.ВыделенныеСтроки Цикл
  3458. СтрокаФайлы = Объект.ПрикрепленныеФайлы.НайтиПоИдентификатору(ВыделеннаяСтрока);
  3459. Если НЕ СтрокаФайлы = Неопределено Тогда
  3460. СтрокаФайлы.ТипДокумента = РезультатЗакрытия;
  3461. КонецЕсли;
  3462. КонецЦикла;
  3463.  
  3464. КонецПроцедуры
  3465.  
  3466. &НаСервере
  3467. Процедура СтатусЗаявкиПриИзмененииНаСервере()
  3468.  
  3469. Если Объект.СтатусЗаявки = ПредопределенноеЗначение("Справочник.СтатусыИпотечныхЗаявок.ПустаяСсылка") Тогда
  3470. Объект.УспешнаяОтправка = Ложь;
  3471. Иначе
  3472. Объект.УспешнаяОтправка = Истина;
  3473. КонецЕсли;
  3474.  
  3475. Статус_ID = ЗначениеРеквизитаОбъектаНаСервере(Объект.СтатусЗаявки, "ID");
  3476.  
  3477. //Если Статус_ID = 8030
  3478. // ИЛИ Статус_ID = 8010
  3479. // ИЛИ Статус_ID = 8020 Тогда
  3480. // Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Отказ");
  3481. // Объект.ДатаРешенияБанка = ТекущаяДата();
  3482. // Объект.РешениеБанка = ?(Статус_ID = 8030, ПредопределенноеЗначение("Справочник.РешенияБанков.ОтказКлиентаОтРассмотрения"), ПредопределенноеЗначение("Справочник.РешенияБанков.ОтказБанка"));
  3483. //ИначеЕсли Статус_ID = 8100
  3484. // ИЛИ Статус_ID = 8070
  3485. // ИЛИ Статус_ID = 8220
  3486. // ИЛИ (Статус_ID = 8060 И ЗначениеЗаполнено(Объект.ID_Заявки)) Тогда
  3487. // Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Отправка");
  3488. // Объект.ДатаРешенияБанка = Неопределено;
  3489. // Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ПустаяСсылка");
  3490. //ИначеЕсли Статус_ID = 8090 Тогда
  3491. // //Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.ПустаяСсылка");
  3492. // Объект.ДатаРешенияБанка = Неопределено;
  3493. // Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ПустаяСсылка");
  3494. //Иначе
  3495. // Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Одобрение");
  3496. // Объект.ДатаРешенияБанка = ТекущаяДата();
  3497. // Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ОдобрениеБанка");
  3498. //КонецЕсли;
  3499.  
  3500. //<951733>, Басаргин (20.03.2019) {
  3501. СтруктураВозврат = Новый Структура();
  3502. Если Статус_ID = 8040
  3503. ИЛИ Статус_ID = 8010
  3504. ИЛИ Статус_ID = 8020
  3505. ИЛИ Статус_ID = 8030 Тогда
  3506. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Отказ");
  3507. Объект.ДатаРешенияБанка = ТекущаяДата();
  3508. Объект.РешениеБанка = ?(Статус_ID = 8030, ПредопределенноеЗначение("Справочник.РешенияБанков.ОтказКлиентаОтРассмотрения"), ПредопределенноеЗначение("Справочник.РешенияБанков.ОтказБанка"));
  3509. ИначеЕсли Статус_ID = 8220
  3510. ИЛИ Статус_ID = 8090
  3511. ИЛИ Статус_ID = 8100
  3512. ИЛИ Статус_ID = 8070
  3513. ИЛИ Статус_ID = 8080
  3514. ИЛИ (Статус_ID = 8060 И ЗначениеЗаполнено(Объект.ID_Заявки)) Тогда
  3515. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Отправка");
  3516. Объект.ДатаРешенияБанка = Неопределено;
  3517. Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ПустаяСсылка");
  3518. Иначе
  3519. Объект.СостояниеЗаявки = ПредопределенноеЗначение("Перечисление.СостоянияИпотечныхЗаявок.Одобрение");
  3520. Объект.ДатаРешенияБанка = ТекущаяДата();
  3521. Объект.РешениеБанка = ПредопределенноеЗначение("Справочник.РешенияБанков.ОдобрениеБанка");
  3522. КонецЕсли;
  3523. //<951733> }
  3524.  
  3525. УправлениеВидимостьюДоступностью();
  3526.  
  3527. КонецПроцедуры
  3528.  
  3529. #КонецОбласти
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement