No Image

Синхронизация 1с через яндекс диск

СОДЕРЖАНИЕ
0
1 686 просмотров
20 августа 2019

1С умеет удивлять. Например, чтобы работать с Яндекс.Диском, не требуется никакого шаманства, все из коробки:

Данный код копирует файл из облака Яндекса на локальный диск, удаляет из облака и заливает обратно. Вместо login и pass подставляем логин и пароль Яндекса.

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

Комментарии из старого блога

04/17/13 Руслан: Приветствую, ну а что удивительного. Я так понимаю яндекс диск резервирует служебную папку. КопироватьФайл – просто копирует в эту папку файл, а яндекс приблуда висячая в трее, сама синхранизирует данные.

Пробовали сделать данный не шаманский код, без установленного яндекс диск по?

04/18/13 Иван Гришаев: Код работает без установленного Я.Диска. В 1С где-то зашита поддержка протокола Вебдав, по которому работает Я.Диск. ФТП тоже поддерживается. В том и прикол, что для работы с файлами из облака устанавливать клиент не нужно.

04/18/13 Руслан: Ну тогда действительно прикольная штука. Надо по экспериментировать 😉

08/03/13 Илья: А уверены, что именно 1С поддерживает webDAV а не ОС? Попробуйте под ХР запустить этот код

08/03/13 Иван Гришаев: Уверен, так написано в доках. А что, под Икс-пи не работает?

12/23/13 Александр Маляев: Огромное спасибо за наводку! А то никак не мог придумать, куда бы свои 500Гб на Яндексе приспособить. А тут mail.ru еще облако замутило и терабайт в подарок всем дало, и WebDAV скоро обещают – вообще тема будет!

01/16/14 Иван Гришаев: У мейл.ру подвох в том, что все залитые данные становятся их собственностью, они могут делать с ними все, что хотят. Например, слить бекапы ваших баз конкурентам. Разве что на архив выставлять пароль.

01/16/14 Александр Маляев: Вы сами понимаете что они это делать не будут. Всего один прецедент, и его так раструбят по всем соцсетям и новостным лентам, что потом не отмоешься. А при миллиардных оборотах так глупо рисковать своей репутацией ради каких-то копеечных архивов? Техподдержка MAIL.RU уже отвечала на этот вопрос, дав понять что этот пункт просто формальность. Конечно все мы понимаем что если спецслужбам понадобятся материалы то любой их предоставит, и MAIL.RU не исключение, но многим ли есть повод скрывать что-то от высокопоставленных органов? Мелкие нарушения в налоговом законодательстве никого не волнуют ни капли. За много лет моей работы сотни архивов баз и паролей ко всему прошли через почту, файлообменники, СМС – и ничего. А уж почта не менее доступна кому надо чем облака.

01/16/14 Иван Гришаев: Снимите розовые очки. Номера телефонов продают спамерам все. Мейл ру могут слить ваши данные, потому что вы не сможете явно доказать, что слили именно они. Вручную они не буду рыться в ваших данных, скорее, это делает программа, которая ищет во всей этой помойке что-то интересное. Базы от 1С интересны, их можно тайком продавать.

01/16/14 Александр Маляев: Да, кстати в 1С 7.7 такой поддержки WebDAV нет.

02/27/14 Виталий: А есть ли возможность из 1С8 получить публичную ссылку на скопированный файл.

02/27/14 Иван Гришаев: Нет, только средствами Я.Диска.

03/16/15 Андрей: А куда этот код надо прописать? и как без ПО яндекс.Диска настраивать путь к базе из самой 1с?

03/16/15 Иван Гришаев: Этот код вы помещаете в любое место, например, в тело формы, модуля. Вторую часть вопроса не понял.

03/16/15 Андрей: Подскажите можно настроить доступ к яндекс.диску путем https://login:pass@webdav.yandex.ru/path/to/file.txt т.е при выборе пути к БД что указывать? эту строку? как работает такой доступ?

