|
Получение изображений номенклатуры из 1с (база в MS SQL)
|
|||
---|---|---|---|
#18+
Добрый день! Я думаю вопрос уже избитый, но, тем не менее, я не нашел на него на форуме ответа. Исходный данные: 1C Предприятие 8.2, Управление торговлей 10.3, база на MS SQL 2008. Мне необходимо сделать asp.net веб-сервис который по ID номенклатуры/изображения (из Справочник_ХранилищеДополнительнойИнформации) отдавал картинку. Все что я пока знаю, что картинка хранится в таблице _ReferenceXXX в поле типа image. Может кто-то поделится кусочком кода, как вытащить из этого поле изображение (не прибегая к функциям 1C) и отобразить его? Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 11:16 |
|
Получение изображений номенклатуры из 1с (база в MS SQL)
|
|||
---|---|---|---|
#18+
bozhdayДобрый день! Я думаю вопрос уже избитый, но, тем не менее, я не нашел на него на форуме ответа.Может потому, что не то/не там искали?Исходный данные: 1C Предприятие 8.2, Управление торговлей 10.3, база на MS SQL 2008. Мне необходимо сделать asp.net веб-сервис который по ID номенклатуры/изображения (из Справочник_ХранилищеДополнительнойИнформации) отдавал картинку. Все что я пока знаю, что картинка хранится в таблице _ReferenceXXX в поле типа image. Может кто-то поделится кусочком кода, как вытащить из этого поле изображение (не прибегая к функциям 1C) и отобразить его? Если не прибегая к функциям 1с, то почему вопрос в форуме таки по 1с? Почему не в форуме по Ms SQL? Так же, как и любое другое поле. Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 11:56 |
|
Получение изображений номенклатуры из 1с (база в MS SQL)
|
|||
---|---|---|---|
#18+
А зачем в хранилище храните?... У меня все файлы отдельно. В 1с только ссылка. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 12:32 |
|
Получение изображений номенклатуры из 1с (база в MS SQL)
|
|||
---|---|---|---|
#18+
Сергей, я сам виноват, немного не точно выразился. Выбрать данные из базы нет проблем, проблема это поле преобразовать в картинку. Похоже 1c как-то хитро хранит это поля (или преобразует перед записью) и прямое преобразование byte[] в Response нужного типа картинку не дает. Поэтому прошу помощи у людей, которые с этой задачей сталкивались. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 12:34 |
|
Получение изображений номенклатуры из 1с (база в MS SQL)
|
|||
---|---|---|---|
#18+
bozhdayСергей, я сам виноват, немного не точно выразился. Выбрать данные из базы нет проблем, проблема это поле преобразовать в картинку. Похоже 1c как-то хитро хранит это поля (или преобразует перед записью) и прямое преобразование byte[] в Response нужного типа картинку не дает. Поэтому прошу помощи у людей, которые с этой задачей сталкивались.Ну так для начала сравните набор байтов, который Вы туда кладете с набором, полученным обратно, для выяснения наличия и возможности выполнить такое преобразование. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 12:42 |
|
Получение изображений номенклатуры из 1с (база в MS SQL)
|
|||
---|---|---|---|
#18+
Программист 1сА зачем в хранилище храните?... У меня все файлы отдельно. В 1с только ссылка. К сожалению, я с 1с знаком лишь первую неделю (основная специализация другая) и тем более база уже заполнена заказчиком. Поэтому, я использую лишь то, что есть. Согласен, ваше решение было бы намного интуитивней для моей задачи, но, похоже, исходные данные у меня в другом формате. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 12:53 |
|
Получение изображений номенклатуры из 1с (база в MS SQL)
|
|||
---|---|---|---|
#18+
Ну так для начала сравните набор байтов, который Вы туда кладете с набором, полученным обратно, для выяснения наличия и возможности выполнить такое преобразование. Сравнивал уже, данные отличаются. Поэтому и сделал вывод, что 1c преобразует данные перед записью. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 12:55 |
|
Получение изображений номенклатуры из 1с (база в MS SQL)
|
|||
---|---|---|---|
#18+
bozhdayНу так для начала сравните набор байтов, который Вы туда кладете с набором, полученным обратно, для выяснения наличия и возможности выполнить такое преобразование. Сравнивал уже, данные отличаются. Поэтому и сделал вывод, что 1c преобразует данные перед записью.Чем/как отличаются? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 12:57 |
|
Получение изображений номенклатуры из 1с (база в MS SQL)
|
|||
---|---|---|---|
#18+
Sergey Sizovbozhdayпропущено... Сравнивал уже, данные отличаются. Поэтому и сделал вывод, что 1c преобразует данные перед записью.Чем/как отличаются? Банально размером: исходная картинка 4557 байта, в поле базы кладется 4122 байта. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 13:06 |
|
Получение изображений номенклатуры из 1с (база в MS SQL)
|
|||
---|---|---|---|
#18+
bozhdaySergey Sizovпропущено... Чем/как отличаются? Банально размером: исходная картинка 4557 байта, в поле базы кладется 4122 байта.Всё надо тянуть клещами? Кому это надо - Вам или нам? Что есть исходная картинка? Какой формат? Где смотрится? Как определяли размер? Что еще выяснили? Или сил хватило только на выяснение разницы размеров? Или Вам самим ничего делать не хочется кроме получения готового решения на блюдечке с каемочкой? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 13:15 |
|
Получение изображений номенклатуры из 1с (база в MS SQL)
|
|||
---|---|---|---|
#18+
Sergey Sizovbozhdayпропущено... Банально размером: исходная картинка 4557 байта, в поле базы кладется 4122 байта.Всё надо тянуть клещами? Кому это надо - Вам или нам? Что есть исходная картинка? Какой формат? Где смотрится? Как определяли размер? Что еще выяснили? Или сил хватило только на выяснение разницы размеров? Или Вам самим ничего делать не хочется кроме получения готового решения на блюдечке с каемочкой? Сергей, зачем вы сразу нападаете? Как вы мне вопрос задаете, так я вам и отвечаю. Представьте, да, хочется сэкономить время, поэтому и спрашиваю у людей, которые по этой дороге уже проходили. Сами в такой ситуации не были? Исходная картинка до заливания в базу: jpg - 4557 байт. На выходе из базы: 4122 байт (смотрю под отладчиком кол-во прочитанных байт из запроса в базу) Помимо этого одни источники говорят, что якобы файлы перед записью кодируются в base64 ( http://www.sql.ru/forum/914152/kartinki-v-baze-1s?hl=???????? ms sql), а другие ( http://igorus1977.ya.ru/replies.xml?item_no=1462), что: "Удалось заметить, что в поле базы данных несжатое изображение хранится в следующем виде: начиная с байта 0x64 8 байт посвящены размеру изображения, а затем идет само изображение." Пробовал и тот и другой вариант - не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 13:48 |
|
Получение изображений номенклатуры из 1с (база в MS SQL)
|
|||
---|---|---|---|
#18+
bozhday, чем не нравится 1С? Прекрасно возвращает содержимое файла строкой, результат достаточно преобразовать Convert.FromBase64String, чтобы получить бинарный файл. Например можно вызвать через веб-сервис 1с: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Здесь "ДиагностическийЛист" документ с табличной частью "СписокФайлов", UID1C - 1с-ный гуид, который можно получить из поля _IDRRef: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 17:47 |
|
Получение изображений номенклатуры из 1с (база в MS SQL)
|
|||
---|---|---|---|
#18+
baclanovbozhday, чем не нравится 1С? Прекрасно возвращает содержимое файла строкой, результат достаточно преобразовать Convert.FromBase64String, чтобы получить бинарный файл. Например можно вызвать через веб-сервис 1с: baclanov, спасибо за вариант реализации. Дело в том, что у меня есть доступ только к базе данных MS SQL на чтение (такой был уговор с работодателем). И он меня на 99% устраивает, так как текстовые данные оттуда я понимаю откуда брать. Мне осталось решить вопрос только с чтением бинарников и задача будет решена. Тем более что данные я получаю, не могу их только преобразовать в исходный, читабельный вид. Не хотелось бы только ради этого привлекать ресурсы 1с и вести новые переговоры с заказчиком. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 18:22 |
|
|
start [/forum/topic.php?fid=28&msg=38547062&tid=1519533]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 159ms |
0 / 0 |