Установить предмет для массива взаимодействий. Устанавливает предмет для массива взаимодействий.
// Устанавливает предмет для массива взаимодействий.
//
// Параметры:
// МассивВзаимодействий - Массив - массив взаимодействий для которых будет установлен предмет.
// Предмет - Ссылка - предмет, на который будет выполнена замена.
// ПроверятьНаличиеДругихЦепочек - Булево - если Истина, то будет выполнена замена предмета и для взаимодействий,
// которые входят в цепочки взаимодействий первым взаимодействием которых
// является взаимодействие входящее в массив.
//
Процедура УстановитьПредметДляМассиваВзаимодействий(МассивВзаимодействий, Предмет, ПроверятьНаличиеДругихЦепочек = Ложь) Экспорт
Если ПроверятьНаличиеДругихЦепочек Тогда
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПредметыВзаимодействий.Взаимодействие КАК Ссылка
|ИЗ
| РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыВзаимодействий
|ГДЕ
| НЕ (НЕ ПредметыВзаимодействий.Предмет В (&МассивВзаимодействий)
| И НЕ ПредметыВзаимодействий.Взаимодействие В (&МассивВзаимодействий))";
Запрос.УстановитьПараметр("МассивВзаимодействий", МассивВзаимодействий);
МассивВзаимодействий = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
КонецЕсли;
Если ТипЗнч(Предмет) = Тип("РегистрСведенийКлючЗаписи.СостоянияПредметовВзаимодействий") Тогда
Предмет = Предмет.Предмет;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПредметыПапкиВзаимодействий.Предмет
|ИЗ
| РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий
|ГДЕ
| ПредметыПапкиВзаимодействий.Взаимодействие В(&МассивВзаимодействий)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Предмет";
Запрос.УстановитьПараметр("Предмет", Предмет);
Запрос.УстановитьПараметр("МассивВзаимодействий", МассивВзаимодействий);
ВыборкаПредметы = Запрос.Выполнить().Выбрать();
Для Каждого Взаимодействие Из МассивВзаимодействий Цикл
Взаимодействия.УстановитьПредмет(Взаимодействие, Предмет, Ложь);
КонецЦикла;
Взаимодействия.РассчитатьРассмотреноПоПредметам(Взаимодействия.ТаблицаДанныхДляРасчетаРассмотрено(ВыборкаПредметы, "Предмет"));
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
УстановитьПредметПоДаннымЗаполнения (БСП)
УстановитьПризнакРассмотрено (БСП)
СоздатьВзаимодействиеИлиПредмет (БСП)
ПолучитьЗначениеПредмета (БСП)