Имя: Пароль:
1C
1С v8
Обработка не работает на сервере.
0 vv2304
 
03.08.23
10:55
Написал обработку. Писал в файловой базе, там же проверил, все нормально.
В клиент-серверной не работает. Сама обработка будет использоваться в обоих вариантах.
Спотыкается на ОбъединитьФайлы. Сами файлы находятся по след. путям.
C:\Users\USR1CV8\AppData\Local\Temp
C:\Users\Администратор\AppData\Local\Temp\
Пишет ошибку, что не найден файл по второму пути.
Ну не давать же права USR1CV8 на все пользовательские папки. А мне нужно при записи файла указать куда его временно сохранить.
1 Fram
 
03.08.23
11:00
(0) а что, обязательно в темп администратора сохранять?
2 shuhard
 
03.08.23
11:01
(0) пятнично
3 cuberboy
 
03.08.23
11:02
(0) в есть функция получения каталога временных файлов
4 vv2304
 
03.08.23
11:03
(3) КаталогВременныхФайлов() как раз и дает каталог текущего пользователя.
5 vv2304
 
03.08.23
11:05
(1) Не обязательно.
Да, можно проверить в какой базе работает Найти(СтрокаСоединенияИнформационнойБазы(), "File=") и если это сервер, то запихнуть в темп USR1CV8
Но какое-то не красивое решение.
6 Fram
 
03.08.23
11:07
Перевожу.. Кажется тс пытается прочитать на сервере файл, сохранённый на клиенте. Так?
7 mTema32
 
03.08.23
11:11
(0) Файлы на клиенте не равно файлы на сервере. Если сервер под линуксом будет, то никаких дисков C: и т.п не будет.
Работать с файлами нужно на сервере после того как загрузишь их с клиента. И потом обратно отдавать при необходимости.
8 vv2304
 
03.08.23
11:12
(6) Если я вместо
C:\Users\Администратор\AppData\Local\Temp\
сохраню файл на
C:\МояПапка\
то на сервере все прекрасно читается.
Если же в темповую, тогда проблемы.
9 Fram
 
03.08.23
11:15
(8) такой путь прекрасно может читаться только если клиент и сервер на одной машине запущены. А если на разных? Или вообще (7) ?
10 vv2304
 
03.08.23
11:16
Прав просто у USR1CV8 нет на этот темп. Из-за этого.
11 Ногаминебить
 
03.08.23
11:18
Переписать к чертовой матери на забирание файла с клиента и передачу на сервер в виде двоичных данных. :)
12 Timon1405
 
03.08.23
11:18
снимайте логи, смотрите у кого на что нет доступа
https://learn.microsoft.com/en-us/troubleshoot/windows-client/shell-experience/troubleshoot-apps-start-failure-use-process-monitor
13 Fram
 
03.08.23
11:22
Предлагаю сделать USR1CV8 админом, и отпустить ТС с миром.. Раз уж (7) и (9) ему непонятны
14 Гипервизор
 
03.08.23
11:24
(0) Ответьте внятно на (6). Ваша обработка производит какие-то манипуляции с файловой системой ОС?
15 vv2304
 
03.08.23
11:26
(12) Я искал красивое решение.
"Да, можно проверить в какой базе работает Найти(СтрокаСоединенияИнформационнойБазы(), "File=") и если это сервер, то запихнуть в темп USR1CV8
Но какое-то не красивое решение."
Это не нравится. Но оно работает. Дал права USR1CV8 на темп пользователя и все нормально. Но это не выход.
(13) Мне все понятно. Но это тогда проще решается. Проверяется, файл или клиент-сервер. Если файл, то как сейчас, если сервер, тогда закидываем в темп пользователю USR1CV8.
16 Fram
 
03.08.23
11:29
(15) а у меня например нет пользователя USR1CV8, но 1с сервер есть
17 RomanYS
 
03.08.23
11:29
(15) Решение универсальное ничего проверять не нужно. Файл забирается (не копируется а (11)) на клиенте, сохраняется на сервер (во временные) и обрабатывается. Такое решение будет работать везде
18 vv2304
 
03.08.23
11:34
(17) Да, наверное так и сделаю. В свете того, что может и не быть пользователя USR1CV8.
19 Гипервизор
 
03.08.23
11:36
(17) Угу, в языке 1С уже с десяток методов для обработки файлов придумано, но оказывается всё можно было сделать проще: просто проверять "файл или клиент-сервер"! )
20 mTema32
 
03.08.23
11:37
(18) Начните вот с этого: НачатьПомещениеФайла(<ОписаниеОповещенияОЗавершении>, <Адрес>, <ПомещаемыйФайл>, <Интерактивно>, <УникальныйИдентификаторФормы>, <ОписаниеОповещенияПередНачаломПомещенияФайла>)
21 vv2304
 
03.08.23
11:41
(20) Да он у меня уже есть во врем. хранилище.
22 RomanYS
 
03.08.23
11:42
(18) по твоему ответу складывается впечатление, что ты так ничего и не понял.
"не быть пользователя" - это мелочи. В общем случае rphost (сервер 1с) и файл находятся на разных компьютерах и smb-доступа между ними нет даже при наличии одинаковых пользователей.
23 vv2304
 
03.08.23
11:43
Уже сделал.
Это я приделал (через расширение) отправку на ватсап через ОтправкаСообщенияБП
24 vv2304
 
03.08.23
11:46
(22) Смотри, в ОтправкаСообщенияБП прикрепляемые файлы помещаются во врем. хранилище. Я сглупил, извлекал их и передавал путь к файлу.
В файловой базе работало.
Сейчас переделал, передаю на сервер адресВремХранилища и уже там извлекаю
ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);  
    ДвоичныеДанные.Записать(ИмяПромежуточногоФайла);
потом объединяю с другими файлами.
25 vv2304
 
03.08.23
11:49
Сейчас еще раз прогнал на файловой базе. Все отлично работает, хоть из бух.отчета на ватсап, хоть из любого документа любую печ. форму и вообще что угодно прикреплять и отправлять на ватсап. На серверной, выше писал, тоже работает.

Всем спасибо.
26 cuberboy
 
03.08.23
12:26
(4) на сервере рабоатет под юзером службы- что не так??
Эта папка 1С и оа там рабоатет - не веришь открой
Ошибка? Это не ошибка, это системная функция.