Имя: Пароль:
1C
1С v8
Хранить файл в базе
,
0 Bibr
 
21.10.15
14:52
Идеология 8.х подразумевает хранение всего и вся в базе, а не во внешних файлах.

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

Есть ли возможность?
Что использовать?

п.с.
Поковырялся в СП - всякие временные хранилища как я понял не подойдут, ещё есть куча разных хранилищ настроек - их можно под это применить?
1 Лефмихалыч
 
21.10.15
14:56
(0) хранить универсально и без изменений в произвольной конфигурации можно в системном хранилище настроек - у него нет ограничений по содержимому.
Только в (0) не озвучена задача, а озвучено решение. Может есть способ проще или/и правильнее? Для чего это надо?
2 Casey1984
 
21.10.15
15:01
"Идеология 8.х подразумевает хранение всего и вся в базе, а не во внешних файлах."

А 1С Документооборот придумали орки?
3 ДенисЧ
 
21.10.15
15:04
(2) "1С Документооборот придумали орки?"

Давно уже известно, что все свежие конфигурации писали укуренные инопланетяне...
4 Bibr
 
21.10.15
15:09
(1) спасибо, попробую.

А поясните про то, что не озвучена задача.
Имхо, вот она задача:
"необходимо придумать, как хранить/изменять/удалять один текстовый файл в базе. Нужно придумать универсальное решение для произвольной конфигурации, не меняя конфигурацию."

В текстовом файле будут временно аккумулироваться данные, которые надо отправить на вэб-сервер в случае отказа процедуры обмена (например интернет пропал)
5 Bibr
 
21.10.15
15:11
(2) с 1с документооборотом не сталкивался.
И где они там хранят файлы? Наверняка ведь если даже внешне, то конфа уже заточена - есть константы с каталогами и т.д.
А мне нужно решение без изменения конфигурации
6 poligraf
 
21.10.15
15:14
(1) ты подумай.
"Не меняя конфигурацию" или "Не меняя ТИПОВУЮ конфигурацию"?
А то расширения еще вышли.
Или стоит задача, чтобы и в базовой работало все?
7 Bibr
 
21.10.15
15:16
(6) вопрос адресован мне или Лефмихалычу?
Если мне, то "Не меняя конфигурацию"
И на пустой конфигурации должно работать
8 poligraf
 
21.10.15
15:20
(7) тебе конечно.

Я про базовую спросил.
Если конфигурация в принципе можно менять, не трогая типовые объекты - не забивай себе голову.

А то нацелишься на типовые какие регистры.
А потом 1С уберет их.
9 MaxS
 
21.10.15
15:23
(2) Документооборот может хранить документы в базе, как ни странно.
Если хранить отдельно, можно круто попасть. Кто-нибудь в копии базы что-нибудь поменяет или рабочая база будет восстановлена из бэкапа. Получится рассинхронизация данных. Или админы забудут, что бэкапить нужно не только 1С базу, а ещё и файлы...
10 Bibr
 
21.10.15
15:26
(8) я же написал - и на пустой конфигурации должно работать.
Никаких привязок к регистрам.
11 Casey1984
 
21.10.15
15:28
(9) Америку открыл ;)
12 Stim
 
21.10.15
15:29
как хранить файл в пустой конфигурации?
сильно.

если нет объектов, то нет и настроек, по идее.
13 Bibr
 
21.10.15
15:44
(12) так данный файл и не должен привязываться к каким-либо объектам.

в платформе есть же различные временные хранилища, хранилища настроек.
Вот вопрос как раз в том, есть ли на уровне платформы возможность реализовать то, что мне нужно?
14 nyl53907
 
21.10.15
16:10
(13) Я в таких случаях хранилище общих настроек юзаю.

ХранилищеОбщихНастроек.Сохранить("СтрокаИдентификатор", "СтрокаКлюч", <ЧтоСохраняем>,,"СтрокаКлючВместоИмениПользователя");


Переменная = ХранилищеОбщихНастроек.Загрузить("СтрокаИдентификатор", "СтрокаКлюч",,"СтрокаКлючВместоИмениПользователя");

Строки "СтрокаИдентификатор" и "СтрокаКлюч" могут быть произвольными (стоит вместо этих строк что-нибудь информативное написать). "СтрокаКлючВместоИмениПользователя" не обязательно, тогда по умолчанию для каждого пользователя свой вариант сохраняться и читаться будет. Для того чтобы у всех был один вариант сохраненного объекта можно какую-то одну строку юзать, например как в примере. Только для этого или админские права нужны, или в процедуре писать УстановитьПривилегированныйРежим(Истина) (действует до конца процедуры вроде). Сохранять можно что угодно, в случае текстового файла это наверное будет переменная с двоичными данными файла. Ограничений по объёму вроде нет. Работоспособность проверял на нескольких конфигурациях 8.2 и на нескольких 8.3. Использовал для хранения данных для внешней обработки.
15 Лефмихалыч
 
21.10.15
16:13
(4) нет ответа на вопрос - ЗАЧЕМ это делать
16 Fish
 
21.10.15
16:17
(5) "И где они там хранят файлы?" - не поверишь, но там, где укажешь.
17 poligraf
 
21.10.15
16:19
(14) ага.
А потом кто-нибудь на ИФ скачает обработку "Очистка хранилища настроек".

(15) Либо хитрая проверка, либо матерая постановка
18 Лефмихалыч
 
21.10.15
16:22
(17) могу только предположить какую-нить принципиально-новую-офигительную-на-все-времена-консоль-запросов-с-блэкджеком, но сомневаюсь, что угадал...
19 nyl53907
 
21.10.15
16:23
(17) А ещё базу 1С могут целиком похерить =)
Задача стояла "временно аккумулироваться данные", так что временно всё будет ОК =)
20 Bibr
 
21.10.15
16:39
(14) nyl53907, спасибо огромное, работает!


(15),(16),(17) - всем спасибо)