Хранение изображений jpg в базе 1с 8.1 #559145


#0 by Den Romanoff
Есть самописная конфигурация для учёта заезда/выезда автомобилей. При заезде автомобиля создается документ со следующими реквизитами: -Марка -Модель -Транзит Также, данные сохраняются в регистре сведений "Архив машин" с похожими измерениями. В процессе проведения делается снимок с веб-камеры (через ActiveX), который сохраняется на диск. В связи с этим вопрос - как сохранять сделанное изображение в базу (вместе с документом или в архив машин), а не на диск. Чтобы при открытии документа заезда за какую-либо дату можно было сразу посмотреть снимок заезжающей машины?
#1 by alex-pro
Дык, храни через ХранилищеЗначения.
#2 by Den Romanoff
Расскажите поподробнее, пожалуйста. Вообще, я программист на С, PHP и Python. Знания по особенностям 1с-программирования в зачаточном состоянии, вот пришлось связаться. Хотя бы с чего начать реализацию моей задачи? Можно ссылки на статейки по теме.
#3 by Den Romanoff
Видите ли, прикрутить activex и заставить его сохранять фотографии с камеры я осилил, а вот структура хранения данных в 1С для меня темный лес.
#4 by IronDemon
#5 by Den Romanoff
Помещаю в хранилище: А когда пытаюсь достать: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1                 |    АрхивМашин.Фото Ругается на несоответствие типов Где жук?
#6 by Grusswelle
Посмотри, каких типов может быть измерение у регистра.
#7 by Den Romanoff
А это и не измерение. У них нельзя выбрать тип ХранилищеЗначения. Я пробовал и ресурсы и реквизиты.
#8 by Den Romanoff
Блин... Как же быть-то?
#9 by Либерал
не надо тебе в регистр через движения картинку.. сделай у самого документа реквизит "фото" с типом ХранилищеЗначения. в запросе получишь Ссылку на документ, потом вытащишь картинку по ссылке примерно так: Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
#10 by Либерал
если все же очень надо регистр - лучше фото в справочник, а элементы справочника уже в регистр.
#11 by vde69
сделай справочник с 1 реквизитом куда записывай картинку а в регист добавь ссылку на этот справочник это нужно для того что-бы запросы по регистру не тормазили
#12 by milan
у меня в рс хранится строка неограниченной длины сжатая, мож я что- то не так сделал?
#13 by milan
а чего запросы должны тормозить? регистр 2м записей несколько гигов весит, ни списки ни запросы ни формы записи не тормозят
#14 by Den Romanoff
Всё равно, блин, не растет кокос... :( Вот я сохраняю снимок с камеры на диск: Вот я помещаю его в реквизит документа "заезд" Вот пытаюсь его оттуда достать. Но опять возникает несоответствие типов: Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1             |    Заезд.Ссылка Как только не пробовал: и с использованием Двоичных Данных и в BMP сохранял. Несоответствие, и всё тут. Как же его правильно достать оттуда?
#15 by Den Romanoff
Ура! Проблема решилась. Сохраняю: Фото = Справочники.Фотографии.СоздатьЭлемент; Фото.Фотография = Новый ХранилищеЗначения(Новый картинка("C:carfoto.jpg")); Достаю: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1                 |    Фотографии.Ссылка Спасибо всем за помощь!
#16 by МаленькийВопросик
а я делал нечто подобное - в году аж 2007-ом! только я в базе хранил ссылки на фотографии авто, а фотографии хранились в определенном каталоге ну и веб-интерфейс к базе был привязан...
#17 by Ювелир
а зачем картинки в базу пихать? Я на файл сервер складываю. Связь либо по ключу составному либо по индексу. Просто. Надежно. Дешево.
#18 by ВосточныйПарень
У меня в базе даже ссылки не хранятся, а вот при открытии документа есть кнопка, по которой открывается обработка показывающая, а есть ли в специальной базе СКЛ на эту ссылку документа привязанные файлы. Файлы хранятся в базе СКЛ отдельной. При добавлении файла в СКЛ базу загружается файл, ссылка на объект базы 1С, дата вставки, имя пользователя, имя файла.
#19 by Den Romanoff
Машин в день заезжает порядка трёх тысяч. Мне кажется, при таком количестве, хранение в каталоге быстро бы начало глючить.
#20 by i_rodionov
ИМХО, при таком количестве двоичных данных (три тысячи снимков в день) нужно делать отдельную SQL базу. Туда грузить картинки. Правильное решение. НО!!! Возникает вопрос целостности данных. При архивировании 1С-базы что делать со старыми снимками? Нужна соответствующая обработка, чтобы их тоже удалять или переносить куда-то еще. При удалении отдельного документа из 1С, что делать со снимком к ниму привязанным? Нужна процедура, которая все почистит. Кроме этого нужна отдельная асинхронная задача в 1С, которая периодически проверяет целостность данных.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С