Имя: Пароль:
1C
 
В фоновом задании нет файла, который передали на сервер
0 tmk315
 
06.05.21
08:33
Есть обработка грузит счета из cvs , пользуемся раз в месяц , перестала работать .
Смотрим в отладчике с клиента файл через хранилище передался на сервер , там запускается фоновое задание , но на нем уже файла и создать из хранилища не дает .
В чем может быть проблема ?
1 Волшебник
 
06.05.21
08:34
хранилище пожирает файлы
2 tmk315
 
06.05.21
08:36
(1) В хранилище есть , в фоне из него файл отказывается создавать , а на сервере создает .
3 Волшебник
 
06.05.21
08:37
(2) отказывается молча или с ругательствами?
4 tmk315
 
06.05.21
08:37
и там на сервере в чем может быть разница?
5 tmk315
 
06.05.21
08:38
ругается , ошибку выдает , типа нет или не возможно создать
6 Мимохожий Однако
 
06.05.21
08:41
(5) Текст ошибки в студию
7 Мимохожий Однако
 
06.05.21
08:41
встань отладчиком на строку с ошибкой и погляди, что там в реальности
8 hhhh
 
06.05.21
08:58
(4) в синтакс-помощнике почитайте, там вроде нельзя передать всем подряд.
9 tmk315
 
06.05.21
09:03
&НаСервере
Процедура ЗагрузитьДоговораНаСервере(АдресВХранилищеДоговор,РасширениеФайлаДоговора)
    ФайлВременногоХранилища=ПолучитьИзВременногоХранилища(АдресВХранилищеДоговор);
    ИмяФайла=ПолучитьИмяВременногоФайла(РасширениеФайлаДоговора);
    ФайлВременногоХранилища.Записать(ИмяФайла);
    УдалитьИзВременногоХранилища(АдресВХранилищеДоговор);

    // в данное хранилище можно в обработчике поместить результат выполнения операции
    // на форме должен быть реквизит "АдресВременногоХранилища" с типом "строка"
    АдресВременногоХранилищаФЗ = ПоместитьВоВременноеХранилище("",Новый УникальныйИдентификатор);
    
    ПараметрыФоновогоЗадания = Новый Массив;    
    ПараметрыФоновогоЗадания.Добавить(АдресВременногоХранилищаФЗ);          // параметр 1
    ПараметрыФоновогоЗадания.Добавить(ИмяФайла);                               // параметр 2    
    ПараметрыФоновогоЗадания.Добавить(ПолучитьСтруктуруРеквизитовФормы());    // параметр 3
    
    // запускаем фоновое задание и храним его ID
    // на форме должеь быть реквизит "ID_ФоновогоЗадания" с типом "УникальныйИдентификатор"
    
    Сообщить("Выполняется загрузка договоров ");
    
    
    ВыбФайл = Новый Файл(ИмяФайла);        
    Сущ=ВыбФайл.Существует();
    
    ID_ФоновогоЗадания = ФоновыеЗадания.Выполнить("РТ_ИнтеграцияСБиллингом.ЗагрузитьДоговораНаСервере",
    ПараметрыФоновогоЗадания, Новый УникальныйИдентификатор, "ЗагрузитьДоговораНаСервере").УникальныйИдентификатор;
    //


перед вызовом фонового задания файл есть
10 tmk315
 
06.05.21
09:04
Процедура ЗагрузитьДоговораНаСервере(АдресВременногоХранилищаФЗ, ИмяФайла, Форма) Экспорт
    ВыбФайл = Новый Файл(ИмяФайла);        
    Сущ=ВыбФайл.Существует();
    


а в фоновом его уже нет
11 tmk315
 
06.05.21
09:05
Общий модуль РТ_ИнтеграцияСБиллингом галочка сервер стоит лежит в расширении
12 Мимохожий Однако
 
06.05.21
09:09
Попробуй закомментировать УдалитьИзВременногоХранилища(АдресВХранилищеДоговор);
13 Мимохожий Однако
 
06.05.21
09:10
Объясни строчку  АдресВременногоХранилищаФЗ = ПоместитьВоВременноеХранилище("",Новый УникальныйИдентификатор);
14 Василий Алибабаевич
 
06.05.21
09:11
(5) "нет или не возможно создать" Это абсолютно(!!!) совершенно(!!!) разные ситуации.
"Нет" - это вот нет и пытаться нечего.
"Не возможно создать" - может быть: недостаточно мета(квоты) на диске, нет прав у пользователя, ошибка в пути...
15 Василий Алибабаевич
 
06.05.21
09:13
(13) Это он фоновому говорит в какое хранилище складывать файл. И ожидает что в фоновом оно будет доступно.
16 Мимохожий Однако
 
06.05.21
09:16
Текст ошибки в студию
17 tmk315
 
06.05.21
09:19
(16) ошибка  Сущ равна ложь на фоне и истина на до фона
18 Fish
 
06.05.21
09:23
(17) Это дословный текст ошибки?
19 tmk315
 
06.05.21
09:23
//УдалитьИзВременногоХранилища(АдресВХранилищеДоговор);  не помогло шаманство
20 Василий Алибабаевич
 
06.05.21
09:23
(17) А где получение значения из хранилища? Почему проверяется наличие файла, которого на сервере может и не быть?
21 Василий Алибабаевич
 
06.05.21
09:24
(18) Это аудит вот такого кода:

ВыбФайл = Новый Файл(ИмяФайла);        
Сущ=ВыбФайл.Существует();

ЦЫ (10)
22 tmk315
 
06.05.21
09:25
(20) это добавил для простоты диагностике
создали файл , пошли на фоновое , файла нет
23 tmk315
 
06.05.21
09:26
С правами че нибудь может быть ? или на другом сервере фоновое ?
24 tmk315
 
07.05.21
07:58
Всем спасибо .
Не нашли проблему . Передал двоичные данные в фоновое , там создал файл заново , работает .
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой