Имя: Пароль:
1C
1С v8
Удалить из временного хранилища, как? (
0 Azmarika
 
19.09.16
08:16
Добрый день, дорогие форумчане! Буду очень благодарна за помощь. Есть УТ10, к договорам прицепляются сканы через справочник хранилище дополнительной информации. База стала неимоверно расти, решено файлы перебросить на диск из хранилище. И ничего не получается. В интернете много примеров но ничего не срабатывает, либо выдается ошибка, либо файл остается в хранилище (Запрос.Текст = "ВЫБРАТЬ
                   |    ХранилищеДополнительнойИнформации.Ссылка,
                   |    ХранилищеДополнительнойИнформации.ВерсияДанных,
                   |    ХранилищеДополнительнойИнформации.ПометкаУдаления,
                   |    ХранилищеДополнительнойИнформации.Предопределенный,
                   |    ХранилищеДополнительнойИнформации.Наименование,
                   |    ХранилищеДополнительнойИнформации.ВидДанных,
                   |    ХранилищеДополнительнойИнформации.ИмяФайла,
                   |    ХранилищеДополнительнойИнформации.Объект,
                   |    ХранилищеДополнительнойИнформации.Хранилище,
                   |    ХранилищеДополнительнойИнформации.ТекстФайла,
                   |    ХранилищеДополнительнойИнформации.Представление
                   |ИЗ
                   |    Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации
                   |ГДЕ
                   |    ХранилищеДополнительнойИнформации.Объект.Организация = &Организация
                   |    И ТИПЗНАЧЕНИЯ(ХранилищеДополнительнойИнформации.Объект) = ТИП(Справочник.ДоговорыКонтрагентов)
                   |    И ХранилищеДополнительнойИнформации.Объект = &Объект";
Запрос.УстановитьПараметр("Объект", ОбъектХранилища);
Запрос.УстановитьПараметр("Организация", Организация);
ВыборкаДетальныеЗаписиКартинки=Запрос.Выполнить().Выбрать();
Пока ВыборкаДетальныеЗаписиКартинки.Следующий() Цикл
ОбъектХранилища=ВыборкаДетальныеЗаписиКартинки.Ссылка.ПолучитьОбъект().Хранилище;    
    ОбъектХранилища= новый ХранилищеЗначения(Неопределено);

КонецЦикла;
1 чувак
 
19.09.16
08:18
А как попытались удалить стесняюсь просит?
2 чувак
 
19.09.16
08:18
надо тупо удалить справочник где хранилище
3 DrZombi
 
гуру
19.09.16
08:24
(0) Просто

Справочник.ПолучитьОбъект()
Справочник.ХранЗнач = Неопределено; или ""; или Любое значение :)
Справочник.Записать
4 Azmarika
 
19.09.16
08:29
Можно просто удалить запись из справочника Хранилище дополнительной информации, тогда прикрепленный файл удаляется, но мне надо когда я выбираю договор перехожу на вкладку файлы и нажимаю открыть то открывается файл на диске
5 Azmarika
 
19.09.16
08:31
3!  Если такая команда ВыборкаДетальныеЗаписиКартинки.Ссылка.ПолучитьОбъект()  то получается ссылка на договор (
6 DrZombi
 
гуру
19.09.16
08:31
(4) Добавь в свой справочник реквизит "ИмяФайлаНаДиске" и ищи файл во внешнем источнике :)
7 DrZombi
 
гуру
19.09.16
08:32
(5) ЧИТО? О_о
8 чувак
 
19.09.16
08:32
Т.е. вы хотите чтоб рисунки хранились не в базе, а во внешних файлах?
9 DrZombi
 
гуру
19.09.16
08:33
(8) Он хочет минимум кода, максимум ЗП :)
10 чувак
 
19.09.16
08:34
(9) так на личке мужик чтоли?
11 Azmarika
 
