Имя: Пароль:
1C
1С v8
ХранилищеЗначений
,
0 Azxcvbn
 
01.08.13
10:24
В документе есть Реквизит ХранилищеЗначений, там находятся adobe файлы.
Теперь надо выгрузить эти файлы куда нибудь + ссылка на документ(я не знаю сам процесс, то есть куда выгружать(в какой формат файла)).
А потом заново по ссылке опять их загрузить. Понимаю что надо внешнюю обработку создать, но там нельзя создать реквизит ХранилищеЗначений. Получается нужно сохранить в какую нибудь переменную, а дальше что?
1 Defender aka LINN
 
01.08.13
10:27
(0) Дальше зовешь программиста, даешь ему много денег
2 Aprobator
 
01.08.13
10:28
))))
3 SherifSP
 
01.08.13
10:28
ХранилищеЗначений.Получить() и по указанному пути выгружаешь в свой формат
4 SherifSP
 
01.08.13
10:28
(0) Вон в (1) намекает на помощь, если ты умный человек то взаимовыручка твой шанс )
5 Aprobator
 
01.08.13
10:29
там еще переводчик потребуется программисту то. Что значит ...выгрузить куда нибудь + ссылка на документ....? Имхо очень странно арифметическое действие.
6 ДенисЧ
 
01.08.13
10:31
Вот я думаю...
Как связаны "файлы adobe" и внешняя обработка?
7 Aprobator
 
01.08.13
10:32
(6) ... выгрузить куда нибудь...
8 Aprobator
 
01.08.13
10:32
+(7) походу пытается выгрузить их во внешнюю обработку.
9 Defender aka LINN
 
01.08.13
10:35
(5) Ну так я потому и написал - "много денег", а не просто "денег". Понимать надо! :)
10 Aprobator
 
01.08.13
10:40
(9) при попытке понять некоторых товарищей может уехать крыша. Экономист заказал отчет по рентабельности. Согласно его логике. Рентабельность связан только с выручкой от реализации без ндс минус зарплата и "зарплатные" налоги (НДФЛ, ПФР и т.д.).
11 Aprobator
 
01.08.13
10:41
Это еще при том, что пришлось ему объяснять, что не стоит к начисленной зарплате еще и плюсовать НДФЛ, поскольку он и так в ней.
12 cw014
 
01.08.13
10:48
(11) И объяснять, что не надо из поля "СуммаБезНДС" вычитать НДС )))
13 Широкий
 
01.08.13
10:48
Хранилище значений в документе? Брррр..
14 Aprobator
 
01.08.13
10:54
(13) упс. Кстати, да. Что за самопись дикая?
15 Infsams654
 
01.08.13
10:57
(13) а что не так ? вполне можно хранить связанные с документом файлики, например, сканы, связанные с этим документом и т.п.
16 Aprobator
 
01.08.13
11:01
(15) нефиг им там делать. Справочник по образцу типовых конфигураций. И ссылаться на элемент с файлом можно откуда угодно. А тут что, каждый раз документ и каждый раз - реквизит, даже если файл уже где то использовался.
17 Azxcvbn
 
01.08.13
11:29
Перефраирую, нужно из хранилище значений файл сохранить на ДИске С,D.
18 Лефмихалыч
 
модератор
01.08.13
11:30
ХранилищеЗначения (ValueStorage)
Получить (Get)
Синтаксис:

Получить()
Возвращаемое значение:

Тип: Произвольный.
Значение, содержащееся в хранилище.
Описание:

Получает из хранилища сохраненное в нем значение.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Пример:

МояКартинка = ХранилищеКартинки.Получить();
19 Лефмихалыч
 
модератор
01.08.13
11:30
ДвоичныеДанные.Записать (BinaryData.Write)
ДвоичныеДанные (BinaryData)
Записать (Write)
Синтаксис:

Записать(<ИмяФайла>)
Параметры:

