РазличаютсяВерсииКорреспондента (БСП)

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

Различаются версии корреспондента. Проверка на различие версии корреспондента в правилах текущей и другой программы.

// Проверка на различие версии корреспондента в правилах текущей и другой программы.
//
Функция РазличаютсяВерсииКорреспондента(ИмяПланаОбмена, КлючСообщенияЖурналаРегистрации, ВерсияВЭтойПрограмме,
	ВерсияВДругойПрограмме, ТекстСообщения, ПараметрыВнешнегоСоединения = Неопределено) Экспорт
	
	ВерсияВЭтойПрограмме = ?(ЗначениеЗаполнено(ВерсияВЭтойПрограмме), ВерсияВЭтойПрограмме, ВерсияКорреспондентаВПравилах(ИмяПланаОбмена));
	
	Если ЗначениеЗаполнено(ВерсияВЭтойПрограмме) И ЗначениеЗаполнено(ВерсияВДругойПрограмме)
		И ЗначениеНастройкиПланаОбмена(ИмяПланаОбмена, "ПредупреждатьОНесоответствииВерсийПравилОбмена") Тогда
		
		ВерсияВЭтойПрограммеБезНомераСборки = ОбщегоНазначенияКлиентСервер.ВерсияКонфигурацииБезНомераСборки(ВерсияВЭтойПрограмме);
		ВерсияВДругойПрограммеБезНомераСборки = ОбщегоНазначенияКлиентСервер.ВерсияКонфигурацииБезНомераСборки(ВерсияВДругойПрограмме);
		
		Если ВерсияВЭтойПрограммеБезНомераСборки <> ВерсияВДругойПрограммеБезНомераСборки Тогда
			
			СинонимПланаОбмена = Метаданные.ПланыОбмена[ИмяПланаОбмена].Синоним;
			
			ШаблонСообщения = НСтр("ru = 'Синхронизация данных может быть выполнена некорректно, т.к. версия программы ""%1"" (%2) в правилах конвертации этой программы отличается от версии %3 в правилах конвертации в другой программе. Убедитесь, что загружены актуальные правила, подходящие для используемых версий обеих программ.'");
			ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения, СинонимПланаОбмена, ВерсияВЭтойПрограммеБезНомераСборки, ВерсияВДругойПрограммеБезНомераСборки);
			
			ЗаписьЖурналаРегистрации(КлючСообщенияЖурналаРегистрации, УровеньЖурналаРегистрации.Предупреждение,,, ТекстСообщения);
			
			Если ПараметрыВнешнегоСоединения <> Неопределено
				И ОбщегоНазначенияКлиентСервер.СравнитьВерсии("2.2.3.18", ПараметрыВнешнегоСоединения.ВерсияБСППоВнешнемуСоединению) <= 0
				И ПараметрыВнешнегоСоединения.ВнешнееСоединение.ОбменДаннымиВнешнееСоединение.ПредупреждатьОНесоответствииВерсийПравилОбмена(ИмяПланаОбмена) Тогда
				
				СинонимПланаОбменаДругойПрограммы = ПараметрыВнешнегоСоединения.УзелИнформационнойБазы.Метаданные().Синоним;
				ТекстСообщенияВнешнееСоединение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения,
					СинонимПланаОбменаДругойПрограммы, ВерсияВДругойПрограммеБезНомераСборки, ВерсияВЭтойПрограммеБезНомераСборки);
				
				ПараметрыВнешнегоСоединения.ВнешнееСоединение.ЗаписьЖурналаРегистрации(ПараметрыВнешнегоСоединения.КлючСообщенияЖурналаРегистрации,
					ПараметрыВнешнегоСоединения.ВнешнееСоединение.УровеньЖурналаРегистрации.Предупреждение,,, ТекстСообщенияВнешнееСоединение);
				
			КонецЕсли;
			
			Если ПараметрыСеанса.ОшибкаРасхожденияВерсийПриПолученииДанных.ПроверятьРасхождениеВерсий Тогда
				
				СтруктураПроверки = Новый Структура(ПараметрыСеанса.ОшибкаРасхожденияВерсийПриПолученииДанных);
				СтруктураПроверки.ЕстьОшибка = Истина;
				СтруктураПроверки.ТекстОшибки = ТекстСообщения;
				СтруктураПроверки.ПроверятьРасхождениеВерсий = Ложь;
				ПараметрыСеанса.ОшибкаРасхожденияВерсийПриПолученииДанных = Новый ФиксированнаяСтруктура(СтруктураПроверки);
				Возврат Истина;
				
			КонецЕсли;
			
		КонецЕсли;
		
	КонецЕсли;
	
	Возврат Ложь;
	
КонецФункции

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

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

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

ДанныеРазличаются (БСП)

ВерсияКорреспондента (БСП)

ВерсияИнтерфейсаКорреспондента (БСП)

ВерсииКорреспондента (БСП)

МакетыРазличаются (БСП)

ПриОпределенииВерсииИнтерфейсаКорреспондента (БСП)

ВерсииИнтерфейсаЧерезВнешнееСоединение (БСП)

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