Диплом: Автоматизация приема платежей в базе конфигурации "1С: Предприятия 8.3" в ООО "Мастер Плюс"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
95
Сообщение = Новый ИнтернетПочтовоеСообщение;
Сообщение.ИмяОтправителя = Отправитель;
Сообщение.Отправитель = Отправитель;
Сообщение.Тема = "Ошибка загрузки выписки";
Сообщение.Получатели.Добавить("dbpopov94@gmail.com");
Сообщение.Получатели.Добавить("vnafeev@gmail.com");
Сообщение.Получатели.Добавить("ksenkis@gmail.com");
Сообщение.Тексты.Добавить(СообщениеДляПочты);
Почта = Новый ИнтернетПочта;
Попытка
Состояние("Отправка почтового сообщения...");
Почта.Подключиться(Профиль);
Почта.Послать(Сообщение);
ppv_ЗавершениеРаботыПользователя();
Исключение
Сообщить("Ошибка ...",
СтатусСообщения.ОченьВажное);
Сообщить("" + ОписаниеОшибки());
КонецПопытки;
КонецЕсли
КонецПроцедуры
Процедура ppv_ЗавершениеРаботыПользователя()
ПрекратитьРаботуСистемы();
КонецПроцедуры
Общий модуль ЭлектроннаяПодписьСлужебныйКлиент
Процедура ОбработатьПароль(ВнутренниеДанные,
РеквизитПароль, СвойстваПароля,
РеквизитЗапомнитьПароль,
ДополнительныеПараметры, НовыйПароль = Null)
Сертификат = ДополнительныеПараметры.Сертификат;
ХранилищеПаролей =
ВнутренниеДанные.Получить("ХранилищеПаролей");
Если ХранилищеПаролей = Неопределено Тогда
ХранилищеПаролей = Новый Соответствие;
ВнутренниеДанные.Вставить("ХранилищеПаролей",
ХранилищеПаролей);
КонецЕсли;
УстановленныеПароли =
ВнутренниеДанные.Получить("УстановленныеПароли");
96
Если УстановленныеПароли = Неопределено Тогда
УстановленныеПароли = Новый Соответствие;
ВнутренниеДанные.Вставить("УстановленныеПароли",
УстановленныеПароли);
ВнутренниеДанные.Вставить("ПоясненияУстановленныхПар
олей", Новый Соответствие);
КонецЕсли;
УстановленныйПароль =
УстановленныеПароли.Получить(Сертификат);
ДополнительныеПараметры.Вставить("ПарольУстановленПр
ограммно", УстановленныйПароль <> Неопределено);
Если УстановленныйПароль <> Неопределено Тогда
ДополнительныеПараметры.Вставить("ПояснениеПароля",
ВнутренниеДанные.Получить("ПоясненияУстановленныхПар
олей").Получить(Сертификат));
КонецЕсли;
Если
ДополнительныеПараметры.УсиленнаяЗащитаЗакрытогоКлюча
Тогда
СвойстваПароля.Значение = "";
СвойстваПароля.ПарольПроверен = Ложь;
РеквизитПароль = "";
Значение =
ХранилищеПаролей.Получить(Сертификат);
Если Значение <> Неопределено Тогда
ХранилищеПаролей.Удалить(Сертификат);
Значение = Неопределено;
КонецЕсли;
ДополнительныеПараметры.Вставить("ПарольВПамяти",
Ложь);
Возврат;
КонецЕсли;
Пароль = ХранилищеПаролей.Получить(Сертификат);
//++ Попов Д.Б. АвтоматическоеПолучениеВыписки
Если Пароль = Неопределено Тогда
ОбменСБанкамиСлужебныйВызовСервера.ПолучитьПароль(
Сертификат, РеквизитПароль);
Пароль = ?(РеквизитПароль <> Неопределено,
РеквизитПароль, Неопределено);
Если Пароль <> Неопределено Тогда
СвойстваПароля.Значение = Пароль;
97
ДополнительныеПараметры.Вставить("ПарольУказан",
Истина);
ДополнительныеПараметры.Вставить("ПарольВПамяти",
Истина);
Возврат;
КонецЕсли;
КонецЕсли;
//-- Попов Д.Б.
ДополнительныеПараметры.Вставить("ПарольВПамяти",
Пароль <> Неопределено);
Если
ДополнительныеПараметры.ПриУстановкеПароляИзДругойОпера
ции Тогда
РеквизитПароль = ?(СвойстваПароля.Значение <> "",
"****************", "");
Возврат;
КонецЕсли;
Если
ДополнительныеПараметры.ПриИзмененииРеквизитаПароль
Тогда
Если РеквизитПароль = "****************" Тогда
Возврат;
КонецЕсли;
СвойстваПароля.Значение = РеквизитПароль;
СвойстваПароля.ПарольПроверен = Ложь;
РеквизитПароль = ?(СвойстваПароля.Значение <> "",
"****************", "");
Возврат;
КонецЕсли;
Если
ДополнительныеПараметры.ПриИзмененииРеквизитаЗапомнитьП
ароль Тогда
Если Не РеквизитЗапомнитьПароль Тогда
Значение =
ХранилищеПаролей.Получить(Сертификат);
Если Значение <> Неопределено Тогда
ХранилищеПаролей.Удалить(Сертификат);
Значение = Неопределено;
КонецЕсли;
98
ДополнительныеПараметры.Вставить("ПарольВПамяти",
Ложь);
ИначеЕсли СвойстваПароля.ПарольПроверен Тогда
ХранилищеПаролей.Вставить(Сертификат,
СвойстваПароля.Значение);
ДополнительныеПараметры.Вставить("ПарольВПамяти",
Истина);
КонецЕсли;
Возврат;
КонецЕсли;
Если
ДополнительныеПараметры.ПриУспешномВыполненииОперации
Тогда
Если РеквизитЗапомнитьПароль
И НЕ
ДополнительныеПараметры.ПарольУстановленПрограммно Тогда
ХранилищеПаролей.Вставить(Сертификат,
СвойстваПароля.Значение);
ДополнительныеПараметры.Вставить("ПарольВПамяти",
Истина);
СвойстваПароля.ПарольПроверен = Истина;
КонецЕсли;
Возврат;
КонецЕсли;
Если
ДополнительныеПараметры.ПарольУстановленПрограммно Тогда
Если НовыйПароль <> Null Тогда
СвойстваПароля.Значение =
Строка(НовыйПароль);
Иначе
СвойстваПароля.Значение =
Строка(УстановленныйПароль);
КонецЕсли;
СвойстваПароля.ПарольПроверен = Ложь;
РеквизитПароль = ?(СвойстваПароля.Значение <> "",
"****************", "");
Возврат;
КонецЕсли;
Если НовыйПароль <> Null Тогда
Если НовыйПароль <> Неопределено Тогда
99
СвойстваПароля.Значение =
Строка(НовыйПароль);
СвойстваПароля.ПарольПроверен = Истина;
НовыйПароль = "";
Если ХранилищеПаролей.Получить(Сертификат)
<> Неопределено Или РеквизитЗапомнитьПароль Тогда
ХранилищеПаролей.Вставить(Сертификат,
СвойстваПароля.Значение);
ДополнительныеПараметры.Вставить("ПарольВПамяти",
Истина);
КонецЕсли;
ИначеЕсли ХранилищеПаролей.Получить(Сертификат)
<> Неопределено Тогда
РеквизитЗапомнитьПароль = Ложь;
ХранилищеПаролей.Удалить(Сертификат);
ДополнительныеПараметры.Вставить("ПарольВПамяти",
Ложь);
КонецЕсли;
РеквизитПароль = ?(СвойстваПароля.Значение <> "",
"****************", "");
Возврат;
КонецЕсли;
Если
ДополнительныеПараметры.ПриИзмененииСвойствСертификата
Тогда
Возврат;
КонецЕсли;
Значение = ХранилищеПаролей.Получить(Сертификат);
ДополнительныеПараметры.Вставить(
"ПарольВПамяти",Значение<>Неопределено);
РеквизитЗапомнитьПароль =
ДополнительныеПараметры.ПарольВПамяти;
СвойстваПароля.Значение = Строка(Значение);
СвойстваПароля.ПарольПроверен =
ДополнительныеПараметры.ПарольВПамяти;
Значение = Неопределено;
РеквизитПароль = ?(СвойстваПароля.Значение <> "",
"****************", "");
КонецПроцедуры
100
Модуль ОбменСБанкамиСлужебныйВызовСервера
&НаСервере
Функция ЗагрузкаДоступна_(Доступ = Ложь) Экспорт
Доступ =
Пользователи.ТекущийПользователь().Наименование="_1С_Загр
узка_Выписки";
Возврат Доступ;
КонецФункции
Функция ПолучитьПароль(Сертификат, РеквизитПароль =
Неопределено) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ПараметрыОбменСБанками.НастройкаОбмена КАК
НастройкаОбмена,
| ПараметрыОбменСБанками.Пароль КАК Пароль
|ИЗ
| РегистрСведений.ПараметрыОбменСБанками КАК
ПараметрыОбменСБанками
|ГДЕ
| ПараметрыОбменСБанками.НастройкаОбмена =
&НастройкаОбмена";
НастройкаОбмена =
Справочники.НастройкиОбменСБанками.НайтиПоРеквизиту("Орг
анизация", Сертификат.Организация);
Запрос.УстановитьПараметр("НастройкаОбмена",
НастройкаОбмена);
Выборка = Запрос.Выполнить().Выгрузить();
Если Выборка.Количество() > 0 Тогда
РеквизитПароль = Выборка[0].Пароль;
КонецЕсли;
Возврат РеквизитПароль;
КонецФункции

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)