Александр Паржецкий написал: Подскажите как средствами rest api можно загрузить excel файл в пользовательское поле типа "файл" из внешней системы?
Насколько я знаю, файлы можно загрузить не везде. Для загрузки файла нужно передавать его в base64 кодированном виде. Я бы посоветовал сделать свойство типа "Файл на диске" и уже прикладывать туда (знаю что загрузка файла на диск есть 100%)
На счет кодировки знаю, так и делаю, перед передачей кодирую файл в base64, думал просто это значение можно передать как то в пользовательское поле типа "Файл". Про работу с диском читал, но думал рассматривать такой вариант, только если нет возможности в пользовательское поле на прямую грузить. Спасибо за ответ, буду тогда с диском работать. Выручаете как всегда.
Александр Паржецкий написал: Подскажите как средствами rest api можно загрузить excel файл в пользовательское поле типа "файл" из внешней системы?
Насколько я знаю, файлы можно загрузить не везде. Для загрузки файла нужно передавать его в base64 кодированном виде. Я бы посоветовал сделать свойство типа "Файл на диске" и уже прикладывать туда (знаю что загрузка файла на диск есть 100%)
А не подскажете как создать свойство типа "Файл на диске"? У меня сейчас при создании доступен только тип "Файл". Спасибо.
По ходу дела разработки возник еще один вопрос. Как через rest api можно в универсальный список привязать файл с диска битрикс? То есть, я загрузил через rest api файл на диск битрикс, в ответ получил структуру файл где получил его id (id файла). После чего так же через rest api создаю элемент универсального списка и в свойство типа файл (диск) передаю идентификатор загруженного файла. Перехожу в битрикс, элемент списка есть, все поля заполнены кроме поля файл на диске, то есть такое ощущение что через rest api нельзя подвязать файл с диска к полу универсального списка. Возможно кто то сталкивался с такой задачей, Вообще задача стоит что бы через rest api подвязать (загрузить) файл к сделке из 1С средствами rest api. Андрей на вас опять вся надежда, направьте в нужное русло ))) Спасибо заранее.
Александр Паржецкий написал: По ходу дела разработки возник еще один вопрос. Как через rest api можно в универсальный список привязать файл с диска битрикс? То есть, я загрузил через rest api файл на диск битрикс, в ответ получил структуру файл где получил его id (id файла). После чего так же через rest api создаю элемент универсального списка и в свойство типа файл (диск) передаю идентификатор загруженного файла. Перехожу в битрикс, элемент списка есть, все поля заполнены кроме поля файл на диске, то есть такое ощущение что через rest api нельзя подвязать файл с диска к полу универсального списка. Возможно кто то сталкивался с такой задачей, Вообще задача стоит что бы через rest api подвязать (загрузить) файл к сделке из 1С средствами rest api. Андрей на вас опять вся надежда, направьте в нужное русло ))) Спасибо заранее.
Ссылка на файл на диске проставляется вот таким образом PHP
Здравствуйте. А не подскажете, как должна выглядеть строка rest для добавления файла на диск? Перепробовал, что только можно. В итоге моя строка выглядит как-то так: /rest/16/1lzjzo376cb5pnp8/disk.folder.uploadfile?id=460&NAME=yyy&fileContent[0]=1.gif&fileContent[1]=0uXx8ujw7uLg7ejl Но постоянно получаю ошибку: Error: required parameter NAME (DISK_BASE_SERVICE_22001).
Пробовал и массив data[0]=yyy передавать, вроде как в нем должно храниться имя. Но ошибка та же.
Никакой информации по ошибке, к сожалению, найти не смог. Подскажите, пожалуйста, куда копать
Здравствуйте! К сожалению нет рабочей базы под рукой с данной выгрузкой, пишу что получилось смоделировать: /rest/1ss8xesd0qu0v7tw/disk.folder.uploadfile?&id=166&data[NAME]=Счет на оплату № КИ00-002967 от 27.06.2018.pdf&fileContent[0]=%D0%A1%D1%87%D0%B5%D1%8 (документ в двоичных данных)
Огромное спасибо за ответ, уже что-то новое. Правда в ответе приходит Could not save file и пока непонятно, с чем это может быть связано, доступы есть.
Александр Паржецкий написал: Могу только предположить, либо у вебхука не хватает прав на работу с диском, либо не верно указан идентификатор диска
Разобрался, нужно обязательно вторым элементом массива fileContent передавать имя файла, почему-то встроенная функция сохранения файла не хочет генерировать имя сама. То есть если дописать в команде fileContent[1]=file name.txt, то все отрабатывает. Спасибо за помощь!
У меня оказалась абсолютно такая же ситуация с прикреплением файла к сделке. Не подскажете, как вы вышли из этой ситуации? Если сделать универсальный список с типом "Файл (диск)", то получается очень неудобно - нужно каждый раз сначала в список добавлять, а потом в сделке выбирать. Хотелось бы напрямую в сделку загружать.
upd. Каково же было мое удивление, что все оказалось максимально просто, но нигде абсолютно про это не сказано. Достаточно написать вот такую команду: id=<ИдентификаторСделки>&fields[<ИмяПользовательскогоПоля>][<НомерФайлаСНуля>][fileData][0]=<ИмяФайла>&fields[<ИмяПользовательскогоПоля>][<НомерФайлаСНуля>][fileData][1]=<СтрокаBase64>