Получение ссылки по бинарной строке PostgreSQL или MSSQL

04.04.23

Задачи пользователя - Поиск данных

Получение ссылки в 1С по бинарной строке из PostgreSQL в виде строки формата bytea или из MSSQL в виде шестнадцатиричной строки. Кроме ссылочных объектов ссылки могут быть получены и для перечислений. Это может быть полезно при анализе логов журнала регистрации или СУБД.

Файлы

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

Наименование Скачано Купить файл
Получение ссылки по бинарной строке PostgreSQL или MSSQL:
.epf 13,11Kb
10 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Получение ссылки 1С из бинарной строки в MSSQL не вызывает никаких трудностей. Как правило, 1С работает с такими данными в виде шестнадцатеричного представления (0xB485B1CFED3ECD854808658A53083ACA), что по сути является гуидом 1С, только немного перемешанными. Для преобразования можно написать самому несколько строк кода, либо воспользоваться одной из многих уже написанных обработок. Получить же ссылку из бинарной строки в PostgreSQL также не проблема. Вот только есть одна загвоздка: 1С с ней работает не в шестнадцатеричном представлении. Вот пример запроса из техжурнала, где установлен отбор по ссылке:

SELECT

               T1._Q_000_F_000,

               T1._Q_000_F_001RRef

FROM pg_temp.tt1 T1

WHERE (T1._Q_000_F_001RRef ='\\246\\014\\020''|\\322\\243D\\377\\347\\006\\035\\323\\347W'::bytea)

Если честно, не совсем понятно, для чего 1С использует такой формат записи, а не его шестнадцатеричный аналог (' \233~\\000PV\\240R\\036\\021\\355\\322\\244\\261\\274m\\220 '::bytea = \\x9b7e005056a0521e11edd2a4b1bc6d90), как в MSSQL. Ну что есть, то есть.

Предлагаемая обработка может получать ссылки по бинарной строке как из PostgreSQL, так и MSSQL. При поиске можно указать режим поиска по определенному типу метаданных, либо по всем типам метаданных. Кроме ссылочных типов метаданных поиск осуществляется еще и в перечислениях.

Т.к. теоретически в 1С могут быть одинаковые гуиды в различных типах метаданных, добавлен флаг «Не прекращать, если найден», при его установке поиск не будет прекращен при нахождении ссылки по полученному гуиду в следующем менеджере типа метаданных, а будет осуществлен во всех типах.

При написании обработки использована документация по типу bytea в PostgreSQL: https://postgrespro.ru/docs/postgresql/15/datatype-binary?lang=ru-en

Для использования обработки необходимо вставить бинарную строку из PostgreSQL или MSSQL в поле "бинарная строка", выбрать режим поиска ссылки (по всем метаданным, или по конкретному типу) и нажать кнопку "Получить". Если ссылка будет найдена, то будет заполнено поле Ссылка и справа от нее указан ее тип. Если ссылка не будет найдено, то поле Ссылка не будет заполнено, а справа от него будет выведено «Неопределенно». Если выбран режим поиска "По всем метаданным" и установлен флаг "Не прекращать если найден" и будет несколько ссылок разных типов метаданных, то они будут все показаны.

Обработка тестировалась на различных конфигурациях (ERP, Консолидация и самописной конфигурации) на платформе 8.3.21.1393.

Вступайте в нашу телеграмм-группу Инфостарт

Ссылка гуид UID УникальныйИдентификатор уникальный идентификатор PostgreSQL SQL bytea

См. также

Информационная безопасность Поиск данных ServiceDesk, HelpDesk Журналы и реестры данных 8.3.14 Россия Бухгалтерский учет Бюджетный учет Налоговый учет Управленческий учет Платные (руб)

Полный контроль над изменениями в 1С без нагрузки на вашу базу. Мгновенный доступ к истории изменений, удобное сравнение и откат данных в один клик. Простой отчет с визуальным отображением изменений Откат на любую версию объекта в два клика История изменения данных хранится во внешней базе

180000 руб.

05.09.2025    1684    1    1    

3

Поиск данных Системный администратор Программист 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 2 1С:Розница 3.0 Платные (руб)

Обработки помогут Вам легко и, главное, быстро (в 5 раз и быстрее штатной обработки 1С), выполнить поиск дублирующих данных в Ваших базах 1С на платформах 8.1-8.3. Это позволит уменьшить объем лишней информации в справочниках и документах, планах видов характеристик и др., упростит работу с данными пользователям. А так же можно, одним нажатием, узнать в каких ссылочных объектах есть вообще дубли! Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. А так же обновления Вы получаете бесплатно в течение года с момента приобретения данных обработок! (Обновление от 27.11.2023, версия 6.12)

13200 руб.

14.05.2012    164962    352    253    

585

Поиск данных 1С v8.3 1С:Библиотека стандартных подсистем Абонемент ($m)

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

2 стартмани

18.08.2025    6196    34    sapervodichka    14    

75

Поиск данных ЭДО и ОФД Подбор и обработка объектов 1С v8.3 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Поиск номенклатуры при сопоставлении в ЭДО не интуитивный, не настраиваемый и просто неудобный. Данное решение - это альтернативный вариант расширенного поиска и сопоставления номенклатуры для 1С, который подключается в качестве расширения и решает эту проблему.

10000 руб.

10.04.2025    1479    1    1    

1

Математика и алгоритмы Инструментарий разработчика Универсальные функции Поиск данных Программист 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Абонемент ($m)

Несколько упакованных в один класс интерфейсов для обработки популярных универсальных коллекций. Для тех, кого раздражает отсутствие действительно единого интерфейса для универсальных коллекций.

5 стартмани

25.09.2024    4338    5    Артано    14    

21

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

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

18.08.2024    3807    1cnik2    23    

19

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

Отображение и просмотр реквизитов справочника или документа - с бесконечным открытием подуровней.

2 стартмани

14.06.2024    5899    13    RustIG    33    

25
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. masterb 64 11.12.23 15:28 Сейчас в теме
Искал ссылку \\214\\215\\006\\210\\375\\211\\012\\035F\\357\\224\\341P\\1­779S в УТ ред. 11 - не находит. Это в запросе ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС). Печально.
2. nik_lankaster 15.01.24 00:34 Сейчас в теме
>>> Если честно, не совсем понятно, для чего 1С использует такой формат записи, а не его шестнадцатеричный аналог (' \233~\\000PV\\240R\\036\\021\\355\\322\\244\\261\\274m\\220 '::bytea = \\x9b7e005056a0521e11edd2a4b1bc6d90), как в MSSQL.

Просто шестнадцатеричный формат был введён только в PostgreSQL 9.0 и на более ранних версиях не поддерживается. Поэтому, чтобы не вводить ненужных ограничений на версию СУБД, используется более традиционный для postgreSQL формат последовательностей.
SerVer1C; +1 Ответить
Для отправки сообщения требуется регистрация/авторизация