Загадка возвращамого значения ЗначениеВСтрокуВнутр()

05.08.13

Разработка - Математика и алгоритмы

ЗначениеВСтрокуВнутр(Значение); Из синтаксис помощника: Получает системное строковое представление переданного значения. Что же такое "системное строковое представление"? точнее из чего оно состоит?

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
1
.png 22,30Kb ver:1
24
24 Скачать (1 SM) Купить за 1 850 руб.

Функция ЗначениеВСтрокуВнутр(Значение) возвращает системное строковое представление в виде строки (пример):

{"#",a86305d7-b8a1-4312-901f-2ade3efdb351,135:bc8b001ec9dd45d011dda3f1f556bd7a}

Для меня задача состояла в формировании данной строки на стороне НЕ 1с системы, но так чтобы 1с воспринимала сформированную строку как примерно свою. Поэтому первым моментом, и самым как оказалось трудным, стала расшифровка этой самой строки.

После поиска на просторах интернета попадая и на форум миста и на форум 1с получилась примерно следующая общая картина:

Расшифровка строки :               

{"#",a86305d7-b8a1-4312-901f-2ade3efdb351,135:bc8b001ec9dd45d011dda3f1f556bd7a}

 

a86305d7-b8a1-4312-901f-2ade3efdb351 – это тип объекта 1с (например справочник организации в данном случае). Описание типов в каждой отдельной базе соответственно разное.

 

135:bc8b001ec9dd45d011dda3f1f556bd7a – UUID (Universally Unique Identifier), где

 

135 – это номер таблицы в sql базе или не в sql (для файлового режима) данных например _ReferenceN135 (в другой базе этот номер может быть другой, в разрезе баз они разные)

 

bc8b001ec9dd45d011dda3f1f556bd7a – перевернутый гуид объекта. (во вложении схема переворачивания). (процедуры прямого и обратного преобразования имеются в виде кода 1с, информация о преобразовании найдена здесь в виде публикации).

См. также

Математика и алгоритмы Программист Платформа 1C v8.2 1C:Бухгалтерия Россия Абонемент ($m)

На написание данной работы меня вдохновила работа @glassman «Переход на ClickHouse для анализа метрик». Автор анализирует большой объем данных, много миллионов строк, и убедительно доказывает, что ClickHouse справляется лучше PostgreSQL. Я же покажу как можно сократить объем данных в 49.9 раз при этом: 1. Сохранить значения локальных экстремумов 2. Отклонения от реальных значений имеют наперед заданную допустимую погрешность.

1 стартмани

30.01.2024    5682    stopa85    12    

39

Математика и алгоритмы Бесплатно (free)

Разработка алгоритма, построенного на модели симплекс-метода, для нахождения оптимального раскроя.

19.10.2023    10950    user1959478    54    

37

Математика и алгоритмы Разное Платформа 1С v8.3 1C:Бухгалтерия Россия Абонемент ($m)

Расширение (+ обработка) представляют собою математический тренажер. Ваш ребенок сможет проверить свои знание на математические вычисление до 100.

2 стартмани

29.09.2023    5486    maksa2005    8    

26

Математика и алгоритмы Инструментарий разработчика Программист Платформа 1С v8.3 Мобильная платформа Россия Абонемент ($m)

Что ж... лучше поздно, чем никогда. Подсистема 1С для работы с регулярными выражениями: разбор выражения, проверка на соответствие шаблону, поиск вхождений в тексте.

1 стартмани

09.06.2023    13399    8    SpaceOfMyHead    20    

63

Математика и алгоритмы Программист Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Три задачи - три идеи - три решения. Мало кода, много смысла. Мини-статья.

03.04.2023    6752    RustIG    9    

25

Механизмы платформы 1С Математика и алгоритмы Программист Платформа 1С v8.3 Россия Бесплатно (free)

В статье анализируются средства платформы для решения системы линейных уравнений в 1С. Приводятся доводы в пользу некорректной работы встроенных алгоритмов, а значит потенциально некорректного расчета себестоимости в типовых конфигурациях.

23.11.2022    5891    gzharkoj    14    

25

Математика и алгоритмы Программист Платформа 1С v8.3 Россия Абонемент ($m)

Обычно под распределением понимают определение сумм пропорционально коэффициентам. Предлагаю включить сюда также распределение по порядку (FIFO, LIFO) и повысить уровень размерности до 2-х. 1-ое означает, что распределение может быть не только пропорциональным, но и по порядку, а 2-ое - это вариант реализации матричного распределения: по строкам и столбцам. Возможно вас заинтересует также необычное решение этой задачи через создание DSL на базе реализации текучего интерфейса

1 стартмани

21.03.2022    9587    7    kalyaka    11    

44
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Антон Ширяев 530 05.08.13 15:37 Сейчас в теме
Название у статьи заманчивое, но к сожалению тема практически не раскрыта. Рассмотрена только одна узкая область - преобразование строки в ссылку. Реально через ЗначениеВСтрокуВнутр() можно передавать очень много всего, а не только отдельные ссылки.

Приведение строки вида 135:bc8b001ec9dd45d011dda3f1f556bd7a в строку вида {"#",a86305d7-b8a1-4312-901f-2ade3efdb351,135:bc8b001ec9dd45d011dda3f1f556bd7a} я реализовывал в обработке Анализ и редактирование файлов журнала регистрации 1С 8.1/8.2 - ELF/LOG/LGF/LGP.

Алгоритм там достаточно прост. Для получения идентификаторов типа (a86305d7-b8a1-4312-901f-2ade3efdb351) и номера (135) нужно пробежаться по всем метаданным и преобразовать через ЗначениеВСтрокуВнутр() пустые ссылки.
fuser; Meson; yku; lana_veta; vitalya24; +5 Ответить
2. vitalya24 239 05.08.13 15:45 Сейчас в теме
(1) Антон Ширяев, ну за рамками прикладной задачи тема не рассматривалась, спасибо за дополнение:)
3. serpent 69 06.08.13 09:01 Сейчас в теме
Сори Загадка возвращаЕмого
vitalya24; +1 Ответить
4. DrAku1a 1754 07.08.13 03:19 Сейчас в теме
Да... Тема не раскрыта... Это только верхушка айсберга!
Вот например, Про быстрые массивы

А преобразование в ссылку - это активно используется в обработках восстановления из разрушенного 1Cv8.1CD (тут таких полно).
5. mr.Kot 29.10.13 14:14 Сейчас в теме
Может быть тема раскрыта и не так глубоко, но, допустим, я хотел узнать только описанное в статье, целенаправленно стал искать и быстро нашёл, благодаря статье.
6. dyak84 19.01.14 17:49 Сейчас в теме
Автор как к человеку знающиму подскажи как правельней зделать в такой ситуации. Реквизит со значением неограничено преобразовываю при помощи функции ЗначениеВСтрокуВнутр() при обратном преобразовании при помощи функции ЗначениеИзСтрокиВнутр() приисходит ошибка формата потока. Подскажите как быть как можно решить етот вопрос. Зарание спасибо за ответ
7. nobuta 24.01.14 10:40 Сейчас в теме
(6) dyak84, у вас в клиент-серверном варианте такая ошибка возникает?
8. Diversus 2331 08.12.14 14:16 Сейчас в теме
(0) А вот скажите, что дает 135? Критично будет ли следующее:

Пусть значение ЗначениеВСтрокуВнутр дало нам строку вида: {"#",4dcc257a-be68-4de0-bad6-a7dc42232078,135:8269998f2df8084a11e421234b28682d}
Теперь мы возьмем и изменим строку на {"#",4dcc257a-be68-4de0-bad6-a7dc42232078,0:8269998f2df8084a11e421234b28682d}
и попытаемся сделать ЗначениеИзСтрокиВнутр с получившейся строкой.

Результат так же правильно возвращает ссылку. В связи с этим вопрос что дает 135 - номер таблицы во внутренней структуре?
9. Diversus 2331 08.12.14 14:23 Сейчас в теме
(0) И кстати да:
Ссылка1=ЗначениеИзСтрокиВнутр("{""#"",4dcc257a-be68-4de0-bad6-a7dc42232078,135:8269998f2df8084a11e421234b28682d}");
Ссылка2=ЗначениеИзСтрокиВнутр("{""#"",4dcc257a-be68-4de0-bad6-a7dc42232078,0:8269998f2df8084a11e421234b28682d}");
Ссылка3=ЗначениеИзСтрокиВнутр("{""#"",4dcc257a-be68-4de0-bad6-a7dc42232078,9999:8269998f2df8084a11e421234b28682d}");

Все три ссылки будут равны.
S_L_O_N_U_K; user785225; +2 Ответить
10. Xershi 1565 11.03.17 22:13 Сейчас в теме
UUID на мобильной платформе смог получить, а вот номер объекта в таблице БД уже метод не доступен на мобильной платформе.
Методов определения типов объекта 1с вообще не нашел!
Выкрутился другим моментом, что эта фича и не понадобилась.
AlexandrSmith; +1 Ответить
Оставьте свое сообщение