РазделитьВерсию (БСП)

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

Разделить версию.

Функция РазделитьВерсию(Знач ВерсияСтрокой, Разделитель = ".", ЛюбаяВерсия = "*") Экспорт
	
	ВерсияСтрокой = ?(ПустаяСтрока(ВерсияСтрокой), ЛюбаяВерсия + Разделитель + ЛюбаяВерсия + Разделитель + ЛюбаяВерсия + Разделитель + ЛюбаяВерсия, ВерсияСтрокой);
	
	Состав = СтрРазделить(СтрЗаменить(ВерсияСтрокой, " ", ""), Разделитель, Ложь);
	ФорматСоблюден = Состав.Количество() = 4;
	
	Если ФорматСоблюден Тогда
		
		Попытка
			
			Редакция = ?(СтрНайти(Состав[0], ЛюбаяВерсия), Неопределено, Число(Состав[0]));
			Подредакция = ?(СтрНайти(Состав[1], ЛюбаяВерсия), Неопределено, Число(Состав[1]));
			Версия = ?(СтрНайти(Состав[2], ЛюбаяВерсия), Неопределено, Число(Состав[2]));
			Сборка = ?(СтрНайти(Состав[3], ЛюбаяВерсия), Неопределено, Число(Состав[3]));
			
			ФорматСоблюден = (Редакция = Неопределено ИЛИ Редакция >= 0)
							И (Подредакция = Неопределено ИЛИ Подредакция >= 0)
							И (Версия = Неопределено ИЛИ Версия >= 0)
							И (Сборка = Неопределено ИЛИ Сборка >= 0);
			
		Исключение
			
			ФорматСоблюден = Ложь;
			
		КонецПопытки;
		
	КонецЕсли;
	
	Если НЕ ФорматСоблюден Тогда
		
		Описание = НСтр("ru = 'Версия """"%1"""" не соответствует формату Редакция.Подредакция.Версия.Сборка.'");
		Описание = СтрЗаменить(Описание, "%1", ВерсияСтрокой);
		
		ВызватьИсключение Описание;
		
	КонецЕсли;
	
	Возврат Новый Структура("Редакция, Подредакция, Версия, Сборка", Редакция, Подредакция, Версия, Сборка);
	
КонецФункции

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

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

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

НеотображавшиесяРазделыОписанияИзменений (БСП)

ПолеОсновнойРаздел (БСП)

ЗаполнитьДеревоРазделов (БСП)

ПостроениеФормыЗаполненияПоРазделу (БСП)

СписокРазделов (БСП)

РазделыОписанияИзменений (БСП)

TurboConf ИР адаптер 1.63