gifts2017

Получение изображений, сохраненных в 1С:Предприятие 8.x, прямым доступом из SQL Server + пример кода на Asp.Net

Опубликовал Сергей Карташев (Elisy) в раздел Администрирование - Сервисные утилиты

В предыдущей статье я описывал, как посредством Linq и Elisy .Net Bridge напрямую обращаться к данным 1С:Предприятие. Практика показала, что особых трудностей нигде не возникает. Основной трудностью, с которой пришлось столкнуться и решать, явилось извлечение изображений из справочника ХранилищеДополнительнойИнформации.

В предыдущей статье я описывал, как посредством Linq и Elisy .Net Bridge напрямую обращаться к данным 1С:Предприятие. Практика показала, что особых трудностей нигде не возникает. Основной трудностью, с которой пришлось столкнуться и решать, явилось извлечение изображений из справочника ХранилищеДополнительнойИнформации.

Проблема заключается в том, что 1С:Предприятие записывает значение типа ХранилищеЗначения в базу данных в своем внутреннем формате. Ситуацию осложняет использование объекта СжатиеДанных

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Обработка загрузки изображений без сжатия 1С
.epf 7,11Kb
18.11.09
51
.epf 7,11Kb 51 Скачать
Пример Asp.Net кода получения изображения прямым доступом
.cs 5,11Kb
18.11.09
36
.cs 5,11Kb 36 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. gilv (Gilev.Vyacheslav) 12.11.09 19:49
>>>Основной трудностью, с которой пришлось столкнуться и решать, явилось извлечение изображений из справочника ХранилищеДополнительнойИнформации.

это потому что освоил C#, но не стали изучать 8ку

задолбал, минус
2. dushelov (Душелов) 12.11.09 20:08
>Разработчикам следует более пристально приглядеться к стандартным механизмам сохранения в 1С файлов на предмет совместимости с другими общедоступными технологиями

Зачем? К чему это все?
Может для таких случаев проще использовать общую папку с картинками?
3. Сергей Карташев (Elisy) 13.11.09 07:09
(1) gilv, есть что по делу сказать без эмоций? Можно подумать, что я бегаю конкретно за вами и упрашиваю читать мои публикации :) . Может лучше не читать вам мои заметки, чтобы не расстраиваться и "не задалбываться"? Заметьте, я не захожу в каждую вашу публикацию и не оставляю гнусные комментарии. Хотя и в вашем случае можно выдрать отдельную фразу из контекста и на славу покритиковать ее, как поступили вы в данном случае.

Поясняю: в названии статьи используется выражение "прямой доступ", это означает, что речь в ней идет о прямом доступе к базе данных MSSQL без участия 1С. Трудности, о которых говорится, относятся к получению содержимого файла изображения именно из базы данных МССКЛ через, например, C#.
Поясняю для Gilv :) : Базовое образование в сфере ИТ, сертификат по 1С и опыт работы с 1С к статье прилагаются. Опыт работы с С++, С# прилагаются также.
4. gilv (Gilev.Vyacheslav) 15.11.09 06:17
Пиши:
ЗАЧЕМ это нужно, почему другие варианты не подходят
далее - почему выбран именно этот метод, какие есть альтернативы
какие плюсы и минусы выбранного метода решения задачи

пока по тому, что далаешь, не видно всего выше перечисленного
а что получается в результате,
мне постоянно приходится на проектах разгребать подобные "подделки", потому что новички как следует не разобравших ТАКОЕ творят, что иногда проще вместо исправлений вообще все заново написать

когда что то выкладываешь, надо осозновать ответственность за возможные последствия

уж молчу про нарушения лицензионной политики, тут и без нее видно кучу технических проблем, которые вызовет предложенный подход как в этом посту так и в других

нормальный такой; +1 Ответить 1
5. Сергей Карташев (Elisy) 16.11.09 07:01
(2) Извиняюсь за задержку с ответом. Предложенное мной решение хорошо интегрируется в стандартные механизмы 1С. Т.е. добавленные изображения выложенной обработкой нормально отображаются из 1С, но вместе с тем имеют достоинство - к ним можно без проблем обратиться методом прямого доступа (ПДД).
Случай с общей папкой - это тоже вариант. Но в данном случае имеет, как мне кажется, больше недостатков: если хранить все изображения только в общей папке, то необходимо дописывать конфигурацию 1С, чтобы отображать в них изображения. Если хранить и в информационной базе 1С и в общей папке, то получается избыточность и нужен посредник, выгружающий все изображения из информационной базы в общую папку. Посредников я не люблю.
Метод с общей папкой имеет право на существование, но как мне кажется, не в случае, когда есть прямой доступ к БД. А, например, в случае удаленного веб-сайта.
6. Сергей Карташев (Elisy) 16.11.09 08:52
(4) Ни я и никто другой на Инфостарте не несут ответственности за то, что натворят другие, выкладывая разработки по принципу "AS IS" (как есть). Пусть за это несут ответственность их непосредственное руководство. Это первое.
Второе, с каких это пор ссылки на статьи должны быть оформлены в виде научных статей с введением, описанием аналогов, выводами?
Третье, что касается лицензионного соглашения. Разговор об этом с тобой был уже в других постах. С твоего молчаливого согласия пришли к выводу, что лицензионное соглашение 1С нарушает Гражданский Кодекс РФ, где сказано, что владелец базы данных может обращаться к ней любыми способами. Но возникает другой закономерный вопрос, почему из 60 тысяч пользователей Инфостарт только тебя заботит судьба этого нового спорного пункта лицензионного соглашения?
Четвертое, почитай раздел Цели Инфостарта http://infostart.ru/about/ и впредь будь добр "создавать атмосферу доброжелательного общения".
Пятое, когда освоишь .net framework, о котором идет речь в моих публикациях, мы сможем с тобой на равных обсудить "технические проблемы" всех моих публикаций. Потому что .Net нормально внедрили в С++, Visual Basic, Delphi, Python, Ruby, Axapta и особых проблем в них не возникало.
7. Drock (d.snissarenko) 27.11.09 21:06
8. Сергей Карташев (Elisy) 28.11.09 08:47
(7) Действительно "костыли", лучше определение не подберешь
9. Яшин Антон (Anyxwar) 01.06.10 15:20
чет Гилев выделывается дофига.Понаполучал сертификатов и строит из себя бога
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа