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

Автор: 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С Менеджер конфигураций