19.09.16
08:36
8! Чтобы хранились во внешних файлах, я туда уже все договора перенесла, и при открытии они подтягиваются из внешних файлов, но блин как их из хранилища удалить не пойму. Везде пишется, что это элементарно. РеквизитХранилища=Неопределено...но блин, что это за реквизит хранилища ( как его выцепить из спаровочника дополнительной информации?
12 чувак
 
19.09.16
08:37
(11) может позвать специалиста?
13 DrZombi
 
гуру
19.09.16
08:38
(10) Судя по тормозу в (11), все же Женский пол. И не желания понять, как записать элемент справочника :)

(0)Фото, без фото магии не получится :)
14 Azmarika
 
19.09.16
08:38
6! просто механизм хранения файлов мне нравится, может ведь быть несколько прикрепленных файлов
15 DrZombi
 
гуру
19.09.16
08:41
(11) Запусти код:

Запрос.Текст = "ВЫБРАТЬ
                   |    ХранилищеДополнительнойИнформации.Ссылка
                   |ИЗ
                   |    Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации";
Выборка=Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    ОбъектХранилища = Выборка.Ссылка.ПолучитьОбъект();
    ОбъектХранилища.ОбменДанными.Загрузка = Истина;
    ОбъектХранилища.Хранилище = Неопределено;
    ОбъектХранилища.Записать();
КонецЦикла;
16 DrZombi
 
гуру
19.09.16
08:42
(14) "Хранилище ", это реквизит справочника, если туда записать любое значение, то хранимое значение потеряется :)
17 Azmarika
 
19.09.16
08:45
16! Вот этого я и добиваюсь. осталось выяснить как туда записать. Выдается сообщение что реквизит не доступен для записи
18 Azmarika
 
19.09.16
08:48
15!  Поле объекта не обнаружено (ОбменДанными)  (((
19 чувак
 
19.09.16
08:49
(18) убери эту строку кода
20 Лефмихалыч
 
19.09.16
08:51
(18) не может этого быть
21 Azmarika
 
19.09.16
09:15
18! так убираю, не помогает
22 Azmarika
 
19.09.16
09:48
23 Lexey_
 
19.09.16
09:53
(22) у обработки/формы реквизит с именем "ОбъектХранилища" есть?
24 Azmarika
 
19.09.16
10:08
23, У обработки реквизита такого нет
25 Lexey_
 
19.09.16
10:10
(24) ответ неполный
26 Lexey_
 
19.09.16
10:18
(24) а у формы?
27 Azmarika
 
19.09.16
12:38
У формы только реквизит организация, и договор контрагента
28 DrZombi
 
гуру
19.09.16
12:43
(22) Ты серьезно, это запустила? :)
Даже без раздумий, что делаешь, код?

Надо, было тебе написать форматирования диска :DDD
29 DrZombi
 
гуру
19.09.16
12:45
(0) Девушка. Вам справочник почистить надо, или записать все картинки, или что там у вас, на сетевой ресурс и после удалить все из БД?
30 Azmarika
 
21.09.16
08:10
28, а что ни так-то? (
31 Azmarika
 
21.09.16
08:11
29, мне надо чтобы в справочнике ссылка на хранилище была пустая, а сама запись осталась, я её использую
32 DrZombi
 
гуру
21.09.16
08:23
(31) Так работай, как с простым справочником.
1. Выбираешь элементы
2. Заполняешь нужный реквизит мусором
3. Записываешь.
...
5. Профит :)
...
7. Ломаешь голову, как восстановить потертые файлы
8. И т.д. :)
33 Azmarika
 
21.09.16
10:34
32, я ж их все выгрузила на диск ))))  А нужные реквизит не могу заполнить, чтобы изменить реквизит справочника надо получить объект, при этом получается ни объект справочника Хранилище дополнительной информации, а объект справочника договоры который является объектом конкретной записи справочника ((((((
34 Azmarika
 
21.09.16
10:35
Вот и думаю может у этого справочника специфика какая-то своя
35 Lexey_
 
21.09.16
10:40
(34) у формы есть реквизит с именем "ОбъектХранилища"?
36 Azmarika
 
21.09.16
12:14
Да..ой а что?
37 Azmarika
 
21.09.16
12:15
35, елки-палки! Большое человеческое спасибо!!! Надо так лапухнуться