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