Помощник настройки синхронизации данных / Новый код предопределенного узла / Модуль формы

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

#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Проверка, что форма открыта с нужными параметрами
	Если Не Параметры.Свойство("ИмяПланаОбмена") Тогда
		
		ВызватьИсключение НСтр("ru = 'Эта форма не предназначена для непосредственного открытия.'", ОбщегоНазначения.КодОсновногоЯзыка());
		
	КонецЕсли;
	
	Если ОбщегоНазначения.РазделениеВключено() Тогда
		
		Элементы.ФормаУстановитьНовыйКод.Доступность = Ложь;
		Элементы.ГруппаПанель.ТекущаяСтраница = Элементы.СтраницаРаботаВСервисе;
		
	КонецЕсли;
	
	ИмяПланаОбмена = Параметры.ИмяПланаОбмена;
	УзелИнформационнойБазы = ПланыОбмена[ИмяПланаОбмена].ЭтотУзел();	
	
КонецПроцедуры


#КонецОбласти

#Область ОбработчикиКомандФормы

&НаКлиенте
Процедура УстановитьНовыйКод(Команда)
	
	Если УстановитьНовыйКодСервере() Тогда
		Закрыть();	
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Функция УстановитьНовыйКодСервере()
	
	НачатьТранзакцию();
	Попытка
		
		БлокировкаДанных = Новый БлокировкаДанных;
		
		ЭлементБлокировкиДанных = БлокировкаДанных.Добавить("ПланОбмена." + ИмяПланаОбмена);
		ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", УзелИнформационнойБазы);
				
		БлокировкаДанных.Заблокировать();

		УзелОбменаОбъект = УзелИнформационнойБазы.ПолучитьОбъект();
		УзелОбменаОбъект.Код = Строка(Новый УникальныйИдентификатор);
		УзелОбменаОбъект.ОбменДанными.Загрузка = Истина;
		УзелОбменаОбъект.Записать();
						
		ЗафиксироватьТранзакцию();
		
		Возврат Истина;
		
	Исключение
				
		ОтменитьТранзакцию();
		ВызватьИсключение;
		
	КонецПопытки;
	
	Возврат Ложь;
	
КонецФункции

&НаКлиенте
Процедура ЗакрытьФорму(Команда)
	
	Закрыть()
	
КонецПроцедуры

#КонецОбласти

Связанные материалы