Здравствуйте.
В основном работаю с файловыми базами 1С (по сети или на головном) или клиент-сервер, но СУБД развернута на этом же терминальном сервере. Файл обычно читаю НаКлиенте, а далее сериализуемые коллекции отправляю НаСервер.
Но интересно узнать, как быть, если надо передать сам файл. Практических таких потребностей пока не было.

Для себя еще раз хочется уяснить, В каком случае клиент и сервер это разные ПК
Т.е., если я имею ПутьКФайлу на локальной машине, когда он останется тем же при передаче сервер (при выполнении кода &НаСервере)

Итак, вариант 1 - файловая ИБ и режим доступа Тонкий или Толстый клиент и 1С установлена на каждый ПК в сети
Я так понимаю, в любом случае, НаКлиенте и НаСервере путь будет одинаковый, т.е. это одна и та же машина, так?

Вариант 2: База в сторонней СУБД по клиент-серверной технологии на терминальном сервере.
Тут также, я думаю, что путь одинаковый.

Во всех остальных случаях (веб-серверный доступ) - будут ПК разные, т.е. файл надо передавать через спец. механизмы типа временногохранилища?
Так?

Как будет в случае, если база развернута на сторонней СУБД, но доступ к ней с разных ПК в сети, тут тоже что клиент что сервер - достаточно передать путь к файлу?
---
Как будет в случае, если база развернута на сторонней СУБД, но доступ к ней с разных ПК в сети, тут тоже что клиент что сервер - достаточно передать путь к файлу?
возьмем к примеру SQL. Если админы адекватные, то пользователь сервера, от которого работает агент сервера, может вообще не иметь никакого доступа по сети дальше своего сервера.

Выбирая файл, со своего компьютера - пользователь видит его со своей колокольни...типа C:/нашфайл.xml
но для сервера, по этому пути, будет не диск пользователя, а диск сервера, где этого файла, разумеется нет.
Даже сетевые диски, могут иметь разные пути. Хотя в общем случае если файл находится в сети по пути а-ля \\SQL\1СCopy\Files\нашфайл.xml
то путь и на клиенте и на сервере будет одинаков, и все прокатит...правда в том случае, если агенту сервера тоже будет разрешен доступ в эту папку.

Поэтому, все надо делать на клиенте. А чего нельзя, то подготавливать и передавать с клиента на сервер для дальнейшей обработки, а не пытаться напрямую брать на сервере.
---
При клиент серверной архитектуре систему строить по прямому пути к файлу всегда зло, и неуниверсально.
Даже если сейчас оно работает, завтра переделывать чтоли.

Вообще публикаций по передаче файлов с клиента на сервер и обрабно - навалом. Можно через временное хранилище, можно просто двоичными данными передать.
Там и кодировать то особо не нужно. Зато потом не возвращатся к задаче повторно, когда вылезет
---
я не собираюсь передавать файл по пути.
Просто теоретически хочу понять границы применимости
---
Как будет в случае, если база развернута на сторонней СУБД, но доступ к ней с разных ПК в сети, тут тоже что клиент что сервер - достаточно передать путь к файлу?
возьмем к примеру SQL. Если админы адекватные, то пользователь сервера, от которого работает агент сервера, может вообще не иметь никакого доступа по сети дальше своего сервера.

Выбирая файл, со своего компьютера - пользователь видит его со своей колокольни...типа C:/нашфайл.xml
но для сервера, по этому пути, будет не диск пользователя, а диск сервера, где этого файла, разумеется нет.
Даже сетевые диски, могут иметь разные пути. Хотя в общем случае если файл находится в сети по пути а-ля \\SQL\1СCopy\Files\нашфайл.xml
то путь и на клиенте и на сервере будет одинаков, и все прокатит...правда в том случае, если агенту сервера тоже будет разрешен доступ в эту папку.

Поэтому, все надо делать на клиенте. А чего нельзя, то подготавливать и передавать с клиента на сервер для дальнейшей обработки, а не пытаться напрямую брать на сервере.
---
Ясно, спасибо, так и делаю.
---
СП > ПоместитьВоВременноеХранилище(<Данные>, <Адрес>)
---
я скептически отношусь к работе с файлами через пути.

ведь пока файл в памяти обрабатывается какая-нить, простите, мартышка, может изменить пути и при завершении процессинга могут быть проблемы идентификации путей.