<ИмяФайла> (обязательный)

Тип: Строка.
Имя файла, в который необходимо записать двоичные данные. Если файл существует, он будет перезаписан, иначе - создан.
Описание:

Записывает двоичные данные в файл.

Доступность:

Тонкий клиент, сервер, толстый клиент, внешнее соединение.
См. также:

ХранилищеЗначения
20 Infsams654
 
01.08.13
11:35
(16) при чем тут справочник, идет бизнеспроцесс. Например, клиент посылает что-то (вместе со сканом оригинала), на основании этого сообщения формируется документ, картинка связана только с этим документом. Так что не надо ля
21 Aprobator
 
01.08.13
12:18
(20) при том, что в документе будет хранится только ссылка на справочник. Потому как, представим ситуацию, что присипичило свернуть базу, но файлы хотелось бы оставить. И как быть, если файл хранится в документе, а документов куча и там есть информация которая нафиг не нужна?
22 Infsams654
 
01.08.13
12:55
(21) опять 25, при чем тут справочник? В документе реквизит типа ХЗ (или в реквизите ТЧ) - там сам файл и сидит. На счет свертки, можно обработкой все выгрузить в файлы.
Вообще-то можно и не в ХЗ хранить, а путь к файлу. Но тут свои заморочки, например, перенос базы на другой сервер.
23 Широкий
 
01.08.13
12:56
(0) У вас база видно не большая.
Хранилище в документе это косяк в плане производительности.
Закинутый туда файлик увеличивает "вес" данных который сервак будет пережевывать при каждом обращении к документу.
Открыл форму документа, записал-провел-удалил программно/интерактивно и т.д. везде твой сервак будет пыхтеть над файликом, который ты туда привязал.
24 Infsams654
 
01.08.13
13:00
(23) не прав, пыхтеть не будет, пока его не попытаешься прочитать. А так да, хранить в базе файлы - огромное увеличение объема, хотя, см. типовые (УТ, ЗУП, УПП) - везде есть хранение файлов
25 Широкий
 
01.08.13
13:01
(24) Ты через строку читаешь?
26 Infsams654
 
01.08.13
13:02
(25) нет, все строки осилил, а что не так ?
27 Infsams654
 
01.08.13
13:06
(25) "Закинутый туда файлик увеличивает "вес" данных который сервак будет пережевывать при каждом обращении к документу. "

С чего, это сервак должен пережевывать файлик ? У него есть просто ссылка на документ, в котором есть реквизит типа ХЗ. Даже, если сделать Ссылка...ПолучитьОбъект(), то он ни фига не будет извлекать сам ХЗ, пока не сделаешь типа ХЗ...Получить()
28 Широкий
 
01.08.13
14:17
Открытие формы элемента справочника.
Угадай, что за поле _Fld152:

exec sp_executesql N'SELECT
_Reference19._IDRRef AS f_1,
CAST(_Reference19._Version AS BINARY(8)) AS f_2,
_Reference19._Marked AS f_3,
_Reference19._IsMetadata AS f_4,
_Reference19._Code AS f_5,
_Reference19._Description AS f_6,
_Reference19._Fld152 AS f_7,
_Reference19._Fld153RRef AS f_8,
_Reference19._Fld2549 AS f_9
FROM
_Reference19 WITH(NOLOCK)
WHERE
_Reference19._IDRRef = P1',N'P1 varbinary(16)',0xB1E000155D029F0611DF932B59CBE306
29 Aprobator
 
01.08.13
14:20
(22) перевожу. Делать в документе реквизит типа Хранилище значений некошерно. Делать надо тип справчоник ссылка, а вот в справочнике уже делать реквизит с типом хранилище значений.
30 Infsams654
 
01.08.13
15:02
(28) 3-й раз повторяю, зачем тут справочник, если в самом документе реквизит ХЗ. Что тут приводить открытие формы справочника, посмотри как открытие формы документа делается
(29) да уж - переводчик, с чего это ?
Что вы все не в курсе, что, самое что ни на есть кошерно и даже модно?
31 Широкий
 
