ОбластиТребующиеОбработки (БСП)

Автор: 1С
ОбщийМодуль.ПоставляемыеДанные
БСП

Области требующие обработки. Возвращает список областей данных, в которые еще не были скопированы поставляемые данные.

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

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

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

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

ПриОбработкеОбластиДанных (БСП)

ОбработатьОчередьИзвлеченияТекста (БСП)

ОбработатьОшибкуУстановкиДополнительнойОбработкиВОбластьДанных (БСП)

ВыполнитьОбновлениеКлассификаторовВОбластяхДанных (БСП)

ОбработкаОповещенияИзмененияФлажкаИспользоватьПоиск (БСП)

ОбработкаОповещенияИзмененияФлажкаУдалятьПоРасписанию (БСП)

УстановитьПоставляемуюОбработкуВОбластьДанных (БСП)

УдалитьПоставляемуюОбработкуИзОбластиДанных (БСП)

ОтозватьПоставляемуюДополнительнуюОбработку (БСП)

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