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

04.04.23

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Получение ссылки по бинарной строке PostgreSQL или MSSQL:
.epf 13,11Kb
4
4 Скачать (1 SM) Купить за 1 850 руб.

Получение ссылки 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

См. также

Поиск данных Внешние источники данных Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Если вам нужно автоматически генерировать представления (view) к вашей базе данных 1С (есть две версии - для СУБД MS SQL Server и для PostgreSQL) по структуре метаданных 1С, то вам необходима данная обработка. Наш "Генератор View", другими словами - это коннектор к данным 1С для Power BI - незаменимый помощник для бизнес-аналитиков, работающих с базами 1С из Yandex Datalens/Power BI и т.д. Работает для обычных и управляемых форм под 1С 8.3

230000 руб.

31.07.2020    13732    13    48    

25

Поиск данных Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

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

10800 руб.

14.05.2012    158933    336    253    

570

Розничная торговля WEB-интеграция Поиск данных Пользователь Платформа 1С v8.3 Оперативный учет 1С:Розница 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Альтернатива сервису 1С Номенклатура, не требует подписки ИТС, ищет данные в открытых источниках. Для поиска товара по штрихкоду в сети интернет, полезно для первоначального заполнения базы.

1999 руб.

15.10.2020    18965    23    63    

24

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

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

5 стартмани

25.09.2024    2215    0    Артано    14    

19

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

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

18.08.2024    1790    1cnik2    23    

14

Поиск данных Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

14.06.2024    3387    7    RustIG    26    

22

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

Статья об опыте развертывания и интеграции с базой данных Manticore Search для быстрого полнотекстового поиска.

1 стартмани

30.11.2023    4541    andreysidor4uk    18    

53

Поиск данных Корректировка данных Пользователь Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

PowerOffice - обработка для поиска, просмотра и обработки данных для пользователей. Доступ к объектам на просмотр и редактирование данных определяется правами пользователя.

1 стартмани

05.06.2023    2323    25    PowerBoy    1    

15
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. masterb 63 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 формат последовательностей.
Оставьте свое сообщение