УстановитьПредметДляМассиваВзаимодействий (БСП)

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

Установить предмет для массива взаимодействий. Устанавливает предмет для массива взаимодействий.

// Устанавливает предмет для массива взаимодействий.
//
// Параметры:
//  МассивВзаимодействий - Массив - массив взаимодействий для которых будет установлен предмет.
//  Предмет  - Ссылка - предмет, на который будет выполнена замена.
//  ПроверятьНаличиеДругихЦепочек - Булево - если Истина, то будет выполнена замена предмета и для взаимодействий,
//                                           которые входят в  цепочки взаимодействий первым взаимодействием которых
//                                           является взаимодействие входящее в массив.
//
Процедура УстановитьПредметДляМассиваВзаимодействий(МассивВзаимодействий, Предмет, ПроверятьНаличиеДругихЦепочек = Ложь) Экспорт

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

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

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

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

УстановитьПредмет (БСП)

УстановитьПредметПоДаннымЗаполнения (БСП)

УстановитьПризнакРассмотрено (БСП)

ПредметыВзаимодействий (БСП)

СоздатьВзаимодействиеИлиПредмет (БСП)

ПолучитьЗначениеПредмета (БСП)

РассчитатьРассмотреноПоПредметам (БСП)

ЯвляетсяПредметом (БСП)

ВзаимодействиеПредметПослеЗаписи (БСП)

1С Менеджер конфигураций