Имя: Пароль:
1C
1С v8
Как получить бинарные данные изображения напрямую из БД 1С?
,
0 error500
 
13.11.14
13:47
И так вводные:
Сервер: 1С 8.2 на Windows Server 2008R2
База: Postgres 9.1.2 1C на Debian Linux 7
Задача: Вывести номенклатуру товаров предприятия с доп данными - одно из доп данных изображение товара на веб страницу средствами PHP (для скорости разработки используется Yii 1.1. При помощи обработки http://infostart.ru/public/14692/ были удачно распознаны реальные имена полеи таблиц в БД и также весьма успешно все вывелось за исключением картинок.
Собственно проблема:
Где хранится бинарное тело файла? В таблице есть поле  "Текст файла" но там линк на ресурс, есть поле "Объект" но там тоже линк на ресукс
1 H A D G E H O G s
 
13.11.14
13:55
(0) Вложенный справочник, не?
2 vde69
 
13.11.14
13:59
(0) а Вы знаете, что это есть прямое нарушение лицензий 1с???

а вообще в 1с есть механизм сервисов, и веб вполне может интегрироватся именно через сервисы (если уж вы не хотите делать выгрузки....)
3 DmitrO
 
13.11.14
14:01
Перейдите на 8.3 и напишите HTTP-сервис.

А можно еще попробовать прямо на PHP в HTML код вложить внешнюю навигационную ссылку на картинку в базе.
4 18_plus
 
13.11.14
14:06
профайлер поможет найти, собсно с него и нужно было начинать
5 error500
 
13.11.14
14:10
На лицензию мне пока всеравно - это можно сказать исследование

Вот сервисы и т.п. криворукое уё от етерсофта пожалуйста не предлагайте - у меня как человеку который "не первый день замужем" с Postgres и *nix системами - волосы шевелятся на голове когда я вижу как оно там внутри организовано

В общем есть конкретный вопрос - где лежит бинарник? Остальное лирика и дело религии.
6 error500
 
13.11.14
14:21
18_plus <<< к своему удручению и величайшему сожалению я ни разу ни писатель в 1С

был бы признателен за инструкцию некст-некст-финишь как его врубить или ссылку на статью где разбирают использование этого во всех смыслах волшебного инструмента
7 18_plus
 
13.11.14
14:25
8 error500
 
13.11.14
14:31
а об этом речь
ну в общем может быть конечно
9 Asmody
 
13.11.14
14:55
(0) Конфигурация какая? Картинки обычно хранятся в отдельном справочнике или регистре сведений, в поле типа ХранилищеЗначения. В базе это BLOB какой-нибудь (в MSSQL - image).
10 error500
 
13.11.14
15:02
"Управление торговлей", редакция 10.3 (10.3.24.1) (http://v8.1c.ru/trade/)
Copyright (С) ООО "1C", 2003-2013. Все права защищены
(http://www.1c.ru)
11 error500
 
13.11.14
15:10
Инфо о изображении хранится в справочнике "ХранилищеДополнительнойИнформации" в регистрах нашел только "ПрисоединенныеФайлы" но там пусто
12 18_plus
 
13.11.14
15:16
(11) "Инфо о изображении хранится в справочнике "ХранилищеДополнительнойИнформации"

там и инфо и само изображение. реквизиты посмотри с типом "ХранилищеЗначения" - это оно.
13 oleg_km
 
13.11.14
16:10
ты под отладчиком открой изображение и увидишь из какой таблицы дергается ХранилищеЗначения или может они в файле лежат на диске, тогда увидишь путь. А потом уже ищи на скуле в какой колонке лежит данное ХранилищеЗначения
14 error500
 
13.11.14
17:12
Судя по всему проблема не совсем в 1С а скорее в связке Yii::PDO + Postgres

http://php.net/manual/ru/pdo.lobs.php както вот так надо получать а не тупо читать значение колонки

из поля Хранилище покачто возвращается какая-то лабуда

SKo\F4\88\8D\C1N\A0\D5?\A0\A7
\95oeT \E5 C\C7\00?\B4\C4
?#9t\8A\84\82t\83HIw*\DD
\C2 \A9\F4J
\E1\00~Cw#
с вот такой первой строкой  -  наверно надо еще  unescape применить