Передача файлов на сервере

1. Tailor_Made 08.12.20 00:13 Сейчас в теме
Здравствуйте. УПП, обычные формы
Есть обработка, где пользователь выбирает каталог с файлами PDF. После выбора каталога, нужно скопировать эти файлы в папку, которая лежит C:\Program Files\source на сервере(доступа к этой папке у пользователей нету). Дальше запустить скрипт, который лежит там же C:\Program Files\src\index.js и результат окажется в папке C:\Program Files\dist, с которой мне и нужно дальше работать. Как это делается? Не могу понять сам принцип
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
14. json 3368 08.12.20 11:59 Сейчас в теме +0.6 $m
(6) Обработка берет файл, преобразует в двоичные данные и передает в процедуру из общего модуля
Процедура получает двоичные данные и сохраняет на диск, работая с файловой системой сервера

Например, такая схема.
Tailor_Made; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. json 3368 08.12.20 02:49 Сейчас в теме
(1) Внешняя обработка на обычных формах видит всегда только файловую систему клиента. Файловую систему сервера из внешней обработки не увидеть. Можно например создать общий модуль с галкой Сервер и ВызовСервера и из него увидеть файловую систему сервера.
Tailor_Made; +1 Ответить
6. Tailor_Made 08.12.20 08:09 Сейчас в теме
(4)Если включу обработку в конфигурацию и создам этот общий модуль, то кау дальше делать? Я ни разу с этим не сталкивался, поэтому сам принцип не понимаю
14. json 3368 08.12.20 11:59 Сейчас в теме +0.6 $m
(6) Обработка берет файл, преобразует в двоичные данные и передает в процедуру из общего модуля
Процедура получает двоичные данные и сохраняет на диск, работая с файловой системой сервера

Например, такая схема.
Tailor_Made; +1 Ответить
2. andryandry 100 08.12.20 00:26 Сейчас в теме +0.2 $m
1. передать с клиента на сервер
2. Сохранить на сервере в нужную папку
3. запустить скрипт (должно быть разрешение на исполнение внешних компонентов)
4. дождаться выполнения (ожидать появления файла в папке)
5. profit
Tailor_Made; +1 Ответить
3. tusv 212 08.12.20 02:20 Сейчас в теме
(2)Тут скорее всего трудности с обычными формами. Где Клиент, а где сервер не понятно
На УФ нет проблем
&НаКлиенте
Процедура ВыполнитьСкрипт()
	Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(<Имя файла на клиенте исходный>));
	ВыполнитьСкриптНаСервере(Адрес);
КонецПроцедуры	
&НаСервере
Процедура ВыполнитьСкриптНаСервере(Адрес)	
	ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес);
	ДвоичныеДанные.Записать(<Имя конечного файла в Prorram Filrs>);
	ЗапуститьПриложение(<Имя файла скрипта>);
КонецПроцедуры
Показать

А на Обычном приложении действительно вопрос, как одну процедуру направить жестко на сервер. Кроме Общего модуля с галкой "Сервер" и не вижу решения
5. Dream_kz 129 08.12.20 07:01 Сейчас в теме
(3)
как одну процедуру направить жестко на сервер

http-сервис
7. Tailor_Made 08.12.20 10:02 Сейчас в теме
Сделал так, как вы сказали.
Запустил на сервере
ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес);
ДвоичныеДанные.Записать("C:\Program Files\source");
ЗапуститьПриложение("C:\Program Files\src\index.js");

Но "Ошибка доступа к файлу". Как её можно побороть?
8. user856012 14 08.12.20 10:41 Сейчас в теме
(7)
"Ошибка доступа к файлу". Как её можно побороть?
Дать права на папки C:\Program Files\source и C:\Program Files\src\ для пользователя, от имени которого запускается сервер 1С.

Или перенести обрабатываемые файлы и скрипт куда-нибудь в более доступное место, а то запись чего-либо в C:\Program Files\ часто вызывает аллергию и у антивируса, и у защитника Windows.
9. Tailor_Made 08.12.20 10:44 Сейчас в теме
(8)у пользователя права есть, от имени которого запущен сервер 1С
Пытаюсь как-то так:
КаталогПриемник = "C:\Program Files\source";
	ИмяФайла = "\120200090_1607321580.pdf";
	
	ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес);	
	тПуть = КаталогПриемник + ИмяФайла;
	Попытка
		ДвоичныеДанные.Записать(тПуть);	
	Исключение
		Сообщить("не удалось");
	КонецПопытки;
Показать


Пока попытка попадает в исключение
10. Tailor_Made 08.12.20 10:45 Сейчас в теме
(8)я не прямо в Program Files записываю, там ещё одна папка в ней
11. user856012 14 08.12.20 10:48 Сейчас в теме
(10)
я не прямо в Program Files записываю, там ещё одна папка в ней
Это уже не важно, вся Program Files под особым контролем.

Вам критически важно держать свои скрипты именно в ней? Попробуйте создать папку типа MyPDF, и желательно - не на диске С.

Пройдет запись в нее?
12. Tailor_Made 08.12.20 10:50 Сейчас в теме
(11)проблема в том, что я не могу перемещать/создавать там папки или скрипты. Мне нужно как-то воспользоваться этим скриптом, предварительно закинув свой ПДФ в эту папку и получить обработаный файл с соседней папки
13. user856012 14 08.12.20 10:57 Сейчас в теме +0.2 $m
(12)
Мне нужно как-то воспользоваться этим скриптом, предварительно закинув свой ПДФ в эту папку
Еще раз: проверьте права именно на папку "C:\Program Files\source" - они могут не совпадать с правами на "C:\Program Files\".

Антивирус на сервере есть? Если да - отключите и пробуйте записать.
Tailor_Made; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот