#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Перем ОтборТипыПредупреждений;
ПодсистемаВерсионированияСуществует = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов");
КэшЗначений = Новый Структура;
КэшЗначений.Вставить("ПодсистемаВерсионированияСуществует", ПодсистемаВерсионированияСуществует);
КэшЗначений.Вставить("НепринятыеДанныеПоКоллизии", Неопределено);
КэшЗначений.Вставить("ПринятыеДанныеПоКоллизии", Неопределено);
КэшЗначений.Вставить("НепринятыйПоДатеЗапретаОбъектНеСуществуетВБазе", Неопределено);
КэшЗначений.Вставить("НепринятыйПоДатеЗапретаОбъектСуществуетВБазе", Неопределено);
КэшЗначений.Вставить("СообщениеОбменаНеПомещеноВАрхив", Неопределено);
Если ПодсистемаВерсионированияСуществует Тогда
МенеджерПеречисления = Перечисления["ТипыВерсийОбъекта"];
КэшЗначений.НепринятыеДанныеПоКоллизии = МенеджерПеречисления.НепринятыеДанныеПоКоллизии;
КэшЗначений.ПринятыеДанныеПоКоллизии = МенеджерПеречисления.ПринятыеДанныеПоКоллизии;
КэшЗначений.НепринятыйПоДатеЗапретаОбъектНеСуществуетВБазе = МенеджерПеречисления.НепринятыйПоДатеЗапретаОбъектНеСуществуетВБазе;
КэшЗначений.НепринятыйПоДатеЗапретаОбъектСуществуетВБазе = МенеджерПеречисления.НепринятыйПоДатеЗапретаОбъектСуществуетВБазе;
Элементы.НепринятыйПоДатеЗапретаОбъектСуществуетВБазе.Видимость = Истина;
Элементы.НепринятыйПоДатеЗапретаОбъектНеСуществуетВБазе.Видимость = Истина;
Элементы.ПринятыеДанныеПоКоллизии.Видимость = Истина;
Элементы.НепринятыеДанныеПоКоллизии.Видимость = Истина;
КонецЕсли;
Параметры.Свойство("ОтборТипыПредупреждений", ОтборТипыПредупреждений);
ЗначенияОтбораТиповПредупрежденийВРеквизитыФормы(ОтборТипыПредупреждений);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ОК(Команда)
СоответствиеРеквизитов = Новый Соответствие;
СоответствиеРеквизитов.Вставить("АдминистративнаяОшибкаПриложения", ПредопределенноеЗначение("Перечисление.ТипыПроблемОбменаДанными.АдминистративнаяОшибкаПриложения"));
СоответствиеРеквизитов.Вставить("НезаполненныеРеквизиты", ПредопределенноеЗначение("Перечисление.ТипыПроблемОбменаДанными.НезаполненныеРеквизиты"));
СоответствиеРеквизитов.Вставить("НепроведенныйДокумент", ПредопределенноеЗначение("Перечисление.ТипыПроблемОбменаДанными.НепроведенныйДокумент"));
СоответствиеРеквизитов.Вставить("ОшибкаПроверкиПередОтправкойXTDO", ПредопределенноеЗначение("Перечисление.ТипыПроблемОбменаДанными.ОшибкаПроверкиСконвертированногоОбъекта"));
СоответствиеРеквизитов.Вставить("ОшибкаВыполненияКодаОбработчиковПриПолученииДанных", ПредопределенноеЗначение("Перечисление.ТипыПроблемОбменаДанными.ОшибкаВыполненияКодаОбработчиковПриПолученииДанных"));
СоответствиеРеквизитов.Вставить("ОшибкаВыполненияКодаОбработчиковПриОтправкеДанных", ПредопределенноеЗначение("Перечисление.ТипыПроблемОбменаДанными.ОшибкаВыполненияКодаОбработчиковПриОтправкеДанных"));
СоответствиеРеквизитов.Вставить("СообщениеОбменаНеПомещеноВАрхив", ПредопределенноеЗначение("Перечисление.ТипыПроблемОбменаДанными.СообщениеОбменаНеПомещеноВАрхив"));
Если КэшЗначений.ПодсистемаВерсионированияСуществует Тогда
СоответствиеРеквизитов.Вставить("НепринятыеДанныеПоКоллизии", КэшЗначений.НепринятыеДанныеПоКоллизии);
СоответствиеРеквизитов.Вставить("ПринятыеДанныеПоКоллизии", КэшЗначений.ПринятыеДанныеПоКоллизии);
СоответствиеРеквизитов.Вставить("НепринятыйПоДатеЗапретаОбъектНеСуществуетВБазе", КэшЗначений.НепринятыйПоДатеЗапретаОбъектНеСуществуетВБазе);
СоответствиеРеквизитов.Вставить("НепринятыйПоДатеЗапретаОбъектСуществуетВБазе", КэшЗначений.НепринятыйПоДатеЗапретаОбъектСуществуетВБазе);
КонецЕсли;
ОтборТипыПредупреждений = Новый Массив;
Для каждого ЗначениеСоответствия Из СоответствиеРеквизитов Цикл
Если ЭтотОбъект[ЗначениеСоответствия.Ключ] Тогда
ОтборТипыПредупреждений.Добавить(ЗначениеСоответствия.Значение);
КонецЕсли;
КонецЦикла;
Закрыть(ОтборТипыПредупреждений);
КонецПроцедуры
&НаКлиенте
Процедура Сбросить(Команда)
АдминистративнаяОшибкаПриложения = Ложь;
НезаполненныеРеквизиты = Ложь;
НепроведенныйДокумент = Ложь;
ОшибкаПроверкиПередОтправкойXTDO = Ложь;
ОшибкаВыполненияКодаОбработчиковПриПолученииДанных = Ложь;
ОшибкаВыполненияКодаОбработчиковПриОтправкеДанных = Ложь;
НепринятыеДанныеПоКоллизии = Ложь;
НепринятыйПоДатеЗапретаОбъектНеСуществуетВБазе = Ложь;
НепринятыйПоДатеЗапретаОбъектСуществуетВБазе = Ложь;
ПринятыеДанныеПоКоллизии = Ложь;
СообщениеОбменаНеПомещеноВАрхив = Ложь;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура ЗначенияОтбораТиповПредупрежденийВРеквизитыФормы(ОтборТипыПредупреждений)
Если ТипЗнч(ОтборТипыПредупреждений) <> Тип("Массив") Тогда
Возврат;
КонецЕсли;
СоответствиеРеквизитов = Новый Соответствие;
СоответствиеРеквизитов.Вставить(Перечисления.ТипыПроблемОбменаДанными.АдминистративнаяОшибкаПриложения, "АдминистративнаяОшибкаПриложения");
СоответствиеРеквизитов.Вставить(Перечисления.ТипыПроблемОбменаДанными.НезаполненныеРеквизиты, "НезаполненныеРеквизиты");
СоответствиеРеквизитов.Вставить(Перечисления.ТипыПроблемОбменаДанными.НепроведенныйДокумент, "НепроведенныйДокумент");
СоответствиеРеквизитов.Вставить(Перечисления.ТипыПроблемОбменаДанными.ОшибкаПроверкиСконвертированногоОбъекта, "ОшибкаПроверкиПередОтправкойXTDO");
СоответствиеРеквизитов.Вставить(Перечисления.ТипыПроблемОбменаДанными.ОшибкаВыполненияКодаОбработчиковПриПолученииДанных, "ОшибкаВыполненияКодаОбработчиковПриПолученииДанных");
СоответствиеРеквизитов.Вставить(Перечисления.ТипыПроблемОбменаДанными.ОшибкаВыполненияКодаОбработчиковПриОтправкеДанных, "ОшибкаВыполненияКодаОбработчиковПриОтправкеДанных");
СоответствиеРеквизитов.Вставить(Перечисления.ТипыПроблемОбменаДанными.СообщениеОбменаНеПомещеноВАрхив, "СообщениеОбменаНеПомещеноВАрхив");
Если КэшЗначений.ПодсистемаВерсионированияСуществует Тогда
СоответствиеРеквизитов.Вставить(КэшЗначений.НепринятыеДанныеПоКоллизии, "НепринятыеДанныеПоКоллизии");
СоответствиеРеквизитов.Вставить(КэшЗначений.ПринятыеДанныеПоКоллизии, "ПринятыеДанныеПоКоллизии");
СоответствиеРеквизитов.Вставить(КэшЗначений.НепринятыйПоДатеЗапретаОбъектНеСуществуетВБазе, "НепринятыйПоДатеЗапретаОбъектНеСуществуетВБазе");
СоответствиеРеквизитов.Вставить(КэшЗначений.НепринятыйПоДатеЗапретаОбъектСуществуетВБазе, "НепринятыйПоДатеЗапретаОбъектСуществуетВБазе");
КонецЕсли;
Для каждого ТипПредупреждения Из ОтборТипыПредупреждений Цикл
ЭтотОбъект[СоответствиеРеквизитов[ТипПредупреждения]] = Истина;
КонецЦикла;
КонецПроцедуры
#КонецОбласти