Добрый день.
Нужна помощь разобраться. Программисты 1с выслали набор данных для синхранизации с наше системой . Попросил добавить id, в итоге получил guid пример того что получил :
{"#",0b5b297d-c294-4d60-ba38-bfc84bea70aa,293:87d400151756e7a811e00c141aac131d}
 в моем понимание "нормальная" (привыкшая моему глазу) форма должна выглядить как то так guid 1aac131d-0c14-11e0-87d4-00151756e7a8. что за первая такая форма записи и как ее перобразовать или что нужно попросить переделать программистов 1с. При этом первая часть у всех выгруженных индентичная. вот еще одни пример {"#",0b5b297d-c294-4d60-ba38-bfc84bea70aa,293:af1380151756e7a811e0df808fdd729c} , жирным курсивом выделена общее у всех.
---
Если конфигурации идентичные, то вы можете просто воспользоваться обратным методом ЗначениеИзСтрокиВнутр, чтобы получить ссылку. Иначе надо парсить то, что вам прислали:
"#",0b5b297d-c294-4d60-ba38-bfc84bea70aa - это внутреннее представление типа ссылки (вам скорее всего не нужен, если конфигурации разные),
293:87d400151756e7a811e00c141aac131d - тут в принципе есть ГУИД, но его надо распарсить примерно так:
```1c
    Текст = "{"#",0b5b297d-c294-4d60-ba38-bfc84bea70aa,293:87d400151756e7a811e00c141aac131d}";
    Стр = Сред(Текст, Найти(Текст, ":") + 1, 32);
    ЧастиУИД = Новый Массив;
    ЧастиУИД.Добавить(Прав(Стр, 8));
    ЧастиУИД.Добавить(Сред(Стр, 21, 4));
    ЧастиУИД.Добавить(Сред(Стр, 17, 4));
    ЧастиУИД.Добавить(Лев(Стр, 4));
    ЧастиУИД.Добавить(Сред(Стр, 5, 12));
    СтрокаУИД = СтрСоединить(ЧастиУИД, "-");
```
---
они выгрузили ГУИД, но используя древний метод его представления, как в 1С 7.7 - ЗначениеВСтрокуВнутр()
для 1С 8 это неактуально с появлением методов УникаьныйИдентификатор() или XMLСтрока()
---
Программист вместо ГУИДа прислал результат ЗначениеВСтрокуВнутр(Ссылка).
---
Спасибо, что откликнулись. А я из этого могу как то сам "выцаганить" guid или это только на их стороне надо попросить переделать, если да , то как им "доходчиво написать", что они должны переделать, чтоб в их терминалогии они меня поняли?
---
Если конфигурации идентичные, то вы можете просто воспользоваться обратным методом ЗначениеИзСтрокиВнутр, чтобы получить ссылку. Иначе надо парсить то, что вам прислали:
"#",0b5b297d-c294-4d60-ba38-bfc84bea70aa - это внутреннее представление типа ссылки (вам скорее всего не нужен, если конфигурации разные),
293:87d400151756e7a811e00c141aac131d - тут в принципе есть ГУИД, но его надо распарсить примерно так:
```1c
    Текст = "{"#",0b5b297d-c294-4d60-ba38-bfc84bea70aa,293:87d400151756e7a811e00c141aac131d}";
    Стр = Сред(Текст, Найти(Текст, ":") + 1, 32);
    ЧастиУИД = Новый Массив;
    ЧастиУИД.Добавить(Прав(Стр, 8));
    ЧастиУИД.Добавить(Сред(Стр, 21, 4));
    ЧастиУИД.Добавить(Сред(Стр, 17, 4));
    ЧастиУИД.Добавить(Лев(Стр, 4));
    ЧастиУИД.Добавить(Сред(Стр, 5, 12));
    СтрокаУИД = СтрСоединить(ЧастиУИД, "-");
```
---
Благодарю.За ответ. За уделенное время.
---
"#",0b5b297d-c294-4d60-ba38-bfc84bea70aa - это внутреннее представление типа ссылки (вам скорее всего не нужен Если можете еще пояснить, так сказать для собственного "общего развития и понимания" как это устроенно, а почему у всех выгруженных элементов она одинаковая идет? представление типа ссылки не может же быть у всех одинаковое ...
---
представление типа ссылки не может же быть у всех одинаковое Ну если выгруженные элементы одинакового типа, то почему нет? Про внутренний формат можно глянуть тут:
https://infostart.ru/1c/articles/1116103/
https://infostart.ru/1c/articles/196623/
---
за ссылки спасибо, почитаю.
---
и есть ли этому полученному результата название, я так понимаю это не гуид , тогда что ..
---
можно и самому вытащить

так делал, но надо предварительно знать, тип и вид объекта (Документ или Справочник и его вид)

```1c
    Функция Лок_ЗначениеИзСтрокиВнутр(пКод, пВид = ", пТип = "Спр") Экспорт

    Если пВид = " Тогда
    Возврат ";
    КонецЕсли;

    Если пТип = "Спр" Тогда
    лЭлемент = Справочники[пВид].ПустаяСсылка();
    ИначеЕсли пТип = "Док" Тогда
    лЭлемент = Документы[пВид].ПустаяСсылка();
    Иначе
    Возврат ";
    КонецЕсли;

    Если пКод = " Тогда
    Возврат лЭлемент;
    КонецЕсли;

    лМаска = ЗначениеВСтрокуВнутр(лЭлемент);

    //{"#",47e6dd42-cd5c-4e3a-9bc4-14816ed53d38,31:00000000000000000000000000000000}

    лСтрока = СтрЗаменить(лМаска, "00000000000000000000000000000000", пКод);
    Попытка
    лЭлемент = ЗначениеИзСтрокиВнутр(лСтрока);
    Исключение
    Сообщить("Значение (" + пВид + ") из строки "" + пКод + "" не определено!");
    КонецПопытки;

    Возврат лЭлемент;

    КонецФункции
```

но лучше, чтобы програмисты переделали на нормальное представление
это же просто или УникальныйИдентификатор() или XMLСтрока() использовать
---
Спасибо. Последний вопрос, а то что они мне выслали (если это не гуид), то в рамках терминалогии как можно озвучить что это они выгрузили?
---
они выгрузили ГУИД, но используя древний метод его представления, как в 1С 7.7 - ЗначениеВСтрокуВнутр()
для 1С 8 это неактуально с появлением методов УникаьныйИдентификатор() или XMLСтрока()
---
Спасибо, за разъяснение. Понял. p/s уже подумал накатить на "коллег" , что не гуид ))