01.08.13
15:20
"Что тут приводить открытие формы справочника, посмотри как открытие формы документа делается "

Неужели есть существенная разница?
32 Aprobator
 
01.08.13
15:23
клинический случай походу
33 Aprobator
 
01.08.13
15:31
человек явно считает, что при открытии формы объект кусками читается.
34 Infsams654
 
01.08.13
17:17
(33) а вы явно думаете, что сервак, такой дурак, что будет читать сразу blob на несколько гиг ?
35 Aprobator
 
01.08.13
17:31
(35) реально считаем, что при открытии формы объекта из базы считывается только то что видно?
36 Infsams654
 
01.08.13
17:31
(31) да, и если выполнен sp_executesql N'SELECT ..., это не значит, что все это разом прочиталось. Все идет по мере навигации по записям, при чем, по мере необходимости
37 Aprobator
 
01.08.13
17:33
а понятно, просто вообще в тему не въехал, что тут Широкий объяснить пытался.
38 Infsams654
 
01.08.13
17:45
(37) ну тут конечно от СУБД зависит (хотя кривых последнее время не встречал, даже и в файловой 1С все сделано прилично).
39 Aprobator
 
01.08.13
17:49
(38) СУБД это СБУД. Вопрос в том как клиент с СУБД работает. И Широкий те показал, что при открытии формы 1С пытается считать все скопом. Если б там запрос похитрее формировался и тащил строго только необходимое, то с тобой можно было бы согласиться.
40 Aprobator
 
01.08.13
17:51
т.е. открывается форма, но запрос тащит не только видимые ее элементы. Потому форма объекта у которого есть реквизит с типом значения Хранилище будет открываться чуток потяжелее, чем если там хранится только ссылка.
41 Infsams654
 
01.08.13
17:59
(39) в (36) уже написано. Если бы селект в любой субд так работал, то никакой sql-навигатор или др. не смог бы открыть приличную базу SELECT * FROM <Приличная база>.
(40) если на форме сразу нет картинки, то зачем ее тянуть. Если переключаемся на закладку, допустим с фотографией, то и достается
42 Aprobator
 
01.08.13
18:03
(41) зачем тянуть - уже другой вопрос. И это логично. Но не все, что окружает нас - логично.
43 Infsams654
 
01.08.13
18:07
(42) - логично, так что дерзайте. На счет хранения файлов в в ХЗ уже тут столько было  тем ...
44 Aprobator
 
01.08.13
18:09
(43) если есть желание - отладчик в руки и замерь время открытия. Мне лениво тебя убеждать словами.
45 Aprobator
 
01.08.13
18:10
сэмулировать ситуацию - г..но вопрос. Было бы желание.
46 Aprobator
 
01.08.13
18:12
даже в самой 1С ХЗ встречается в основном в справочниках. Ну вот тлько в элеткронном письме встречал в документе. Хотя могу ошибаться. Спрашивается - почему? 1С, как бы ее не ругали, пишут далеко не идиоты.
47 Infsams654
 
01.08.13
18:17
(44) и мне лениво. Конечно чтение записей с бинарными данными медленней, просто селект не читает все blob поле сразу
(46) да тут вообще никакой разницы, справочник, документ, мож даже и ресурс регистра засунуть
48 Aprobator
 
01.08.13
18:19
(47) ну мил человек одно дело читать blob поле,даже куском, а другое - varchar в которой хранится ссылка .
49 Infsams654
 
01.08.13
18:23
(48) не понял, это к чему. Кстати, в регистрах можно ресурсы ХЗ делать, а вот измерения - нет
50 Aprobator
 
01.08.13
18:29
(49) ссылка на справочник с ХЗ 0). А по поводу РС - естественно, как индекс по blob полю сделать?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс