Имя: Пароль:
1C
1С v8
ЗначениеИзСтрокиВнутр строки разные, ссылка одна.
0 GANR
 
05.12.12
11:01
По мотивам ветки v8: ЗначениеИзСтрокиВнутр разные строки, ссылка одна.

Провел такой эксперимент (в одной базе).

// берем результат функции ЗначениеВСтрокуВнутр
Ссылка1 = ЗначениеИзСтрокиВнутр("{""#"",cf1f2732-1a55-48b5-89bd-92050b46a0ed,7:9cd50016e65d4a8811e23e2115d4b233}");
// заменяем 7 между "," и ":" на 9999999999999999999999999
Ссылка2 = ЗначениеИзСтрокиВнутр("{""#"",cf1f2732-1a55-48b5-89bd-92050b46a0ed,9999999999999999999999999:9cd50016e65d4a8811e23e2115d4b233}");

Если Ссылка1 = Сссылка2 Тогда
   Сообщить("Для разных строк ссылка может быть одна");
КонецЕсли

Так вот: переменная Ссылка1 равняется переменной Ссылка2. То есть между запятой и двоеточием может быть любая последовательность десятичных цифр - на работу функции ЗначениеИзСтрокиВнутр это никак не влияет.

Вопрос: что эта последовательность цифр между , и : означает и для чего она предназначена?.
1 GANR
 
05.12.12
11:18
Галахад, у меня этот вопрос возник после попытки

1. Синхронизировать менеджеры документов с данными справочника по ЗначениеВСтрокуВнутр(Документы.МойДокумент)
2. Перенести в данные п.1 в другую базу с аналогичной конфигурацией
3. Повторить в базе п.2 действия п.1

На п.3 произошла рассинхронизация.
2 GANR
 
05.12.12
11:21
+(1) База п.2 создана путем выгрузки / загрузки dt-шника базы п.1.
3 GANR
 
05.12.12
14:16
+(1) Точнее в п.1 так ЗначениеВСтрокуВнутр(Документы.МойДокумент.ПустаяСсылка()) - разные строки в разных базах. ЗначениеВСтрокуВнутр(Документы.МойДокумент), кстати, для разных баз - одинаковое.
4 GANR
 
05.12.12
17:57
Всем спасибо! Приятно было пообщаться.
Чтобы привести (0) к единому виду для разных баз я  воспользовался самопальной функцией - может, кому-то пригодится.

Функция ОткорректированныйСтроковыйИдентификатор(ИсходнаяСтрока)
   
   ТекстСвойствСтруктуры = "ОткрывающаяПоследовательность, ЗакрывающаяПоследовательность";
   
   ТекстЗаглушающейВставки = "777";
   
   МассивКомбинаций = Новый Массив;
   // для ссылочных типов
   МассивКомбинаций.Добавить(Новый Структура(ТекстСвойствСтруктуры, ",", ":"));
   // для менеджеров объекта
   МассивКомбинаций.Добавить(Новый Структура(ТекстСвойствСтруктуры, "
   |{", "}
   |"));
   
   РезультирующаяСтрока = ИсходнаяСтрока;
   
   Для Каждого СочетаниеПоследовательностей Из МассивКомбинаций Цикл
       
       ОткрывающаяПоследовательность = СочетаниеПоследовательностей.ОткрывающаяПоследовательность;
       ЗакрывающаяПоследовательность = СочетаниеПоследовательностей.ЗакрывающаяПоследовательность;
       
       ПозицияЗакрывающейПоследовательности = Найти(ИсходнаяСтрока, ЗакрывающаяПоследовательность);    
       
       Если ПозицияЗакрывающейПоследовательности = 0 Тогда
           Продолжить;
       КонецЕсли;
       
       ПозицияОткрывающейПоследовательности = ПозицияЗакрывающейПоследовательности - 1;
       ДлинаОткрывающейПоследовательности = СтрДлина(ОткрывающаяПоследовательность);
       
       Пока ПозицияОткрывающейПоследовательности <> 0
           И Сред(ИсходнаяСтрока, ПозицияОткрывающейПоследовательности, ДлинаОткрывающейПоследовательности) <> ОткрывающаяПоследовательность Цикл
           
           ПозицияОткрывающейПоследовательности = ПозицияОткрывающейПоследовательности - 1;
       КонецЦикла;
       
       Если ПозицияОткрывающейПоследовательности = 0 Тогда        
           Продолжить;
       КонецЕсли;
       
       ТекстДоОткрывающейПоследовательности = Лев(ИсходнаяСтрока, ПозицияОткрывающейПоследовательности - 1);
       ДлинаЗакрывающейПоследовательности = СтрДлина(ЗакрывающаяПоследовательность);
       ТекстПослеЗакрывающейПоследовательности = Сред(ИсходнаяСтрока, ПозицияЗакрывающейПоследовательности + ДлинаЗакрывающейПоследовательности);
       
       РезультирующаяСтрока = ТекстДоОткрывающейПоследовательности
       + ОткрывающаяПоследовательность
       + ТекстЗаглушающейВставки
       + ЗакрывающаяПоследовательность
       + ТекстПослеЗакрывающейПоследовательности;
       
   КонецЦикла;
   
   Возврат РезультирующаяСтрока;
   
КонецФункции