ПриЗаписиПредметаИзФормы (БСП)

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

При записи предмета из формы. Устанавливает во всей цепочке взаимодействий в качестве предмета созданный объект.

// Устанавливает во всей цепочке взаимодействий в качестве предмета созданный объект.
// Параметры:
//  Предмет        - ОбъектСсылка   - созданный предмет взаимодействий,
//  Взаимодействие - ДокументСсылка - взаимодействие, по которому создан предмет,
//  Отказ          - Булево         - флаг отказа от операции.
//
Процедура ПриЗаписиПредметаИзФормы(Предмет, Взаимодействие, Отказ) Экспорт
	
	Если Не ЗначениеЗаполнено(Взаимодействие)
		Или Не ВзаимодействияКлиентСервер.ЯвляетсяВзаимодействием(Взаимодействие) Тогда
		Возврат;
	КонецЕсли;
	
	СтарыйПредмет = ПолучитьЗначениеПредмета(Взаимодействие);
	Если Предмет = СтарыйПредмет Тогда
		// Предмет уже был установлен
		Возврат;
	КонецЕсли;
	
	// Получим список взаимодействий у которых нужно изменить предмет.
	Если ЗначениеЗаполнено(СтарыйПредмет)
		И ВзаимодействияКлиентСервер.ЯвляетсяВзаимодействием(СтарыйПредмет) Тогда
		МассивЗаменить = ВзаимодействияИзЦепочки(СтарыйПредмет, Взаимодействие);
	Иначе
		МассивЗаменить = Новый Массив;
	КонецЕсли;
	МассивЗаменить.Вставить(0, Взаимодействие);
	
	// Заменим предмет во всех взаимодействиях.
	
	Для Каждого Элемент Из МассивЗаменить Цикл
		Попытка
			УстановитьПредмет(Элемент, Предмет);
		Исключение
			ПредставлениеОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
			ОбщегоНазначения.СообщитьПользователю(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
				НСтр("ru = 'Ошибка при замене предмета у %1: %2'"), Элемент, ПредставлениеОшибки), , , , Отказ);
			Отказ = Истина;
			Возврат;
		КонецПопытки;
	КонецЦикла;
	
КонецПроцедуры

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

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

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

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

ЗаполнитьКонтактыПоПредмету (БСП)

СписокПредметПроверкаПеретаскивания (БСП)

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

ПроверитьИзмененияДатВПредметеПриЗаписи (БСП)

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

ПолныйПутьКФормеПередЗаписьюПередЗаписью (БСП)

ПередЗаписьюНаСервере (БСП)

ПередЗаписьюВзаимодействияИзФормы (БСП)

TurboConf - расширение Конфигуратора 1С