|
Хранилище значений | ☑ | ||
---|---|---|---|---|
0
STAYEKR
16.10.12
✎
11:45
|
Доброго всем здоровья! Возникла проблема: пытаюсь на форму записи регистра сделать возможность добавлять вложения (документы, ссылки и т.д.) Прочитал про ХранилищеЗначений. Так вот, добавил в регистр ресурс соотв. типа ("Путь"). В конфигураторе пишу код:
Функция Функция1(хранилище, путькфайлу) Путь = новый ХранилищеЗначения( новый ДвоичныеДанные(путькфайлу), новый СжатиеДанных(9)); хранилище = Путь; Данные = хранилище.Получить(); Если ТипЗнч(Данные) = Тип("ДвоичныеДанные") Тогда Сообщить("Ура!"); КонецЕсли; КонецФункции; Падает ошибка: "Файл не обнаружен" и полный путь к файлу. Подскажите, пожалуйста, где косяк? |
|||
2
STAYEKR
16.10.12
✎
11:46
|
(1) веткойпромахнулся. 8.1
|
|||
3
Ursus maritimus
16.10.12
✎
11:47
|
(0) Путь задан для клиента. Код выполняется на сервере.
|
|||
4
АЛьФ
16.10.12
✎
11:47
|
Может быть... файл не обнаружен?...
|
|||
5
Ursus maritimus
16.10.12
✎
11:47
|
Ну или правда нет файла.
|
|||
6
Cube
16.10.12
✎
11:48
|
(0) Может путь к файлу содержит пробелы?
|
|||
7
STAYEKR
16.10.12
✎
11:49
|
Файл таки есть, пробелов в пути нет. Все символы в пути на английском
|
|||
8
YF
16.10.12
✎
11:49
|
(7) Как там с клиент-серверностью?
|
|||
9
STAYEKR
16.10.12
✎
11:53
|
(8) функция вызывается из процедуры БЕЗ пометок &НаКлиенте/&НаСервере
|
|||
10
STAYEKR
16.10.12
✎
11:58
|
Я так понимаю, корень кроется в (3)?
|
|||
11
YF
16.10.12
✎
11:59
|
(9) Отладчикам-то остановись там, и узнай на сервере это или на клиенте
|
|||
12
STAYEKR
16.10.12
✎
12:08
|
Стесняюсь спросить, а как отладчиком ЭТО определить?Если Отладка\Подключение, то там написано Тип = Клиент...
|
|||
13
STAYEKR
16.10.12
✎
12:18
|
Проверил.Исполняется на клиенте. Кто-нибудь знает, в чем причина?
|
|||
14
zladenuw
16.10.12
✎
12:22
|
ну так какой полный путь к файлу и где сервер то.
|
|||
15
STAYEKR
16.10.12
✎
12:29
|
(14) Полный путь существующий, указывает на файл на компе пользователя, который будет делать вложение документа
|
|||
16
STAYEKR
16.10.12
✎
12:32
|
Кто-нибудь поможет, уважаемы гуру?
|
|||
17
STAYEKR
16.10.12
✎
12:36
|
Хоть ткните носом, какую книжку курить?
|
|||
18
Cube
16.10.12
✎
12:41
|
(17) Че париться? Сделай Так:
Функция Функция1(хранилище, путькфайлу) МойФайл = Новый ТекстовыйДокумент; МойФайл.ДобавитьСтроку("Хрясь!!!"); МойФайл.Записать(путькфайлу); КонецФункции |
|||
19
Cube
16.10.12
✎
12:41
|
+(18) И посмотри, где файлик-то создался...
|
|||
20
STAYEKR
16.10.12
✎
12:47
|
(19) Спасибо, путь к файлу получил. А что это даст в решении проблемы?
|
|||
21
zladenuw
16.10.12
✎
12:51
|
функция где живет.
|
|||
22
STAYEKR
16.10.12
✎
12:52
|
(21) Функция проживает в модуле записи регистра сведений
|
|||
23
Cube
16.10.12
✎
12:53
|
(20) Ну так файл создался или нет? Создался на сервере или там, где ты хотел?
|
|||
24
STAYEKR
16.10.12
✎
12:56
|
(23)Файл создался. В папке Temp на клиенте
Но мне надо прикладывать файлы, а не создавать их |
|||
25
zladenuw
16.10.12
✎
12:57
|
тогда чего голову морочишь. получил путь к временным файлам. и кричит, что не работает.
|
|||
26
zladenuw
16.10.12
✎
12:58
|
(24) откуда, куда. паяльник нести ?
|
|||
27
STAYEKR
16.10.12
✎
12:59
|
(25) Извините, Уважаемый, но я не совсем пониаю, какая связь между созданием нового пустого дока и приложением к записи регистра уже созданного нужного дока. Можете пояснить?
|
|||
28
Cube
16.10.12
✎
13:02
|
(24) Ну, значит, нет в этой папке "Temp на клиенте" нужного тебе файлика в тот момент, когда ты его прикреплять собираешься...
|
|||
29
zladenuw
16.10.12
✎
13:04
|
так если ты прикрепил файл. он уже у тебя в базе. а если тебе надо его открыть, изменить, а потом обратно спрятать. то зачем тебе путькфайлу. если ты можешь помешать во временные и работать по имени файла. как ты его сохранил
|
|||
30
STAYEKR
16.10.12
✎
13:41
|
(28) Спасибо. Файл есть, 100%. Непонятно только, почему он его берет именно из тепма.
|
|||
31
Aprobator
16.10.12
✎
13:44
|
(30) потому что у тебя явно с клиента сервер вызывается.
|
|||
32
Ursus maritimus
16.10.12
✎
13:45
|
(30) А у тебя путь-то в имени файла есть? И вообще. Имя файла в студию.
|
|||
33
Cube
16.10.12
✎
13:45
|
(30) На сколько я понял, что в переменной "путькфайлу", то и берется за путь... Отладчиком пройдись.
|
|||
34
Aprobator
16.10.12
✎
13:46
|
а тут 8.1, тогда мазнул.
|
|||
35
STAYEKR
16.10.12
✎
14:01
|
(33) Да, с путями неладно что-то. Заливает он его с клиента, а при попытке открыть лезет на сервер. Сейчас буду посмотреть. Спасибо!
|
|||
36
STAYEKR
16.10.12
✎
14:27
|
После прохождения вот это йстроки:
Данные = хранилище.Получить(); Переменная Данные должна принять тип "ДвоичныеДанные", а она становится строкой с текстом 'ДвоичныеДанные'. Кто-нибудь знает, в чем косяк? |
|||
37
Aprobator
16.10.12
✎
14:33
|
хз где у тебя код выполняется. Сдается мне, что на клиенте и что Данные - очень похоже на свойство формы (путь к данным). А поскольку тип у него строка, то туда и пишется представление полученных данных.
|
|||
38
STAYEKR
16.10.12
✎
15:15
|
Всем спасибо за помощь. Нашел ошибку!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |