Quad.Wiki

Sync.X - Получение файлов из Web (по ссылкам)

Обычные файлы по ссылке

Перейдите во вкладку Автоматизация / Sync.X

Для добавления скачивания какого-то файла по ссылке зайдите в настройки существующего задания или, если такого нет, создайте новое. В одном задании можно скачивать несколько разных прайсов по разным ссылкам, т.е. не нужно под каждый прайс делать отдельное задание.

 

image-20241008-173654.png

 

Добавьте новую строку и заполните ее настройки, введите ссылку, по которой скачивается файл, а так же путь к файлу, в который будет сохранен файл.

image-20241008-173741.png

 

Расширения файла указывайте такое, как и в скачиваемом файле.

Если по ссылке не видно какое расширение файла, а это, например, просто скрипт PHP, то скачайте файл по ссылке и сохраните его на диск - посмотрите расширение в полученном файле.

 

Колонка Арх. - если прайс по ссылке находится в архиве, то укажите тип этого архива. Если в архиве несколько файлов или кроме файла есть еще какие-то подпапки, то можно указать просто путь к папке, в которую сохранятся все файлы из архива (обязательно укажите слеш на конце пути к папке)

Если в названиях файлов в архиве есть цифры, то они будут заменены на знаки подчеркивания.

 

Колонка XML->Excel - здесь должна быть пустая птичка, если по ссылке вы скачиваете не XML-файл, который нужно конвертировать в Excel.

URL - здесь должна быть ссылка на файл или скрипт, который генерирует файл.

Если в ссылке есть дата, то можно ее подставить при помощи кодов

[yyyy] - год 4 символа (например 2021)

[yy] - год 2 символа (например 21)

[mm] - месяц 2 символа (например 05)

[dd] - день 2 символа (например 01)

т.е. например, для ссылки test.ru/img/prices/Остатки_на_20210512_АТ.xlsx итоговая ссылка будет выглядеть как test.ru/img/prices/Остатки_на_[yyyy][mm][dd]_АТ.xlsx

Если в момент выполнения задания еще нет файла с сегодняшней датой, то будет ошибка в задании.

Файл по ссылке должен скачиваться без ввода паролей, иначе его нельзя скачать этим заданием. Проверить можно в браузере в режиме инкогнито, скачается ли по ссылке прайс. Если нужно вводить пароль - нужна настройка обработчика под этот сайт. Настройку делает наша техподдержка, цена 20$ если требуется просто ввод логина и пароля для скачивания.

 

Сохранить в файл - здесь указывается путь к файлу, в который будет сохранен скачиваемый прайс. Сохраняйте прайсы в папку Quad Solutions\files\2_ price\ чтобы они все были в одном месте. Называйте файл по названию поставщика, например merlion.xlsx, чтобы потом проще было его найти.

 

XML -> CSV / CSV -> XLSX - в этой колонке можно указать настройки конвертации файла сразу при скачивании. Если вы, например, скачиваете файл CSV, при этом он в таком формате, который не открывается сразу правильно в Excel, то его можно конвертировать такими настройками:

Настройки вводятся в окне редактирования, которое открывается при нажатии кнопки в правой части ячейки, если в нее установить курсор.

В первой строке нужно указать тег csvxlsx - это значит что файл будет конвертирован из CSV в Excel.

В этой же строке нужно указать теги utf8, если файл в кодировке utf-8 или ansi, если файл CSV в кодировке Windows и русские тексты в нем читаемые.

Если вы скачали файл CSV и видите в нем “кракозябры” вместо русских букв, то значит нужно указать в настройках параметр utf8

 

Во второй строке указывается разделитель значений в CSV файле, может быть запятая или точка с запятой.

Пример настроек:

csvxlsx utf8 ,

 

GoogleSheets / GoogleDrive

Для загрузки файлов из GoogleSheets и GoogleDrive используется загрузка как через обычную ссылку.

Вам нужно скопировать ссылку из браузера, когда просматриваете документ, например получилась такая ссылка

https://docs.google.com/spreadsheets/d/1pS5XpAzkxyoUzv7khJN_fkEL0/edit#gid=0

из нее нужно убрать все что идет после выделенного идентификатора, остается

https://docs.google.com/spreadsheets/d/1pS5XpAzkxyoUzv7khJN_fkEL0/

и к тому что получилось добавить export?format=xlsx , чтобы в итоге получилось так:

https://docs.google.com/spreadsheets/d/1pS5XpAzkxyoUzv7khJN_fkEL0/export?format=xlsx

эта ссылка вставляется в задание

Таким способом можно скачать только прайсы, к которым есть общий доступ (т.е. файл открывается в браузере в режиме инкогнито, без необходимости логина в аккаунт гугла) и разрешено его скачивание в меню

 

Начиная с версии Quad.X 1482 ссылку на файл GoogleDocs можно добавлять специальной кнопкой. В открывшемся окне нужно ввести ID из ссылки на документ, в примере ниже ИД выделен жирным

https://docs.google.com/spreadsheets/d/ 1pS5XpAzkxyoUzv7khJN_fkEL0/edit#gid=0 

 

Если вы скачиваете прайс с GoogleDrive и после продолжительного ожидания скачивания прайса по ссылке, формирование которой описано выше, в браузере вы видите ошибку, то попробуйте использовать такую ссылку:

еще вариант, который можно попробовать:

где вместо выделенного жирным подставить ваш ID.

Интервал устанавливается в миллисекундах. Можете поставить 2 или 3 секунды, для этого нужно ввести 2000 или 3000.

Yandex Disk

 

Пример ссылки https://disk.yandex.by/d/8MCgWMMjgPX3Mw

Для скачивания по этой ссылке нажмите кнопку

в окне ввода удалите первую строку и отредактируйте ссылку так, чтобы в ней нужная вам ссылка была после текста https://getfile.dokpub.com/yandex/get/

т.е. должно получиться так:

https://getfile.dokpub.com/yandex/get/https://disk.yandex.by/d/8MCgWMMjgPX3Mw

Если у вас ссылка не на прайс, а на какую-то папку, в которой несколько файлов, то название файла нужно указать после вашей ссылки. Если файлов несколько, то на каждый файл нужно делать отдельное задание. Пример того, что вы видите по ссылке:

Ссылка на прайс будет такой:

https://getfile.dokpub.com/yandex/get/https://disk.yandex.by/d/eRZh-4Ac4YhRdA/wc-product-export-30-06-2021.csv

 

Если по ссылке вы видите какие-то папки, а не просто файл, и вам нужен файл из этой папки, то нужно указать и папку:

https://getfile.dokpub.com/yandex/get/https://disk.yandex.by/d/eRZh-4Ac4YhRdA/Папка/wc-product-export-30-06-2021.csv

 

DropBox

Пример ссылки

https://www.dropbox.com/scl/fi/9vk60k53yx111hr9ovk2gt/price.xls?rlkey=g5jcg4mfo0ias3jp1jee114z1mz

Чтобы скачать такой прайс нужно к ссылке добавить &dl=1

https://www.dropbox.com/scl/fi/9vk60k53yx111hr9ovk2gt/price.xls?rlkey=g5jcg4mfo0ias3jp1jee114z1mz&dl=1

Если в ссылке уже есть &dl=0, то поменять 0 на 1.

 

GoogleSheets через CSV

Если по каким-то причинам вы не можете скачать файл из GoogleSheets в формате XLSX, то можно скачать прайс или один из его листов в формате CSV.

Вам нужно скопировать ссылку из браузера, когда просматриваете документ, например получилась такая ссылка

https://docs.google.com/spreadsheets/d/1pS5XpAzkxyoUzv7khJN_fkEL0/edit#gid=0

из нее нужно убрать все что идет после выделенного идентификатора, остается

https://docs.google.com/spreadsheets/d/1pS5XpAzkxyoUzv7khJN_fkEL0/

и к тому что получилось добавить export?format=csv , чтобы в итоге получилось так:

https://docs.google.com/spreadsheets/d/1pS5XpAzkxyoUzv7khJN_fkEL0/export?format=csv

Если в прайсе несколько листов, то скачать одной ссылкой вы можете только 1 лист. В этом случае в ссылку нужно добавить еще ИД листа

https://docs.google.com/spreadsheets/d/1pS5XpAzkxyoUzv7khJN_fkEL0/export?format=csv&gid=1615075392

ИД листа можно посмотреть в браузере в строке ссылки, выбрав соответствующий лист в самом прайсе

Скачиваемый CSV вы можете сразу сконвертировать в XLSX, как написано в этой инструкции для настройки “XML -> CSV / CSV -> XLSX

Пример настройки для прайса Русклимат:

Обратите внимание, что если вы конвертируете в XLSX, то и расширение сохраняемого файла нужно указывать как XLSX, а не CSV.

При перенастройке прайса, чтобы сохранились все связи, важно сохранить соответствие текста, загружаемого в п.5 настройки прайса, чтобы товары не задублировались. Подробнее здесь: Настройка прайса: сравнение при загрузке

Второй вариант - оставить старую настройку прайса, выключить тот прайс и добавить новый прайс для файла CSV. В этом случае нужно будет скопировать связи из старого прайса, а так же выбрать новый прайс во всех правилах наценки, где он был, и в правилах Автозаполнения/Экспорта, если он там использовался.

Копировать связи из одного прайса в другой