Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Программное создание каталога через http сервис

Программное создание каталога через http сервис
Я
   buketovav
 
22.01.21 - 15:30
Добрый день, Дорогие Форумчане!
Вопрос такой:
есть http сервис, он выполняет несложные действия по загрузке файлов в каталог, если каталога нет в системе, то создается новый.
Каталог сетевой.

Я сделал внешнюю обработку и сымитировал действия http сервиса именно под той учеткой, от которой выполняется этот сервис.
Все прошло успешно и каталог создался и в него записался наш файл.

Но когда это выполняется через реальный http сервис, то каталог не создается.

Я прошел отладчиком по коду при вызове его http сервисом и обнаружил такую странность.
На скриншоте по ссылке указано под цифрой "1" - в этом месте каталог создался и я могу посмотреть его полое имя и путь, а когда делаю один шаг и пытаюсь проверить наличие созданного каталога, то система мне говорит что нет такого каталога.
Вот и вопрос, как так получается и по какой причине?
Подскажите, пожалуйста.

https://prnt.sc/xg11hv
   acht
 
1 - 22.01.21 - 15:36
(0) Режим совместимости у конфигурации какой?
   buketovav
 
2 - 22.01.21 - 15:48
(1) Версия 8.3.6
   buketovav
 
3 - 22.01.21 - 15:49
(1) так а почему работает через обработку? код то выполняется один и тот же в итоге, только параметры передаются входные другим способом
   acht
 
4 - 22.01.21 - 15:54
(3) Пушо, это, когда через обработку, то файл создаешь ты, как пользователь ОС. А когда через сервер - пользователь ОС сервера. Это раз.

Посмотри в что параметрах не прилетает символов, которые не могут быть использованы в имени файла. До 8.3.11 СоздатьКаталог не выбрасывал исключения, но и каталог не создавал. Это два.
   acht
 
5 - 22.01.21 - 15:55
Ну и тут скорей всего кккккомбо - у сервера нет прав, и исключение не выбрасывается
   buketovav
 
6 - 22.01.21 - 15:58
вот и я думал про права, но как это проверить я не знаю, админского доступа у меня нет к серверу, где расположен сетевой каталог
   buketovav
 
7 - 22.01.21 - 16:01
(4) да я разные варианты пробовал, проблема то не в записи файла, а в том, что после создания каталога бац и его нет уже, как-будто и не было, а файл уже потом пишется
   mikecool
 
8 - 22.01.21 - 16:36
(6) используй каталог временных файлов
   buketovav
 
9 - 22.01.21 - 16:46
(8) для чего? как мне это поможет в создании каталога?
   Garykom
 
10 - 22.01.21 - 17:08
(0) сетевой каталог имеет задержку после команды на создание и моментом как можно обращаться к нему
паузу сделай ))
   Garykom
 
11 - 22.01.21 - 17:09
(9) создавай свой каталог в темпе, затем переноси в реальный корень
   buketovav
 
12 - 22.01.21 - 17:12
отличная идея! (11) попробую так
   buketovav
 
13 - 22.01.21 - 18:01
(11) эм... только как создать каталог в КаталогеВременныхФайлов?
   Garykom
 
14 - 22.01.21 - 18:29
(13) СоздатьКаталог(КаталогВременныхФайлов()+"\КаталогВаси")
   buketovav
 
15 - 22.01.21 - 20:54
да, это работает, но вот есть проблема теперь скопировать весь каталог из временного каталога в сетевой, средствами 1с как сделать что-то не могу найти
   buketovav
 
16 - 22.01.21 - 22:03
КомандаСистемы("xcopy /E /C /Y " + ВыбранныйКаталог + "\* " + "\\ИмяСервера\file_storage\" + УИДКонтрагента + "\"); - вот так сделал копирование каталога
   buketovav
 
17 - 22.01.21 - 22:51
но вот есть еще проблема ))) Ошибка инициализации модуля: HTTPСервис при размещении этой строки в общем модуле ) мда...
   buketovav
 
18 - 22.01.21 - 23:02
только тонкий и толстый клиент
   buketovav
 
19 - 22.01.21 - 23:03
доступность
   buketovav
 
20 - 22.01.21 - 23:35
сервис меня посылает теперь - Значение не является значением объектного типа (Записать)
   buketovav
 
21 - 22.01.21 - 23:52
прав нет чтоль?
   buketovav
 
22 - 22.01.21 - 23:54
то есть локально обработкой все работает,. а если тож самое через веб сервис, то не работает
   buketovav
 
23 - 22.01.21 - 23:54
даже при попытке записать во временный каталог
   buketovav
 
24 - 22.01.21 - 23:57
СоздатьКаталог(КаталогВременныхФайлов() + "\" + УИДКонтрагента);    
        КаталогНаДиске = Новый Файл(КаталогВременныхФайлов()+ "\" + УИДКонтрагента);
        Если КаталогНаДиске.Существует() Тогда
            ВыбранныйКаталог = КаталогНаДиске.ПолноеИмя;    
            ДвоичныеДанные   = ПолучитьИзВременногоХранилища(Адрес);
            ДвоичныеДанные.Записать(ВыбранныйКаталог + "\" + ИмяФайла + ".jpg");

вот здесь при попытке записать и падает


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.