03/16/15 Иван Гришаев: Андрей, мне кажется, вы не так поняли. БД тут ни при чем. Предположим, что в Я-диске у вас есть папка documents, а в ней файл price.xls. И предположим, что ваш Я-логин andrey , a пароль Super123 Тогда вы можете выкачать файл из Я-диска прямо из кода 1с таким образом

или наоборот, загрузить файл с локального диска в Я-диск

Проблема только в том, что в последних билдах 1С стал глючить SSL

03/16/15 Андрей: А как подключить яндекс диске(с базой 1С) она будет работать? в настройках указать путь к БД 1с какой ? с дисками локальными все понятно а как быть с Яндекс дискам? можно подключить диск командой https://login:pass@webdav.yandex.ru? или нет? просто хочу организовать доступ не локальный(БД не на компе), а скажем через яндекс диск. Это возможно ?

03/16/15 Иван Гришаев: Андрей, вы можете синхронизировать файл базы через Я-диск только когда не работаете с ней. Когда вы начинаете работу, файл открывается процессом 1С и сторонние процессы не смогут его прочитать. Кроме того, если много клиентов постоянно перезаписывают один и тот же файл, могут возникнуть конфликты, и чья-то сторона вынуждена будет принять не свои данные. Если вам нужна единая база данных, воспользуйтесь хостингами вроде virtual1c.net

03/16/15 Александр Маляев: Андрей, теоретически это возможно, так как удаленную Webdav-папку можно смонтировать как локальный диск и работать с ней как с обычным диском. Но фактически вы работать не сможете, т.к. скорость будет примерно такая как если бы вы умудрились запустить 1С на каком-нибудь древнем 286-ом.

Если хотите удаленную а не локальную 1С – то смотрите в сторону “облаков”, в случае этого решения и данные и их обработка происходят на одном удаленном сервере, клиенту “гонится” либо картинка (в случае удаленного рабочего стола), либо небольшие куски данных, отобранные и обработанные сервером (в случае тонкого клиента).

04/29/15 Алексей: Подскажите пожалуйста, доводилось ли Вам получать с ЯндексДиск штатными средствами 1С 8.3 список файлов в произвольной папке? Без подключения внешних XML библиотек ? Все пишут, что надо сделать запрос (даже без тела), указав только атрибуты (заголовки объекта HTTPЗапрос):

Но, "PROPFIND / HTTP/1.1 " – это ведь не атрибут, это команда. И как тогда её выполнить штатными средствами 1С?

04/29/15 Иван Гришаев: Здравствуйте, не приходилось. Нужно смотреть документацию, позволяет ли 1С отправить хттп-запрос методом PROPFIND. Если нет, то увы.

Проверьте, можно ли передать урл Яндекс-диска в функцию НайтиФайлы() Если тоже нет, установите cURL из запускайте его из 1С как процесс. Текст ответа распарсите силами 1с

11/20/15 Сергей Лиманчук: Иван, всё прекрасно работало где-то полгода, но с середины вчерашнего дня не копирует никакие файлы, 1С возвращает ошибку “Удаленный узел не прошел проверку”. Любопытно, что мобильное приложение 1С для iOS продолжает работать, ошибка вылезает только на ПК.

В этой публикации я хочу представить читателям маленький совет.

Возможно он пригодится программистам, которым доводится работать со знакомыми бухгалтерами-аутсорсерами, ИП, и другими клиентами, которые ищут максимально простых и дешевых решений. Сам я не раз сталкивался с людьми, которые даже за аренду FTP платить не хотят.

Для того, чтобы настроить РИБ или какой-либо другой регулярный обмен данными без FTP, мне пришло в голову такое решение:

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

2) установить этот клиент на все компьютеры, которые будут участвовать в обмене с использованием одного общего аккаунта

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

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

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

Большое спасибо пользователю sergelemon, поделившемуся ссылкой на описание возможностей 1С 8 в работе с яндекс диском напрямую. Вот она:

В этой инструкции я расскажу как можно очень просто настроить архивацию наших баз 1с (а также документов) в облако Яндекс-диска.

При этом мы не будем рассматривать вариант установки приложения "Диск для Windows". Этот вариант плох тем, что если мы всё-таки "словим" вирус-шифровальщик и он зашифрует данные нашего компьютера – эти зашифрованные файлы автоматически "улетят" в облако Яндекс-диска.

Итак, какие плюсы есть у Яндекс-диска для архивации наших баз 1С:

  • высокая скорость доступа – в целом по России это действительно так, Яндекс обеспечивает хороший канал для доступа к своим серверам;
  • бесплатные 10 гигабайт на старте – если у вас несколько баз, этого вполне хватит, с учётом того, что мы настроим циклическое удаление старых архивов;
  • самый дешёвый тариф при платном расширении диска – так расширить диск до 100 гигабайт будет стоить 80 рублей в месяц, до 1 терабайта – 200 рублей в месяц плюс 17% экономии при оплате за год.

Итак, поехали

Регистрация в яндексе

Для доступа к Яндекс-диску вам потребуется учётная запись на Яндексе (логин и пароль). Если у вас её ещё нет (или хотите завести отдельную для диска) вам сюда.

Установка программы обновлятор

Мы будем использовать программу Обновлятор для архивации наших баз и документов с последующей (однократной) заливкой на Яндекс-диск и очисткой старых архивов в облаке.

Скачать программу можно или по ссылке выше или напрямую.

Подключаем Яндекс-диск в обновлятор

Для этого сразу после запуска программы переходим на закладку Настройки программы и нажимаем кнопку Облака:

Изначально список облаков у нас пустой – нажимаем кнопку Добавить (плюсик):

Открылось окно настройки облака, для моей учётной записи я настроил его вот так:

Нажимаем Ок и видим, что в список облаков добавился наш диск:

Чтобы убедиться, что мы всё сделали правильно – нажимаем кнопку "Протестировать облако":

Тестирование облака прошло успешно.

Нажимаем кнопку Сохранить и закрыть:

Выбираем Яндекс-диск в настройках архивации

Всё на той же закладке "Настройки программы" нажимаем кнопку "Дополнительные настройки":

Далее переходим на закладку "Архивация баз":

Указываем количество архивов, которое нужно хранить в локальной папке на этом компьютере (или сети):

А затем нажимаем на ссылку ". и ещё 0 облаков":

Здесь мы выбираем наше облако и если нужно меняем количество и периодичность хранимых в облаке архивов:

На этом с настройкой всё.

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

Пробуем сделать архив с заливкой в яндекс-диск

Выделяем какую-нибудь базу (это могут быть не только базы, но и документы и другие произвольные файлы), добавленныю в список обновлятора и нажимаем кнопку "Архивировать":

База успешно заархивировалась:

И если мы тут же зайдём в кнопку "Облака", то увидим что созданный архив встал в очередь на заливку в Яндекс-диск:

Спустя какое-то время этот файл из очереди уйдёт (при этом обновлятор мы можем сразу закрыть, заливка идёт в фоне) и мы обнаружим его в нашем облачном Яндекс-диске:

При этом даже если в будущем архив на нашем компьютере окажется зашифрован или вообще удалён вирусом – с облачной копией ничего не случится, потому что:

  • обновлятор делает заливку архива ровно один раз, то есть ещё раз обратите внимание – он не зеркалирует (синхронизирует) вашу локальную папку в облако, он заливает и удаляет архивы из облака в соответствии с теми операциями, которые вы выполняете в программе
  • обновлятор при своих операциях не подключает облако яндекс-диска в систему в виде, например, сетевого webdav диска (так многие делают, я знаю) – вместо этого обновлятор взаимодействует с облаком через его api, используя протокол https

Более тонкая настройка

Мы рассмотрели лишь простейший сценарий архивации наших баз и документов в облако Яндекс-диск.

Программа обновлятор позволяет также:

  • настроить такую архивацию по расписанию
  • настроить уведомления на почту в случае ошибок
  • лимитировать скорость и количество потоков для передачи архивов в облака
  • использовать и другие облачные сервисы, например, google-диск и mega.nz
  • использовать протоколы ftp, ssh, webdav

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Комментировать
0
1 686 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector