Вход | Регистрация
 
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");

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


Список тем форума
Рекламное место пустует  Рекламное место пустует
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.