|
работа с файлами на управляемом приложении | ☑ | ||
---|---|---|---|---|
0
Janna26
22.09.12
✎
12:52
|
Доброго всем дня, возникла проблема при создании новых файлов. Часть когда выполняется в модуле( Что бы закрыть паролем) соответственно все процедуры из модуля выполняются на сервере, мне в некоторых из них нужно создавать файлы. при вызове "ПолучитьИмяВременногоФайла" он создается на сервере, и моя процедура его не находит...
|
|||
1
Janna26
22.09.12
✎
12:52
|
Как выйти из этого положения?
|
|||
2
Wobland
22.09.12
✎
12:56
|
читай про ПоместитьФайлы, ПоместитьВоВременноеХранилище и о пощдобных. сходи в мои последние две(?) темы, я как раз не так давно боролся с файлами
|
|||
3
Wobland
22.09.12
✎
12:58
|
вот это вроде работает...
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) НЗ=РегистрыСведений.ФайлыЗаданий.СоздатьНаборЗаписей(); НЗ.Отбор.Задание.Установить(Объект.Ссылка); НЗ.Прочитать(); Если НЗ.Количество() Тогда Данные=НЗ[0].Файл.Получить(); РасширениеФайла=НЗ[0].Расширение; Иначе Данные=Неопределено; Расширение=""; КонецЕсли; Если Данные<>Неопределено Тогда АдресФайла=ПоместитьВоВременноеХранилище(Данные, УникальныйИдентификатор); КонецЕсли; КонецПроцедуры &НаСервере Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Если НЕ ЭтоАдресВременногоХранилища(АдресФайла) Тогда Возврат; КонецЕсли; НЗ=РегистрыСведений.ФайлыЗаданий.СоздатьНаборЗаписей(); НЗ.Отбор.Задание.Установить(Объект.Ссылка); Запись=НЗ.Добавить(); //к этому моменту ссылка не должна быть пустой Запись.Задание=Объект.Ссылка; Запись.Файл=Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(АдресФайла)); Запись.Расширение=РасширениеФайла; НЗ.Записать(); КонецПроцедуры &НаКлиенте Процедура Загрузить(Команда) Диалог=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.МножественныйВыбор=Ложь; Диалог.Фильтр="Документы Word|*.doc|Все файлы|*.*"; Если Диалог.Выбрать() Тогда АдресФайла=ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(Диалог.ПолноеИмяФайла), УникальныйИдентификатор); Ф=Новый Файл(Диалог.ПолноеИмяФайла); РасширениеФайла=Сред(Ф.Расширение, 2); Модифицированность=Истина; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура Показать(Команда) #Если ВебКлиент Тогда Предупреждение("Не доделано, не додумано"); #Иначе Если НЕ ЭтоАдресВременногоХранилища(АдресФайла) Тогда Возврат; КонецЕсли; ВременноеИмя=ПолучитьИмяВременногоФайла(РасширениеФайла); ПолучитьФайл(АдресФайла, ВременноеИмя, Ложь); ЗапуститьПриложение(ВременноеИмя); #КонецЕсли КонецПроцедуры |
|||
4
H A D G E H O G s
22.09.12
✎
13:05
|
(0) Ерундой занимаетесь.
|
|||
5
Janna26
22.09.12
✎
13:11
|
Ну почему же ерундой? Есть определенная проблема, которую нужно решить.
|
|||
6
Janna26
22.09.12
✎
13:11
|
(3) спасибо, буду пробовать.
|
|||
7
H A D G E H O G s
22.09.12
✎
13:16
|
(5) Ваше решение обходится за 15 минут.
|
|||
8
Janna26
22.09.12
✎
13:22
|
(7) Хотелось бы услышать как?
|
|||
9
H A D G E H O G s
22.09.12
✎
13:35
|
(8) В Гугл.
|
|||
10
Janna26
22.09.12
✎
13:40
|
(9) Спасибо за дельный совет...
|
|||
11
Janna26
22.09.12
✎
14:20
|
у кого нить еще есть предложения?
|
|||
12
simol
22.09.12
✎
14:26
|
(10)Имеет в виду, что пароль легко снять
|
|||
13
Wobland
22.09.12
✎
14:28
|
(12) это если исходный код есть
|
|||
14
GROOVY
22.09.12
✎
14:30
|
(13) Декомпилятор есть. Любой модуль без включенного исходного текста декомпилируется за пару секунд.
|
|||
15
Janna26
22.09.12
✎
14:33
|
(14) Ну что бы убрать исходный код все равно его нужно поместить в модуль!
|
|||
16
GROOVY
22.09.12
✎
14:56
|
(15) Я переведу вышеописанное, а то мне кажется Вы меня и коллег не поняли.
Вы хотите убрать функции в общий модуль или модуль объекта для того чтобы защитить исходный код от посторонних глаз. Поставить на него пароль. Так вот, пароль на модуль вскрывается элементарно, за пару минут. Есть более навороченная защита, перед созданием файлов поставки можно предварительно скомпилировать код модуля и не включать его (исходный текст) в поставку, тогда модуль работать будет, а текста в нем не будет. Эту защиту также легко обойти на сегодняшний день, единственным минусом декомпиляции будут отсутствующие комментарии. Резюме: подумайте стоит ли Вам тратить свое время на адаптацию решения для работы с файлами через процедуры модуля. |
|||
17
Janna26
22.09.12
✎
14:59
|
(16) Вопрос даже не в этом. У меня все равно эти процедуры выполняются на сервере. В любом случае. Значит даже если они будут в модуле форме, все равно требуется обращение на сервер. А значит и файлы там так же нужно читать.
|
|||
18
Новиков
22.09.12
✎
15:00
|
=) Павел, не портите девушке уикэнд!
|
|||
19
Wobland
22.09.12
✎
15:02
|
(17) видала, как я в ПриЗаписиНаСервере файл читаю и в РС его пишу?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |