3
Fragster
гуру
26.06.15
✎
16:46
|
Вот этот код делает, что нужно. Но мне не нравится :(
&НаКлиентеНаСервереБезКонтекста
Функция ПолучитьСсылкуИзНавигационной(НавигационнаяСсылка)
СигнатураСсылки = "e1cib/data/";
СигнатураИД = "?ref=";
ДлинаСигнатурыСсылки = СтрДлина(СигнатураСсылки);
ДлинаСигнатурыИД = СтрДлина(СигнатураИД);
ДлинаИД = 32;
ПерваяТочка = Найти(НавигационнаяСсылка, СигнатураСсылки);
ВтораяТочка = Найти(НавигационнаяСсылка, СигнатураИД);
Если ПерваяТочка = 0 ИЛИ ВтораяТочка = 0 Тогда
ВызватьИсключение "Неправильная навигационная ссылка " + НавигационнаяСсылка;
КонецЕсли;
ПредставлениеТипа = Сред(НавигационнаяСсылка, ПерваяТочка + ДлинаСигнатурыСсылки, ВтораяТочка - ПерваяТочка - ДлинаСигнатурыСсылки);
ШаблонЗначения = ЗначениеВСтрокуВнутр(ПредопределенноеЗначение(ПредставлениеТипа + ".ПустаяСсылка"));
ЗначениеСсылки = СтрЗаменить(ШаблонЗначения, "00000000000000000000000000000000", Сред(НавигационнаяСсылка, ВтораяТочка + ДлинаСигнатурыИД, ДлинаИД));
Ссылка = ЗначениеИзСтрокиВнутр(ЗначениеСсылки);
Возврат Ссылка;
КонецФункции
|
|