ИнициализацияДинамическогоСпискаПроблемныхВерсий (БСП)

Автор: 1С
ОбщийМодуль.ВерсионированиеОбъектов
БСП

Инициализация динамического списка проблемных версий. Заполняет параметры динамического списка, отображающего проблемные версии объектов,

// Заполняет параметры динамического списка, отображающего проблемные версии объектов,
// созданные при получении данных в результате обмена данными в случае коллизий,
// либо в случае отказа от записи документов в результате непрохождения проверки по дате запрета изменения.
//
// Параметры:
//	Список - ДинамическийСписок - инициализируемый динамический список.
//	ВидПроблемы - Строка - Коллизии - происходит инициализация списка коллизий,
//                         НепринятыеПоДате - непринятых по дате.
//
Процедура ИнициализацияДинамическогоСпискаПроблемныхВерсий(Список, ВидПроблемы = "Коллизии") Экспорт
	
	Если ВидПроблемы = "НепринятыеПоДате" Тогда
		ТекстЗапроса =
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	НепринятаяВерсия.ДатаВерсии КАК Дата,
		|	НепринятаяВерсия.Объект КАК Ссылка,
		|	НепринятаяВерсия.Комментарий КАК ПричинаЗапрета,
		|	ВЫБОР
		|		КОГДА НепринятаяВерсия.ТипВерсииОбъекта = ЗНАЧЕНИЕ(Перечисление.ТипыВерсийОбъекта.НепринятыйПоДатеЗапретаОбъектСуществуетВБазе)
		|			ТОГДА ЛОЖЬ
		|		ИНАЧЕ ИСТИНА
		|	КОНЕЦ КАК НовыйОбъект,
		|	ЕСТЬNULL(НепринятаяВерсия.НомерВерсии, 0) КАК НомерДругойВерсии,
		|	НепринятаяВерсия.АвторВерсии КАК АвторДругойВерсии,
		|	ЕСТЬNULL(ТекущаяВерсия.НомерВерсии, 0) КАК НомерЭтойВерсии,
		|	ТИПЗНАЧЕНИЯ(НепринятаяВерсия.Объект) КАК ТипСтрокой,
		|	НепринятаяВерсия.ВерсияПроигнорирована КАК ВерсияПроигнорирована
		|ИЗ
		|	РегистрСведений.ВерсииОбъектов КАК НепринятаяВерсия
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВерсииОбъектов КАК ТекущаяВерсия
		|		ПО НепринятаяВерсия.Объект = ТекущаяВерсия.Объект
		|			И (НепринятаяВерсия.НомерВерсии = ТекущаяВерсия.НомерВерсии + 1)
		|ГДЕ
		|	НепринятаяВерсия.ТипВерсииОбъекта В (ЗНАЧЕНИЕ(Перечисление.ТипыВерсийОбъекта.НепринятыйПоДатеЗапретаОбъектСуществуетВБазе),
		|		ЗНАЧЕНИЕ(Перечисление.ТипыВерсийОбъекта.НепринятыйПоДатеЗапретаОбъектНеСуществуетВБазе))";
		
	ИначеЕсли ВидПроблемы = "Коллизии" Тогда
		ТекстЗапроса =
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	ВерсииДругойПрограммы.ДатаВерсии КАК Дата,
		|	ВерсииДругойПрограммы.Объект КАК Ссылка,
		|	ТИПЗНАЧЕНИЯ(ВерсииДругойПрограммы.Объект) КАК ТипСтрокой,
		|	ВерсииЭтойПрограммы.НомерВерсии КАК НомерЭтойВерсии,
		|	ВерсииДругойПрограммы.НомерВерсии КАК НомерДругойВерсии,
		|	ВерсииДругойПрограммы.АвторВерсии КАК АвторДругойВерсии,
		|	ВЫБОР
		|		КОГДА ВерсииДругойПрограммы.ТипВерсииОбъекта = ЗНАЧЕНИЕ(Перечисление.ТипыВерсийОбъекта.ПринятыеДанныеПоКоллизии)
		|			ТОГДА ИСТИНА
		|		ИНАЧЕ ЛОЖЬ
		|	КОНЕЦ КАК ДругаяВерсияПринята,
		|	ВерсииДругойПрограммы.ВерсияПроигнорирована КАК ВерсияПроигнорирована
		|ИЗ
		|	РегистрСведений.ВерсииОбъектов КАК ВерсииДругойПрограммы
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВерсииОбъектов КАК ВерсииЭтойПрограммы
		|		ПО ВерсииДругойПрограммы.Объект = ВерсииЭтойПрограммы.Объект
		|			И (ВерсииДругойПрограммы.НомерВерсии = ВерсииЭтойПрограммы.НомерВерсии + 1)
		|ГДЕ
		|	ВерсииДругойПрограммы.ТипВерсииОбъекта В (ЗНАЧЕНИЕ(Перечисление.ТипыВерсийОбъекта.ПринятыеДанныеПоКоллизии),
		|		ЗНАЧЕНИЕ(Перечисление.ТипыВерсийОбъекта.НеПринятыеДанныеПоКоллизии))";
	КонецЕсли;
	
	Список.ТекстЗапроса = ТекстЗапроса;
	Список.ПроизвольныйЗапрос = Истина;
	Список.ОсновнаяТаблица = "РегистрСведений.ВерсииОбъектов";
	Список.ДинамическоеСчитываниеДанных = Истина;
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ОтборДинамическогоСписка (БСП)

СтруктураСвойствДинамическогоСписка (БСП)

НастроитьОтборыДинамическогоСписка (БСП)

УстановитьСвойстваДинамическогоСписка (БСП)

Получение данных динамического списка

ОбновитьВсеОткрытыеДинамическиеСписки (БСП)

УстановитьЭлементОтбораДинамическогоСписка (БСП)

УдалитьЭлементыГруппыОтбораДинамическогоСписка (БСП)

УстановитьПараметрДинамическогоСписка (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз