Как сохранить Excel в запароленую папку на сетевом диске

1. SiniyTractor 08.08.18 08:37 Сейчас в теме
Люди добрые!
Подскажите, сделал выборку, сформировал таб.док и нужно сохранить в определенную папку на сетевом диске. Но она заблокирована (Логин, пароль - данные для входа есть)) Просто как это все сделать? Если просто использовать ТабДок.Записать([путь и имя], [тип файла]) - то ругается на метод "записать" и пишет что ошибка доступа к файлу. Ну это понятно, необходимо авторизоваться, а как это сделать?
Найденные решения
12. SiniyTractor 08.08.18 11:47 Сейчас в теме
Ура товарищи! Все получилось, вина всему невнимательность изучения параметров подключения к сетевым дискам.
Надеюсь кому поможет!

WshShell = Новый COMObject("WScript.Shell");
WshShell.Run("net use z: \\synology\Adidas_SFTP [пароль]/user:[домен].[логин]");
net use - команда, обязательна
z: - может быть любая буква от d до z - это создастся такой диск и к нему привяжется сетевая папка(можно поставить *, тогда случайная буква будет)
\\synology - это мой адрес сетевого к которому я подключаюсь - имя сетевого диска(меняйте на свой))
\Adidas_SFTP - это каталог в который я вхожу на сетевом диске указанном выше(меняйте на свой если нужно, если нет, то не прописывайте))
- потом обязательно пробел, без него будет неверный синтаксис
[пароль] - после пробела указываете пароль пользователя под которым будете подключаться
/user: - слеш стоит правильный, user - это постоянная команда, не меняется
[домен] - указываете домен через который подключаетесь (когда по адресу первый раз будете заходит на сетевой (если запаролен) то там потребуется ввести логин и пароль, а внизу будет указан домен(для тех кто не знает этого))
. - точка ставиться после домена если для входа к папке нужен логин и пароль
[логин] - логин пользователя под которым подключаетесь (если папка без логина и пароля, то собственно уберите их из строки
SIrina9; alex-l19041; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Timur.V 78 08.08.18 08:45 Сейчас в теме
Подключи сетевой диск командой
net use Z: \\server\folder /user:domain\admin password

потом записывай excel.

Т.е. вначале подключаем сетевой диск как локальный с буквой Z, а потом записываем.
После перезагрузки нужно будет снова подключать.

КомандаСистемы("net use Z: \\server\folder /user:domain\admin password")
3. SiniyTractor 08.08.18 08:58 Сейчас в теме
(2)
анда

Я так понимаю что то вроде этого?
WshShell = Новый COMObject("WScript.Shell");
WshShell.Run("net use Z: \\synology\Adidas_SFTP/_QDxB.456/user:[пароль]");
4. SiniyTractor 08.08.18 08:59 Сейчас в теме
(2)
Ошибся, там не пароль а "Логин"))
5. SiniyTractor 08.08.18 09:06 Сейчас в теме
WshShell = Новый COMObject("WScript.Shell");
WshShell.Run("net use Z:\\synology\Adidas_SFTP/_QDxB.456/user:[Логин]");
Попытка
ТабДок.Записать("\\synology\Adidas_SFTPАдидас.XLSX", ТипФайлаТабличногоДокумента.XLSX);
Исключение;
Сообщить(ОписаниеОшибки());
КонецПопытки;

Такой код, и все равно, ошибка доступа(((
6. Timur.V 78 08.08.18 09:13 Сейчас в теме
(5) После исполнения кода, посмотрите подключился ли диск Z ?
На компьютере пользователя или на сервере 1с он подключился? (где исполняется код на клиенте или сервере)
8. user705522_constantin_h 35 08.08.18 09:37 Сейчас в теме
(5)
WshShell = Новый COMObject("WScript.Shell");
WshShell.Run("net use Z:\\synology\Adidas_SFTP/_QDxB.456/user:[Логин]");

Между папкой и юзером пробел должен быть, хотя, может быть, это и не важно.
7. SiniyTractor 08.08.18 09:16 Сейчас в теме
На сервере, обработка будет выгружать по расписанию. Нет, диск Z не добавился
9. SiniyTractor 08.08.18 09:42 Сейчас в теме
Через командную строку Диск Z добавляется. И да, только с пробелом. Но с 1эсины пока что не подключает
10. user705522_constantin_h 35 08.08.18 09:43 Сейчас в теме
11. SiniyTractor 08.08.18 10:16 Сейчас в теме
Что получилось,
WshShell = Новый COMObject("WScript.Shell");
WshShell.Run("net use z: \\synology\Adidas_SFTP /user:sftp_3\[пароль]");

после отработки этого кода, появляется командная панель и требует ввести пароль (руками), но даже если его ввести то диск не подключается.
А если диск через Командную панель подключить заранее, то все сохраняет на отлично.
12. SiniyTractor 08.08.18 11:47 Сейчас в теме
Ура товарищи! Все получилось, вина всему невнимательность изучения параметров подключения к сетевым дискам.
Надеюсь кому поможет!

WshShell = Новый COMObject("WScript.Shell");
WshShell.Run("net use z: \\synology\Adidas_SFTP [пароль]/user:[домен].[логин]");
net use - команда, обязательна
z: - может быть любая буква от d до z - это создастся такой диск и к нему привяжется сетевая папка(можно поставить *, тогда случайная буква будет)
\\synology - это мой адрес сетевого к которому я подключаюсь - имя сетевого диска(меняйте на свой))
\Adidas_SFTP - это каталог в который я вхожу на сетевом диске указанном выше(меняйте на свой если нужно, если нет, то не прописывайте))
- потом обязательно пробел, без него будет неверный синтаксис
[пароль] - после пробела указываете пароль пользователя под которым будете подключаться
/user: - слеш стоит правильный, user - это постоянная команда, не меняется
[домен] - указываете домен через который подключаетесь (когда по адресу первый раз будете заходит на сетевой (если запаролен) то там потребуется ввести логин и пароль, а внизу будет указан домен(для тех кто не знает этого))
. - точка ставиться после домена если для входа к папке нужен логин и пароль
[логин] - логин пользователя под которым подключаетесь (если папка без логина и пароля, то собственно уберите их из строки
SIrina9; alex-l19041; +2 Ответить
13. ivanmeneger 28.01.22 21:19 Сейчас в теме
Я хочу Вам подсказать, на мой взгляд, самое лучшее решение. Сразу предупреждаю - я не программист 1С и с сетями не очень, но столкнулся с проблемой собрал всё в одно, скажем так и говорю Вам, ну тому кто тоже столкнулся с такой проблемой.
Исходные данные как у меня.
Изначально база была файловая - ах какое было время..... жил я счастливо и горя не знал. Генерировал прайс EXCEL - сохранял его командой
ТаблДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX); 
куда хотел - да хоть на сетевой диск хоть на локальный - потом открывал это этот же сохраненный ЭКСЕЛ через ОЛЕ и вставлял в него ссылки, и снова сохранял
Книга.Save();
.
Так прошли годы. Пользователей стало более 10 штук. И вот я перевожу всё это дела на клиент-серверный вариант 1С.
Всё это счастье престало работать !!!
Тут выше приводятся варианты решений - я Вам честно скажу - ну не нравится мне так решать проблемы, через такие "костыли". Я потратил день, и вот к чему пришел. Говорю как есть, так сказать, для понимания проблемы.
1) Важно четко понимать, что я установил СЕРВЕР на свой комп и что всё это добро работает под своей отдельной учеткой (USR1CV8 по умолчанию) - то есть как бы код выполняемый командой
&НаСервере
Функция ПрайсНаСервере(Ном,Цена) Экспорт 
будет реально выполняться именно от пользователя USR1CV8 - ну это такой скрытый пользователь как бы который занимается твоими 1Сными заданиями - втихаря можно сказать.
2) Соответственно - если ты хочешь куда то сохранить с сервера что то - то это что то точно так же должен уметь и иметь на это права сам пользователь USR1CV8 - то есть - если я сохраняю на сетевой диск - то у пользователя этот самый диск предварительно должен быть подключен и конечно права этому пользователю на запись должны быть.
Короче говоря, надоело всё объяснять. Пишу как вышел из ситуации я.
Я из под админа - разблокировал пользователя USR1CV8 для этого выполнить gpedit.msc и дальше удалить этого юзера из запрещающих разделов
Локальный компьютер»\Конфигурация компьютера\Конфигурация Windows\Параметры безопасности\локальные политики\Назначение прав пользователя\Отказать в доступе к этому компьютеру из сети (Это если ты по удаленке подрубаешься)
Локальный компьютер»\Конфигурация компьютера\Конфигурация Windows\Параметры безопасности\локальные политики\Назначение прав пользователя\Запретить локальный вход USR1CV8 (убрать если ты локально подрубаешься)
Я подключился удаленно - подрубил расшаренный диск сервера с файлами. И еще один момент - сделал папки desctop в System32 и SySWOW64 - эта инфа есть в интернете - думаю и так найдете, думаю они нужны и обязательно на них дать разрешение юзеру USR1CV8 !!
Ну вот и всё - у меня теперь всё работает как и хотелось. Надеюсь и у тебя всё получится !
Оставьте свое сообщение

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