|   |   | 
| 
 | Конвертация jpg -> pdf | ☑ | ||
|---|---|---|---|---|
| 0
    
        Oldman06 31.07.20✎ 17:58 | 
        Есть код который конвертирует массив jpg в pdf в серверном вызове (CentOS):
 Функция МассивJPG_в_PDF(МассивФайлов, Адрес = Неопределено) Экспорт РазделительПути = "/"; КаталогВыгрузки = КаталогВременныхФайлов() + "StatementOutput"; КаталогНаДиске = Новый Файл(КаталогВыгрузки); Если КаталогНаДиске.Существует() Тогда Попытка УдалитьФайлы(КаталогВыгрузки, "*.*"); Исключение КонецПопытки; Иначе СоздатьКаталог(КаталогВыгрузки); КонецЕсли; СтрокаКоманды = "convert"; Для х = 0 По МассивФайлов.Количество() - 1 Цикл НомерФайла = х + 1; ИмяФайла = КаталогВыгрузки + РазделительПути + "input" + Строка(НомерФайла) + ".jpg"; ДД = ПолучитьИзВременногоХранилища(МассивФайлов[х]); ДД.Записать(ИмяФайла); СтрокаКоманды = СтрокаКоманды + " input" + Строка(НомерФайла) + ".jpg"; КонецЦикла; СтрокаКоманды = СтрокаКоманды + " " + "result.pdf"; ЗапуститьПриложение(СтрокаКоманды, КаталогВыгрузки, Истина); ДД = Новый ДвоичныеДанные(КаталогВыгрузки + РазделительПути + "result.pdf"); АдресРезультата = ПоместитьВоВременноеХранилище(ДД, Адрес); УдалитьФайлы(КаталогВыгрузки); Возврат АдресРезультата; КонецФункции До сегодняшнего дня работал без проблем. Ничего не менял, на сервере тоже. Сейчас вылетает на строке ДД = Новый ДвоичныеДанные(КаталогВыгрузки + РазделительПути + "result.pdf"); так как не может найти файл. И он действительно не формируется. В логах ничего, запуск команды конвертации в консоли на сервере под пользователем 1С отрабатывает нормально. Куда можно копнуть? | |||
| 1
    
        ДенисЧ 31.07.20✎ 18:07 | 
        Самая интересная сказка от сисадминов и 1сников - "ничего не менялось".
 Сисадмины сегодня праздник отмечали? Права поменяли? | |||
| 2
    
        Oldman06 31.07.20✎ 18:20 | 
        Сисадмин, по совместительству, я. И я точно ничего не менял. И дело не в правах: в консоли под пользователем 1с все работает. Пользователи ещё сказали, что эта ошибка и раньше переодически возникала, но потом рассасывалась. Я так подозреваю, она исчезнет после перезапуска службы сервера 1с. Она у меня каждую ночь перезапускается. Сейчас проверить не могу: много пользователей активно работают.     | |||
| 3
    
        ДенисЧ 31.07.20✎ 18:40 | 
        Ну так запиши в ЖР КаталогВыгрузки + РазделительПути + "result.pdf"
 И в попытку. А лучше по отдельности... | |||
| 4
    
        Garykom гуру 31.07.20✎ 18:49 | 
        бага тут СтрокаКоманды = "convert";
 пропиши полные пути | |||
| 5
    
        Oldman06 31.07.20✎ 19:50 | 
        (3) Уже делал. Всё правильно. Прикол в том, что этот код то работает, то нет.     | |||
| 6
    
        Oldman06 31.07.20✎ 19:51 | 
        (4) Пробовал. С полными путями та же шняга.     | |||
| 7
    
        Timon1405 31.07.20✎ 19:52 | 
        серверов 1С больше одного?     | |||
| 8
    
        Oldman06 31.07.20✎ 20:45 | 
        (7) Нет, один.     | |||
| 9
    
        Garykom гуру 31.07.20✎ 21:18 | 
        (6) КодВозврата какой? У ЗапуститьПриложение 4 параметра
 ЗапуститьПриложение(<СтрокаКоманды>, <ТекущийКаталог>, <ДождатьсяЗавершения>, <КодВозврата>) | |||
| 10
    
        Oldman06 31.07.20✎ 22:23 | 
        (9) А вот это я как-то упустил ... Забыл, что там четвертый параметр есть. Завтра буду на работе, посмотрю.     | |||
| 11
    
        acht 01.08.20✎ 10:28 | 
        Не будет работать, если исходных файлов больше 1000     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |