Files
SSL/SSL/src/InformationRegisters/РезультатыОбменаДанными/Forms/Форма/Module.bsl
T
2019-09-13 00:18:00 +03:00

1563 lines
97 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьУсловноеОформление();
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов") Тогда
Элементы.НепроведенныеДокументыКонтекстноеМеню.ПодчиненныеЭлементы.НепроведенныеДокументыКонтекстноеМенюИзменитьВыделенныеДокументы.Видимость = Ложь;
Элементы.НепроведенныеДокументыИзменитьВыделенныеДокументы.Видимость = Ложь;
Элементы.НезаполненныеРеквизитыКонтекстноеМеню.ПодчиненныеЭлементы.НезаполненныеРеквизитыКонтекстноеМенюИзменитьВыделенныеОбъекты.Видимость = Ложь;
Элементы.НезаполненныеРеквизитыИзменитьВыделенныеОбъекты.Видимость = Ложь;
КонецЕсли;
ИспользуетсяДатыЗапретаИзменения =
ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДатыЗапретаИзменения");
ИспользуетсяВерсионирование = ОбменДаннымиПовтИсп.ИспользуетсяВерсионирование(, Истина);
Если ИспользуетсяВерсионирование Тогда
МодульВерсионированиеОбъектов = ОбщегоНазначения.ОбщийМодуль("ВерсионированиеОбъектов");
МодульВерсионированиеОбъектов.ИнициализацияДинамическогоСпискаПроблемныхВерсий(Коллизии, "Коллизии");
Если ИспользуетсяДатыЗапретаИзменения Тогда
МодульВерсионированиеОбъектов.ИнициализацияДинамическогоСпискаПроблемныхВерсий(НепринятыеПоДате, "НепринятыеПоДате");
КонецЕсли;
КонецЕсли;
Элементы.СтраницаКоллизии.Видимость = ИспользуетсяВерсионирование;
Элементы.СтраницаНепринятыеПоДатеЗапрета.Видимость = ИспользуетсяВерсионирование И ИспользуетсяДатыЗапретаИзменения;
// Устанавливаем отборы динамических списков и сохраняем их в реквизите для управления ими.
НастроитьОтборыДинамическихСписков(НастройкиОтборовДинамическихСписков);
Если ОбщегоНазначения.РазделениеВключено() И ИспользуетсяВерсионирование Тогда
Элементы.КоллизииАвторДругойВерсии.Заголовок = НСтр("ru = 'Версия получена из приложения'");
КонецЕсли;
ЗаполнитьСписокУзлов();
ОбновитьОтборыИПроигнорированные();
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ОбновитьОтображениеПодробногоОписанияПроблемы();
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Если ЗавершениеРаботы Тогда
Возврат;
КонецЕсли;
Оповестить("ЗакрытаФормаРезультатовОбменаДанными");
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
ОбновитьНаСервере();
КонецПроцедуры
&НаСервере
Процедура ПриЗагрузкеДанныхИзНастроекНаСервере(Настройки)
ОбновитьОтборыИПроигнорированные();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура СтрокаПоискаПриИзменении(Элемент)
ОбновитьОтборПоПричине();
КонецПроцедуры
&НаКлиенте
Процедура ПериодПриИзменении(Элемент)
ОбновитьОтборПоПериоду();
КонецПроцедуры
&НаКлиенте
Процедура УзелИнформационнойБазыОчистка(Элемент, СтандартнаяОбработка)
УзелИнформационнойБазы = Неопределено;
ОбновитьОтборПоУзлу();
КонецПроцедуры
&НаКлиенте
Процедура УзелИнформационнойБазыПриИзменении(Элемент)
ОбновитьОтборПоУзлу();
КонецПроцедуры
&НаКлиенте
Процедура УзелИнформационнойБазыНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если Не Элементы.УзелИнформационнойБазы.РежимВыбораИзСписка Тогда
СтандартнаяОбработка = Ложь;
Обработчик = Новый ОписаниеОповещения("УзелИнформационнойБазыНачалоВыбораЗавершение", ЭтотОбъект);
Режим = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
ОткрытьФорму("ОбщаяФорма.ВыборУзловПлановОбмена",,,,,, Обработчик, Режим);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УзелИнформационнойБазыНачалоВыбораЗавершение(РезультатЗакрытия, ДополнительныеПараметры) Экспорт
УзелИнформационнойБазы = РезультатЗакрытия;
ОбновитьОтборПоУзлу();
КонецПроцедуры
&НаКлиенте
Процедура УзелИнформационнойБазыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
УзелИнформационнойБазы = ВыбранноеЗначение;
КонецПроцедуры
&НаКлиенте
Процедура РезультатыОбменаДаннымиПриСменеСтраницы(Элемент, ТекущаяСтраница)
Если ТекущаяСтраница = Элементы.СтраницаКоллизии Тогда
Элементы.СтрокаПоиска.Доступность = Ложь;
Иначе
Элементы.СтрокаПоиска.Доступность = Истина;
КонецЕсли;
ОбновитьОтображениеПодробногоОписанияПроблемы();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыНепроведенныеДокументы
&НаКлиенте
Процедура НепроведенныеДокументыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОткрытьОбъект(Элементы.НепроведенныеДокументы);
КонецПроцедуры
&НаКлиенте
Процедура НепроведенныеДокументыПередНачаломИзменения(Элемент, Отказ)
ИзменениеОбъекта();
Отказ = Истина;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыНезаполненныеРеквизиты
&НаКлиенте
Процедура НезаполненныеРеквизитыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОткрытьОбъект(Элементы.НезаполненныеРеквизиты);
КонецПроцедуры
&НаКлиенте
Процедура НезаполненныеРеквизитыПередНачаломИзменения(Элемент, Отказ)
ИзменениеОбъекта();
Отказ = Истина;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыОшибкиXDTO
&НаКлиенте
Процедура ОшибкиОбъектаXDTOВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОткрытьОбъект(Элементы.ОшибкиОбъектаXDTO);
КонецПроцедуры
&НаКлиенте
Процедура ОшибкиОбъектаXDTOПередНачаломИзменения(Элемент, Отказ)
ИзменениеОбъекта();
Отказ = Истина;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыКоллизии
&НаКлиенте
Процедура КоллизииПередНачаломИзменения(Элемент, Отказ)
ИзменениеОбъекта();
Отказ = Истина;
КонецПроцедуры
&НаКлиенте
Процедура КоллизииПриАктивизацииСтроки(Элемент)
Если Элемент.ТекущиеДанные <> Неопределено Тогда
Если Элемент.ТекущиеДанные.ДругаяВерсияПринята Тогда
ПричинаКонфликта = НСтр("ru = 'Конфликт был разрешен автоматически в пользу программы ""%1"".
|Версия в этой программе была заменена на версию из другой программы.'");
ПричинаКонфликта = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ПричинаКонфликта, Элемент.ТекущиеДанные.АвторДругойВерсии);
Иначе
ПричинаКонфликта =НСтр("ru = 'Конфликт был разрешен автоматически в пользу этой программы.
|Версия в этой программе была сохранена, версия из другой программы была отклонена.'");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыНепринятыПоДате
&НаКлиенте
Процедура НепринятыеПоДатеПередНачаломИзменения(Элемент, Отказ)
ИзменениеОбъекта();
Отказ = Истина;
КонецПроцедуры
&НаКлиенте
Процедура НепринятыеПоДатеПриАктивизацииСтроки(Элемент)
Если Элемент.ТекущиеДанные <> Неопределено Тогда
Если Элемент.ТекущиеДанные.НовыйОбъект Тогда
Элементы.НепринятыеПоДатеПринятьВерсию.Доступность = Ложь;
Иначе
Элементы.НепринятыеПоДатеПринятьВерсию.Доступность = Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ПоказатьИнформациюДляТехническихСпециалистов(Команда)
ПараметрыОтбораЖурнала = ПодготовитьОтборыЖурналаРегистрации();
ОткрытьФорму("Обработка.ЖурналРегистрации.Форма", ПараметрыОтбораЖурнала, ЭтотОбъект,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура Изменить(Команда)
ИзменениеОбъекта();
КонецПроцедуры
&НаКлиенте
Процедура ИгнорироватьДокумент(Команда)
Игнорировать(Элементы.НепроведенныеДокументы.ВыделенныеСтроки, Истина, "НепроведенныеДокументы");
КонецПроцедуры
&НаКлиенте
Процедура НеИгнорироватьДокумент(Команда)
Игнорировать(Элементы.НепроведенныеДокументы.ВыделенныеСтроки, Ложь, "НепроведенныеДокументы");
КонецПроцедуры
&НаКлиенте
Процедура НеИгнорироватьОбъект(Команда)
Игнорировать(Элементы.НезаполненныеРеквизиты.ВыделенныеСтроки, Ложь, "НезаполненныеРеквизиты");
КонецПроцедуры
&НаКлиенте
Процедура ИгнорироватьОбъект(Команда)
Игнорировать(Элементы.НезаполненныеРеквизиты.ВыделенныеСтроки, Истина, "НезаполненныеРеквизиты");
КонецПроцедуры
&НаКлиенте
Процедура НеИгнорироватьОшибку(Команда)
Игнорировать(Элементы.ОшибкиОбъектаXDTO.ВыделенныеСтроки, Ложь, "ОшибкиОбъектаXDTO");
КонецПроцедуры
&НаКлиенте
Процедура ИгнорироватьОшибку(Команда)
Игнорировать(Элементы.ОшибкиОбъектаXDTO.ВыделенныеСтроки, Истина, "ОшибкиОбъектаXDTO");
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьВыделенныеДокументы(Команда)
ИзменитьВыделенные(Элементы.НепроведенныеДокументы);
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьВыделенныеОбъекты(Команда)
ИзменитьВыделенные(Элементы.НезаполненныеРеквизиты);
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьВыделенныеОшибкиПроверки(Команда)
ИзменитьВыделенные(Элементы.ОшибкиОбъектаXDTO);
КонецПроцедуры
&НаКлиенте
Процедура Обновить(Команда)
ОбновитьНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ПровестиДокумент(Команда)
ОчиститьСообщения();
ПровестиДокументы(Элементы.НепроведенныеДокументы.ВыделенныеСтроки);
ОбновитьНаСервере("НепроведенныеДокументы");
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьОтличияНепринятые(Команда)
ПоказатьОтличия(Элементы.НепринятыеПоДате);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьВерсиюНепринятые(Команда)
Если Элементы.НепринятыеПоДате.ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
СравниваемыеВерсии = Новый Массив;
СравниваемыеВерсии.Добавить(Элементы.НепринятыеПоДате.ТекущиеДанные.НомерДругойВерсии);
ОткрытьОтчетСравненияВерсий(Элементы.НепринятыеПоДате.ТекущиеДанные.Ссылка, СравниваемыеВерсии);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьВерсиюНепринятыеВЭтойПрограмме(Команда)
Если Элементы.НепринятыеПоДате.ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
СравниваемыеВерсии = Новый Массив;
СравниваемыеВерсии.Добавить(Элементы.НепринятыеПоДате.ТекущиеДанные.НомерЭтойВерсии);
ОткрытьОтчетСравненияВерсий(Элементы.НепринятыеПоДате.ТекущиеДанные.Ссылка, СравниваемыеВерсии);
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьОтличияКоллизии(Команда)
ПоказатьОтличия(Элементы.Коллизии);
КонецПроцедуры
&НаКлиенте
Процедура ИгнорироватьКонфликт(Команда)
ИгнорироватьВерсию(Элементы.Коллизии.ВыделенныеСтроки, Истина, "Коллизии");
КонецПроцедуры
&НаКлиенте
Процедура ИгнорироватьНепринятый(Команда)
ИгнорироватьВерсию(Элементы.НепринятыеПоДате.ВыделенныеСтроки, Истина, "НепринятыеПоДате");
КонецПроцедуры
&НаКлиенте
Процедура НеИгнорироватьКонфликт(Команда)
ИгнорироватьВерсию(Элементы.Коллизии.ВыделенныеСтроки, Ложь, "Коллизии");
КонецПроцедуры
&НаКлиенте
Процедура НеИгнорироватьНепринятый(Команда)
ИгнорироватьВерсию(Элементы.НепринятыеПоДате.ВыделенныеСтроки, Ложь, "НепринятыеПоДате");
КонецПроцедуры
&НаКлиенте
Процедура ПринятьВерсиюНепринятые(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ПринятьВерсиюНепринятыеЗавершение", ЭтотОбъект);
ПоказатьВопрос(ОписаниеОповещения, НСтр("ru = 'Принять версию, несмотря на запрет загрузки?'"), РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет);
КонецПроцедуры
&НаКлиенте
Процедура ПринятьВерсиюНепринятыеЗавершение(Ответ, ДополнительныеПараметры) Экспорт
Если Ответ = КодВозвратаДиалога.Да Тогда
ПринятьОтклонитьВерсиюНаСервере(Элементы.НепринятыеПоДате.ВыделенныеСтроки, "НепринятыеПоДате");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьВерсиюДоКонфликта(Команда)
ТекущиеДанные = Элементы.Коллизии.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ОткрытьВерсиюНаКлиенте(Элементы.Коллизии.ТекущиеДанные, ТекущиеДанные.НомерЭтойВерсии);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьВерсиюКонфликта(Команда)
ТекущиеДанные = Элементы.Коллизии.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ОткрытьВерсиюНаКлиенте(Элементы.Коллизии.ТекущиеДанные, ТекущиеДанные.НомерДругойВерсии);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПроигнорированныеКонфликты(Команда)
ПоказыватьПроигнорированныеКонфликты = Не ПоказыватьПроигнорированныеКонфликты;
ПоказыватьПроигнорированныеКонфликтыНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПроигнорированныеНезаполненные(Команда)
ПоказыватьПроигнорированныеНезаполненные = Не ПоказыватьПроигнорированныеНезаполненные;
ПоказыватьПроигнорированныеНезаполненныеНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПроигнорированныеОшибки(Команда)
ПоказыватьПроигнорированныеОшибки = Не ПоказыватьПроигнорированныеОшибки;
ПоказыватьПроигнорированныеОшибкиНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПроигнорированныеНепринятые(Команда)
ПоказыватьПроигнорированныеНепринятые = Не ПоказыватьПроигнорированныеНепринятые;
ПоказыватьПроигнорированныеНепринятыеНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПроигнорированныеНепроведенные(Команда)
ПоказыватьПроигнорированныеНепроведенные = Не ПоказыватьПроигнорированныеНепроведенные;
ПоказыватьПроигнорированныеНепроведенныеНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьРезультатКонфликта(Команда)
Если Элементы.Коллизии.ТекущиеДанные <> Неопределено Тогда
Если Элементы.Коллизии.ТекущиеДанные.ДругаяВерсияПринята Тогда
ТекстВопроса = НСтр("ru = 'Заменить версию, полученную из другой программы, на версию из этой программы?'");
Иначе
ТекстВопроса = НСтр("ru = 'Заменить версию этой программы на версию, полученную из другой программы?'");
КонецЕсли;
ОписаниеОповещения = Новый ОписаниеОповещения("ИзменитьРезультатКонфликтаЗавершение", ЭтотОбъект);
ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьРезультатКонфликтаЗавершение(Ответ, ДополнительныеПараметры) Экспорт
Если Ответ = КодВозвратаДиалога.Да Тогда
ПринятьОтклонитьВерсиюНаСервере(Элементы.Коллизии.ВыделенныеСтроки, "Коллизии");
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ОбновитьОтображениеПодробногоОписанияПроблемы()
Элементы.ПанельПодробноеОписание.ТекущаяСтраница = Элементы[Элементы.РезультатыОбменаДанными.ТекущаяСтраница.Имя + "ПодробноеОписание"];
КонецПроцедуры
&НаСервере
Функция ПодготовитьОтборыЖурналаРегистрации();
УровниПредупреждений = Новый Массив();
УровниПредупреждений.Добавить(Строка(УровеньЖурналаРегистрации.Ошибка));
УровниПредупреждений.Добавить(Строка(УровеньЖурналаРегистрации.Предупреждение));
ПараметрыОтбораЖурнала = Новый Структура;
ПараметрыОтбораЖурнала.Вставить("СобытиеЖурналаРегистрации", ОбменДаннымиСервер.СобытиеЖурналаРегистрацииОбменДанными());
ПараметрыОтбораЖурнала.Вставить("Уровень", УровниПредупреждений);
Возврат ПараметрыОтбораЖурнала;
КонецФункции
&НаСервере
Процедура Игнорировать(Знач ВыделенныеСтроки, Пропустить, ИмяЭлемента)
Для Каждого ВыделеннаяСтрока Из ВыделенныеСтроки Цикл
Если ТипЗнч(ВыделеннаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
Продолжить;
КонецЕсли;
РегистрыСведений.РезультатыОбменаДанными.Игнорировать(ВыделеннаяСтрока.ПроблемныйОбъект, ВыделеннаяСтрока.ТипПроблемы, Пропустить);
КонецЦикла;
ОбновитьНаСервере(ИмяЭлемента);
КонецПроцедуры
&НаСервере
Процедура ПоказыватьПроигнорированныеКонфликтыНаСервере(Обновлять = Истина)
Элементы.КоллизииПоказыватьПроигнорированныеКонфликты.Пометка = ПоказыватьПроигнорированныеКонфликты;
Отбор = Коллизии.КомпоновщикНастроек.Настройки.Отбор;
ЭлементОтбора = Отбор.ПолучитьОбъектПоИдентификатору( НастройкиОтборовДинамическихСписков.Коллизии.ВерсияПроигнорирована );
ЭлементОтбора.ПравоеЗначение = ПоказыватьПроигнорированныеКонфликты;
ЭлементОтбора.Использование = Не ПоказыватьПроигнорированныеКонфликты;
Если Обновлять Тогда
ОбновитьНаСервере("Коллизии");
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПоказыватьПроигнорированныеНезаполненныеНаСервере(Обновлять = Истина)
Элементы.НезаполненныеРеквизитыПоказыватьПроигнорированныеНезаполненные.Пометка = ПоказыватьПроигнорированныеНезаполненные;
Отбор = НезаполненныеРеквизиты.КомпоновщикНастроек.Настройки.Отбор;
ЭлементОтбора = Отбор.ПолучитьОбъектПоИдентификатору( НастройкиОтборовДинамическихСписков.НезаполненныеРеквизиты.Пропущена );
ЭлементОтбора.ПравоеЗначение = ПоказыватьПроигнорированныеНезаполненные;
ЭлементОтбора.Использование = Не ПоказыватьПроигнорированныеНезаполненные;
Если Обновлять Тогда
ОбновитьНаСервере("НезаполненныеРеквизиты");
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПоказыватьПроигнорированныеОшибкиНаСервере(Обновлять = Истина)
Элементы.ОшибкиОбъектаXDTOПоказыватьПроигнорированные.Пометка = ПоказыватьПроигнорированныеОшибки;
Отбор = ОшибкиОбъектаXDTO.КомпоновщикНастроек.Настройки.Отбор;
ЭлементОтбора = Отбор.ПолучитьОбъектПоИдентификатору( НастройкиОтборовДинамическихСписков.ОшибкиОбъектаXDTO.Пропущена );
ЭлементОтбора.ПравоеЗначение = ПоказыватьПроигнорированныеОшибки;
ЭлементОтбора.Использование = Не ПоказыватьПроигнорированныеОшибки;
Если Обновлять Тогда
ОбновитьНаСервере("НезаполненныеРеквизиты");
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПоказыватьПроигнорированныеНепринятыеНаСервере(Обновлять = Истина)
Элементы.НепринятыеПоДатеПоказыватьПроигнорированныеНепринятые.Пометка = ПоказыватьПроигнорированныеНепринятые;
Отбор = НепринятыеПоДате.КомпоновщикНастроек.Настройки.Отбор;
ЭлементОтбора = Отбор.ПолучитьОбъектПоИдентификатору( НастройкиОтборовДинамическихСписков.НепринятыеПоДате.ВерсияПроигнорирована );
ЭлементОтбора.ПравоеЗначение = ПоказыватьПроигнорированныеНепринятые;
ЭлементОтбора.Использование = Не ПоказыватьПроигнорированныеНепринятые;
Если Обновлять Тогда
ОбновитьНаСервере("НепринятыеПоДате");
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПоказыватьПроигнорированныеНепроведенныеНаСервере(Обновлять = Истина)
Элементы.НепроведенныеДокументыПоказыватьПроигнорированныеНепроведенные.Пометка = ПоказыватьПроигнорированныеНепроведенные;
Отбор = НепроведенныеДокументы.КомпоновщикНастроек.Настройки.Отбор;
ЭлементОтбора = Отбор.ПолучитьОбъектПоИдентификатору( НастройкиОтборовДинамическихСписков.НепроведенныеДокументы.Пропущена );
ЭлементОтбора.ПравоеЗначение = ПоказыватьПроигнорированныеНепроведенные;
ЭлементОтбора.Использование = Не ПоказыватьПроигнорированныеНепроведенные;
Если Обновлять Тогда
ОбновитьНаСервере("НепроведенныеДокументы");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьВыделенные(Список)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов") Тогда
МодульГрупповоеИзменениеОбъектовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ГрупповоеИзменениеОбъектовКлиент");
МодульГрупповоеИзменениеОбъектовКлиент.ИзменитьВыделенные(Список);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПровестиДокументы(Знач ВыделенныеСтроки)
Для Каждого ВыделеннаяСтрока Из ВыделенныеСтроки Цикл
Если ТипЗнч(ВыделеннаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
Продолжить;
КонецЕсли;
ДокументОбъект = ВыделеннаяСтрока.ПроблемныйОбъект.ПолучитьОбъект();
Если ДокументОбъект.ПроверитьЗаполнение() Тогда
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьСписокУзлов()
ОтсутствуетОбменПоПравилам = Истина;
ОтсутствуетОбмен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.ДатаНачала);
ОтборПоПериодуОбъектПо = ЭлементОтбораДинамическогоСписка(ОшибкиОбъектаXDTO,
НастройкиОтборовДинамическихСписков.ОшибкиОбъектаXDTO.ДатаОкончания);
ОтборПоПериодуОбъектС.Использование = Использование;
ОтборПоПериодуОбъектПо.Использование = Использование;
ОтборПоПериодуОбъектС.ПравоеЗначение = Период.ДатаНачала;
ОтборПоПериодуОбъектПо.ПравоеЗначение = Период.ДатаОкончания;
Если ИспользуетсяВерсионирование Тогда
ОтборПоПериодуКоллизииС = ЭлементОтбораДинамическогоСписка(Коллизии,
НастройкиОтборовДинамическихСписков.Коллизии.ДатаНачала);
ОтборПоПериодуКоллизииПо = ЭлементОтбораДинамическогоСписка(Коллизии,
НастройкиОтборовДинамическихСписков.Коллизии.ДатаОкончания);
ОтборПоПериодуКоллизииС.Использование = Использование;
ОтборПоПериодуКоллизииПо.Использование = Использование;
ОтборПоПериодуКоллизииС.ПравоеЗначение = Период.ДатаНачала;
ОтборПоПериодуКоллизииПо.ПравоеЗначение = Период.ДатаОкончания;
ОтборПоПериодуНепринятыеС = ЭлементОтбораДинамическогоСписка(НепринятыеПоДате,
НастройкиОтборовДинамическихСписков.НепринятыеПоДате.ДатаНачала);
ОтборПоПериодуНепринятыеПо = ЭлементОтбораДинамическогоСписка(НепринятыеПоДате,
НастройкиОтборовДинамическихСписков.НепринятыеПоДате.ДатаОкончания);
ОтборПоПериодуНепринятыеС.Использование = Использование;
ОтборПоПериодуНепринятыеПо.Использование = Использование;
ОтборПоПериодуНепринятыеС.ПравоеЗначение = Период.ДатаНачала;
ОтборПоПериодуНепринятыеПо.ПравоеЗначение = Период.ДатаОкончания;
КонецЕсли;
Если Обновлять Тогда
ОбновитьНаСервере();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ИгнорироватьВерсию(Знач ВыделенныеСтроки, Игнорировать, ИмяЭлемента)
Для Каждого ВыделеннаяСтрока Из ВыделенныеСтроки Цикл
Если ТипЗнч(ВыделеннаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
Продолжить;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
МодульВерсионированиеОбъектов = ОбщегоНазначения.ОбщийМодуль("ВерсионированиеОбъектов");
МодульВерсионированиеОбъектов.ИгнорироватьВерсиюОбъекта(ВыделеннаяСтрока.Объект,
ВыделеннаяСтрока.НомерВерсии, Игнорировать);
КонецЕсли;
КонецЦикла;
ОбновитьНаСервере(ИмяЭлемента);
КонецПроцедуры
&НаСервере
Процедура ОбновитьНаСервере(ОбновляемыйЭлемент = "")
ОбновитьСпискиФормы(ОбновляемыйЭлемент);
ОбновитьЗаголовкиСтраниц();
КонецПроцедуры
&НаСервере
Процедура ОбновитьСпискиФормы(ОбновляемыйЭлемент)
Если ЗначениеЗаполнено(ОбновляемыйЭлемент) Тогда
Элементы[ОбновляемыйЭлемент].Обновить();
Иначе
Элементы.НепроведенныеДокументы.Обновить();
Элементы.НезаполненныеРеквизиты.Обновить();
Элементы.ОшибкиОбъектаXDTO.Обновить();
Если ИспользуетсяВерсионирование Тогда
Элементы.Коллизии.Обновить();
Элементы.НепринятыеПоДате.Обновить();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбновитьЗаголовкиСтраниц()
УстановитьЗаголовокСтраницы(Элементы.СтраницаНепроведенныеДокументы, НСтр("ru= 'Непроведенные документы'"), КоличествоНепроведенныхДокументов());
УстановитьЗаголовокСтраницы(Элементы.СтраницаНезаполненныеРеквизиты, НСтр("ru= 'Незаполненные реквизиты'"), КоличествоНезаполненныхРеквизитов());
УстановитьЗаголовокСтраницы(Элементы.СтраницаОшибкиXDTO, НСтр("ru= 'Ошибки проверки конвертируемых объектов'"), КоличествоОшибокXDTO());
Если ИспользуетсяВерсионирование Тогда
УстановитьЗаголовокСтраницы(Элементы.СтраницаКоллизии, НСтр("ru= 'Конфликты'"), КоличествоКоллизий());
УстановитьЗаголовокСтраницы(Элементы.СтраницаНепринятыеПоДатеЗапрета, НСтр("ru= 'Непринятые по дате запрета'"), КоличествоНепринятых());
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьВерсиюНаКлиенте(ТекущиеДанные, Версия)
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
СравниваемыеВерсии = Новый Массив;
СравниваемыеВерсии.Добавить(Версия);
ОткрытьОтчетСравненияВерсий(ТекущиеДанные.Ссылка, СравниваемыеВерсии);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьОтчетСравненияВерсий(Ссылка, СравниваемыеВерсии)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
МодульВерсионированиеОбъектовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ВерсионированиеОбъектовКлиент");
МодульВерсионированиеОбъектовКлиент.ОткрытьОтчетСравненияВерсий(Ссылка, СравниваемыеВерсии);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПринятьОтклонитьВерсиюНаСервере(Знач ВыделенныеСтроки, ИмяЭлемента)
Для Каждого ВыделеннаяСтрока Из ВыделенныеСтроки Цикл
Если ТипЗнч(ВыделеннаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
Продолжить;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
МодульВерсионированиеОбъектов = ОбщегоНазначения.ОбщийМодуль("ВерсионированиеОбъектов");
МодульВерсионированиеОбъектов.ПриПереходеНаВерсиюОбъекта(ВыделеннаяСтрока.Объект,
ВыделеннаяСтрока.НомерВерсии);
КонецЕсли;
КонецЦикла;
ОбновитьНаСервере(ИмяЭлемента);
КонецПроцедуры
&НаСервере
Процедура НастроитьОтборыДинамическихСписков(Результат)
Результат = Новый Структура;
// Непроведенные документы
Отбор = НепроведенныеДокументы.КомпоновщикНастроек.Настройки.Отбор;
Результат.Вставить("НепроведенныеДокументы", Новый Структура);
Настройка = Результат.НепроведенныеДокументы;
Настройка.Вставить("Пропущена", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "Пропущена", ВидСравненияКомпоновкиДанных.Равно, Ложь, ,Истина)));
Настройка.Вставить("ДатаНачала", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "ДатаВозникновения", ВидСравненияКомпоновкиДанных.БольшеИлиРавно, '00010101', , Истина)));
Настройка.Вставить("ДатаОкончания", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "ДатаВозникновения", ВидСравненияКомпоновкиДанных.МеньшеИлиРавно, '00010101', , Истина)));
Настройка.Вставить("УзелРавно", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "УзелИнформационнойБазы", ВидСравненияКомпоновкиДанных.Равно, Неопределено, , Ложь)));
Настройка.Вставить("Причина", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "Причина", ВидСравненияКомпоновкиДанных.Содержит, Неопределено, , Ложь)));
Настройка.Вставить("УзелВСписке", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "УзелИнформационнойБазы", ВидСравненияКомпоновкиДанных.ВСписке, Неопределено, , Ложь)));
// Незаполненные реквизиты
Отбор = НезаполненныеРеквизиты.КомпоновщикНастроек.Настройки.Отбор;
Результат.Вставить("НезаполненныеРеквизиты", Новый Структура);
Настройка = Результат.НезаполненныеРеквизиты;
Настройка.Вставить("Пропущена", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "Пропущена", ВидСравненияКомпоновкиДанных.Равно, Ложь, ,Истина)));
Настройка.Вставить("ДатаНачала", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "ДатаВозникновения", ВидСравненияКомпоновкиДанных.БольшеИлиРавно, '00010101', , Истина)));
Настройка.Вставить("ДатаОкончания", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "ДатаВозникновения", ВидСравненияКомпоновкиДанных.МеньшеИлиРавно, '00010101', , Истина)));
Настройка.Вставить("УзелРавно", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "УзелИнформационнойБазы", ВидСравненияКомпоновкиДанных.Равно, Неопределено, , Ложь)));
Настройка.Вставить("Причина", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "Причина", ВидСравненияКомпоновкиДанных.Содержит, Неопределено, , Ложь)));
Настройка.Вставить("УзелВСписке", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "УзелИнформационнойБазы", ВидСравненияКомпоновкиДанных.ВСписке, Неопределено, , Ложь)));
// Ошибки XDTO
Отбор = ОшибкиОбъектаXDTO.КомпоновщикНастроек.Настройки.Отбор;
Результат.Вставить("ОшибкиОбъектаXDTO", Новый Структура);
Настройка = Результат.ОшибкиОбъектаXDTO;
Настройка.Вставить("Пропущена", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "Пропущена", ВидСравненияКомпоновкиДанных.Равно, Ложь, ,Истина)));
Настройка.Вставить("ДатаНачала", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "ДатаВозникновения", ВидСравненияКомпоновкиДанных.БольшеИлиРавно, '00010101', , Истина)));
Настройка.Вставить("ДатаОкончания", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "ДатаВозникновения", ВидСравненияКомпоновкиДанных.МеньшеИлиРавно, '00010101', , Истина)));
Настройка.Вставить("УзелРавно", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "УзелИнформационнойБазы", ВидСравненияКомпоновкиДанных.Равно, Неопределено, , Ложь)));
Настройка.Вставить("Причина", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "Причина", ВидСравненияКомпоновкиДанных.Содержит, Неопределено, , Ложь)));
Настройка.Вставить("УзелВСписке", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "УзелИнформационнойБазы", ВидСравненияКомпоновкиДанных.ВСписке, Неопределено, , Ложь)));
Если ИспользуетсяВерсионирование Тогда
// Конфликты
Отбор = Коллизии.КомпоновщикНастроек.Настройки.Отбор;
Результат.Вставить("Коллизии", Новый Структура);
Настройка = Результат.Коллизии;
Настройка.Вставить("АвторРавно", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "АвторДругойВерсии", ВидСравненияКомпоновкиДанных.Равно, Неопределено, ,Ложь)));
Настройка.Вставить("ДатаНачала", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "Дата", ВидСравненияКомпоновкиДанных.БольшеИлиРавно, '00010101', , Истина)));
Настройка.Вставить("ДатаОкончания", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "Дата", ВидСравненияКомпоновкиДанных.МеньшеИлиРавно, '00010101', , Истина)));
Настройка.Вставить("ВерсияПроигнорирована", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "ВерсияПроигнорирована", ВидСравненияКомпоновкиДанных.Равно, Ложь, , Истина)));
Настройка.Вставить("АвторВСписке", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "АвторДругойВерсии", ВидСравненияКомпоновкиДанных.ВСписке, Неопределено, ,Ложь)));
// Непринятые по дате запрета
Отбор = НепринятыеПоДате.КомпоновщикНастроек.Настройки.Отбор;
Результат.Вставить("НепринятыеПоДате", Новый Структура);
Настройка = Результат.НепринятыеПоДате;
Настройка.Вставить("АвторРавно", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "АвторДругойВерсии", ВидСравненияКомпоновкиДанных.Равно, Неопределено, ,Ложь)));
Настройка.Вставить("ДатаНачала", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "Дата", ВидСравненияКомпоновкиДанных.БольшеИлиРавно, '00010101', , Истина)));
Настройка.Вставить("ДатаОкончания", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "Дата", ВидСравненияКомпоновкиДанных.МеньшеИлиРавно, '00010101', , Истина)));
Настройка.Вставить("ПричинаЗапрета", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "ПричинаЗапрета", ВидСравненияКомпоновкиДанных.Равно, Неопределено, , Ложь)));
Настройка.Вставить("ВерсияПроигнорирована", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "ВерсияПроигнорирована", ВидСравненияКомпоновкиДанных.Равно, Ложь, , Истина)));
Настройка.Вставить("АвторВСписке", Отбор.ПолучитьИдентификаторПоОбъекту(
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "АвторДругойВерсии", ВидСравненияКомпоновкиДанных.ВСписке, Неопределено, ,Ложь)));
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ЭлементОтбораДинамическогоСписка(Знач ДинамическийСписок, Знач Идентификатор)
Возврат ДинамическийСписок.КомпоновщикНастроек.Настройки.Отбор.ПолучитьОбъектПоИдентификатору(Идентификатор);
КонецФункции
&НаСервере
Процедура ОбновитьОтборыИПроигнорированные()
ОбновитьОтборПоПериоду(Ложь);
ОбновитьОтборПоУзлу(Ложь);
ОбновитьОтборПоПричине(Ложь);
ПоказыватьПроигнорированныеНепроведенныеНаСервере(Ложь);
ПоказыватьПроигнорированныеНезаполненныеНаСервере(Ложь);
ПоказыватьПроигнорированныеОшибкиНаСервере(Ложь);
Если ИспользуетсяВерсионирование Тогда
ПоказыватьПроигнорированныеКонфликтыНаСервере(Ложь);
ПоказыватьПроигнорированныеНепринятыеНаСервере(Ложь);
КонецЕсли;
ОбновитьНаСервере();
Если Не Элементы.РезультатыОбменаДанными.ТекущаяСтраница = Элементы.РезультатыОбменаДанными.ПодчиненныеЭлементы.СтраницаКоллизии Тогда
Для Каждого Страница Из Элементы.РезультатыОбменаДанными.ПодчиненныеЭлементы Цикл
Если СтрНайти(Страница.Заголовок, "(") Тогда
Элементы.РезультатыОбменаДанными.ТекущаяСтраница = Страница;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановитьУсловноеОформление()
УсловноеОформление.Элементы.Очистить();
// Непроведенные документы.
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.НепроведенныеДокументы.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("НепроведенныеДокументы.Пропущена");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Истина;
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет);
СтандартныеПодсистемыСервер.УстановитьУсловноеОформлениеПоляДата(ЭтотОбъект,
"НепроведенныеДокументы.ДатаДокумента",
Элементы.НепроведенныеДокументыДатаДокумента.Имя);
// Коллизии.
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Коллизии.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Коллизии.ВерсияПроигнорирована");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Истина;
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет);
// Коллизии, другая версия принята, цвет текста.
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.КоллизииДругаяВерсияПринята.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Коллизии.ВерсияПроигнорирована");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Ложь;
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Коллизии.ДругаяВерсияПринята");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Ложь;
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.НепринятаяВерсия);
// Коллизии, другая версия принята, текст.
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.КоллизииДругаяВерсияПринята.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Коллизии.НомерДругойВерсии");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Удалена'"));
// Незаполненные реквизиты.
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.НезаполненныеРеквизиты.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("НезаполненныеРеквизиты.Пропущена");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Истина;
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет);
// Ошибки конвертации XDTO.
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ОшибкиОбъектаXDTO.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ОшибкиОбъектаXDTO.Пропущена");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Истина;
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет);
// Непринятые по дате.
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.НепринятыеПоДате.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("НепринятыеПоДате.ВерсияПроигнорирована");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Истина;
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет);
// Непринятые по дате, ссылка.
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.НепринятыеПоДатеСсылка.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("НепринятыеПоДате.НовыйОбъект");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Истина;
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Отсутствуют'"));
// Непринятые по дате.
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.НепринятыеПоДатеАвторДругойВерсии.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("НепринятыеПоДате.ВерсияПроигнорирована");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Ложь;
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.НепринятаяВерсия);
КонецПроцедуры
#КонецОбласти