Имя: Пароль:
1C
1С v8
ЗначениеВФайл() возвращает Ложь, файл не заполняется
0 Massi Vstrukture
 
05.06.25
08:02
Доброго дня. Имеем внешнюю обработку с кнопкой Тест.

&НаКлиенте
Процедура Тест(Команда)
   ТестНаСервере();    
КонецПроцедуры

&НаСервере
Процедура ТестНаСервере()
   Массив = Новый Массив;
   Массив.Добавить("Проверка");
   Путь = "C:\Users\User\Desktop\massiv.txt";
   Итог = ЗначениеВФайл(Путь,Массив);    
КонецПроцедуры

Обработка опубликована в базе, БезопасныйРежим=Ложь. Результат запуска обработки - файл massiv.txt пустой, Итог=Ложь. В чем может быть косяк?
1 Галахад
 
гуру
05.06.25
08:12
МойФайл = Новый Файл(Путь);
Если НЕ МойФайл.Существует() Тогда
Сообщить("тут файла нету");
КонецЕсли;
2 Мультук
 
гуру
05.06.25
08:18
(0)

Запустил твой код в файловой базе.
Через файл->Открыть
Он работает (см ниже).
Но ведь у тебя серверная база ?

{"#",51e7a0d2-530b-11d4-b98a-008048da3034,
{1,
{"S","Проверка"}
}
}
3 Massi Vstrukture
 
05.06.25
08:19
Да, клиент-серверный вариант.
4 Мультук
 
гуру
05.06.25
08:42
(3)

Добрый партизан. Тогда советую подумать,
а на сервере (именно на сервере(:
1) Есть ли там C:\Users\User\Desktop\ ?
2) А у пользователя под которым крутится серовис 1С есть доступ к этой папке (каталогу) ?
5 Massi Vstrukture
 
05.06.25
08:47
(1) Не пойму, как то, что вы написали прикручивается к моему коду.
6 СвинТуз
 
05.06.25
09:03
(0)
Передай файл на клиент и сохрани уже там.
Не сам файл. Адрес в хранилище.
7 Massi Vstrukture
 
05.06.25
09:03
(4) Все изыскания провожу в личной учетке на сервере, на котором крутится база. Указанный Путь это путь к файлу на моем рабочем столе. Обработку запускаю из тонкого клиента, локалхостом, в этой же учетке.
8 СвинТуз
 
05.06.25
09:06
(7)
Все это понятно. Делай как в (6)
9 Massi Vstrukture
 
05.06.25
09:13
(6) Вы видимо пишите о методе ПоместитьВоВременноеХранилище. Я пробовал его использовать, но у меня другой случай. Мне надо вытащить массив в файловую систему клиента, а не файл из базы.
10 mikecool
 
05.06.25
09:21
ИИ тупит...
11 СвинТуз
 
05.06.25
09:26
Интересно. Они реально пытаются нас использовать и решить задачу. Или просто глумятся?
12 Мультук
 
гуру
05.06.25
09:27
(7)

1) >>Указанный Путь это путь к файлу на моем рабочем столе

&НаСервере
Процедура ТестНаСервере()
конецПроцедуры

Когда ты пишешь &НаСервере это означает, что код  исполняется на сервере -- читай на другом компьютере,  который о твоём рабочем столе ничего не знает.

Или на  этом же компьютере, но в другой учётной записи, которая опять
"о твоём рабочем столе ничего не знает" и скорее всего прав не имеет

2) Мне надо вытащить массив в файловую систему клиента

google:
1с передать файл с сервера на клиент
13 Мультук
 
гуру
05.06.25
09:29
(11)

Молодой коллега учится (получает высшее).
Говорит -- сейчас все такие. Он чуть ли не единственный на потоке, кто пишет код сам и (о чудо), понимает что он делает :-)

Он в смысле код :-)
14 СвинТуз
 
05.06.25
09:36
(13)
я думал бот
15 СвинТуз
 
05.06.25
09:38
По текущему коду не совсем понятно зачем ходить на сервер
Но это так. Мысли вслух.
16 Галахад
 
гуру
05.06.25
09:43
(13) А другие как пишут? "переносчики чужих слов"?
17 Massi Vstrukture
 
05.06.25
09:47
(13) Сами придумали, сами посмеялись. Это я про ИИ.
18 Волшебник
 
05.06.25
09:49
ТестНаСервере - плохое имя процедуры
19 Massi Vstrukture
 
05.06.25
09:51
(15) Потому что ЗначениеВФайл на клиенте не доступен (см.СП).
20 Мультук
 
гуру
05.06.25
09:58
(16)

P.S.

Со слов: генерят код с использованием ИИ.
Далее добиваются, чтобы не было синтаксических ошибок.

Далее мучают препода, пока ему не надоест.
Всё более-менее стандартно
21 Chai Nic
 
05.06.25
10:06
Делай ЗначениеВСтрокуВнутр и передавай полученную строку с сервера на клиент, а потом сохраняй) Просто и сердито. Чтобы не заморачиваться с передачей через временное хранилище.
22 Галахад
 
гуру
05.06.25
10:09
(20) Ну подобное всегда было. Тырили чужие дипломы, рефераты и т.д.

(0) Тебе точно файл нужен? Есть метод:
ЗначениеВСтрокуВнутр
23 Massi Vstrukture
 
05.06.25
10:35
(12) Вот за это реальное спасибо. Как-то не догнал сразу, что мой рабочий стол не лучшее место в данном случае. Изменил Путь на диск d, файл начал заполнятся. Теперь задача передать файл на клиент, буду копать дальше, направление, в принципе понятно.
24 Волшебник
 
05.06.25
10:42
Для выгрузки массивов и структур в файл правильнее использовать формат JSON, см. объект ЗаписьJSON
25 Massi Vstrukture
 
05.06.25
10:57
(24) Копну эту тему, спс.