Загрузить файл на яндекс диск из консоли

Обновлено: 04.07.2024

В настоящее время очень популярным инструментом для доступа и управления файлами являются так называемые облачные хранилища. Они предполагают размещение пользовательских данных на доступных через интернет удалённых серверах т. е. в «облаке» и доступ к нему посредством специального программного обеспечения (ПО) и протоколов. Компании-разработчики облачных хранилищ и сред поддерживают практически все популярные платформы и операционные системы (ОС) для взаимодействия пользователей с облаком. Не стала исключением и компания «Яндекс», которая вместе с предоставляемым ею сервисом «Яндекс.Диск» предлагает пользователям и одноимённый продукт для удобного пользования, собственно, самим сервисом. В этой статье речь пойдёт об утилите Яндекс.Диск и её использовании в Linux.

Загрузка и установка пакета Яндекс.Диск

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

Утилита является бесплатной и, как указывают сами разработчики, написана на языке C++ в IDE Kdevelop. Распространяется Яндекс.Диск в виде пакетов *.deb и *.rpm, которые можно скачать и установить как вручную (используя менеджер пакетов apt например), так и при помощи системы управления пакетами используемой ОС.

Для Debian-ориентированной системы для установки Яндекс.Диск через систему управления пакетами (СУП) нужно выполнить следующие команды:

Для RPM-ориентированных систем порядок установки с помощью СУП несколько иной. Нужно для начала вручную создать и отредактировать файл источника для добавления его в системный репозиторий:

Запустится текстовый редактор nano (который сразу создаст файл yandex.repo по указанному пути), в котором нужно ввести следующее содержимое:

Далее, сохранить сделанные изменения, нажав сочетание клавиш , подтвердить сохранение (Enter), закрыть редактор nano (Ctrl + X) и выполнить следующие команды:

Все эти действия выполняются и при использовании пакетных менеджеров, если сначала вручную скачать пакеты Яндекс.Диска через веб-браузер (или утилиту wget), например для deb-пакетов:

Также может потребоваться импортировать с помощью wget открытые GPG-ключи для проверки цифровой подписи пакетов, если это по какой-либо причине не произошло автоматически при использовании СУП или менеджера пакетов. Для Debian:

Управление демоном из командной оболочки

Разработчики Яндекс.Диска в реализации этого проекта постарались максимально придерживаться принципов так называемой концепции UNIX-Way, которая предполагает при разработке ПО соблюдение следующих принципов:

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

Утилита Яндекс.Диск, как уже говорилось, работает как демон (в хорошем смысле…), а потому основной метод управления ею — это дискретные команды с соответствующими опциями и параметрами. Эти команды могут выполняться как непосредственно пользователем в командной оболочке, так и другими программами, которые могут быть графическими оболочками для демона Яндекс.Диска, как в виде оконных приложений, так и в виде виджетов и/или апплетов рабочего стола. Некоторые достойные реализации (YD-tools, Yandex.Disk ServiceMenu) графического пользовательского интерфейса (GUI) давно существуют.


Для управления клиентом Яндекс.Диск предназначена команда yandex-disk, её общий синтаксис следующий:

Внутренними командами утилиты yandex-disk являются команды управления демоном синхронизации, а также команды его настройки, которые приведены в следующей таблице:

Начальное конфигурирование демона.

Соответственно, сами эти команды могут выполняться в следующем виде:

В следующей таблице приводится описание всех доступных для yandex-disk опций:

Как можно видеть, разработчики подошли к реализации утилиты Яндекс.Диск, что называется — «по-настоящему», ярко отразив в ней философию маленькой, эффективной, простой и удобной UNIX-программы. Все команды и опции говорят сами за себя и настройка демона Яндекс.Диск не вызывает никаких сложностей.

Первое, что необходимо выполнить в командной строке, после установки утилиты Яндекс.Диск — это запустить начальную настройку её демона с помощью команды:

Далее нужно проследовать несложному процессу, в ходе которого будет предложено создать защищённый токен на основе учётных данных, задать настройки прокси-сервера (если предполагается его использовать), указать путь к каталогу синхронизации, а также определить опции автозапуска демона при входе в систему:

В приведённом примере производится настройка демона синхронизации для учетной записи mylogin без задействования прокси-сервера. Каталогом для синхронизации в данном случае является каталог Disk на отдельном разделе (или устройстве) Yandex.Disk.

Интеграция с файловым менеджером

Поскольку сервис Яндекс.Диск поддерживает работу по протоколу WebDAV, то синхронизацию легко настроить для приложений, которые поддерживают эту технологию. В Linux таковыми являются например файловые менеджеры Dolphin (для среды KDE), а также Nautilus – для среды GNOME.


Сама настройка файлового менеджера для работы через WebDAV совсем несложна и на примере Dolphin выглядит следующим образом:


Как можно видеть, благодаря грамотной реализации для Linux-систем и поддержке современных технологий для работы и защиты данных в удалённых хранилищах, утилита Яндекс.Диск легко и гибко способна организовать синхронизацию файлов. Для системных администраторов она примечательна ещё и тем, что полностью соответствует принципам администрирования UNIX/Linux систем. И если в это позволяет политика и регламент безопасности сети организации, то утилита Яндекс.Диск — это отличный вариант предоставить пользователям инструмент для синхронизации их данных с облаком.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Для работы с клиентом используются следующие команды:

token — получить ключ авторизации (OAuth-токен) для вашего логина на Яндексе. При вводе команды вы можете задать имя файла для хранения токена и путь к нему (FILE). Если дополнительные параметры не будут указаны, для хранения токена будет создан файл passwd в каталоге Вводить логин и пароль в клиенте не нужно. После вызова команды Диск предложит вам открыть определенную страницу в браузере и ввести там уникальный код. Примечание. Перед вводом кода убедитесь, что вы авторизованы в браузере с нужным аккаунтом. start — запустить демон и синхронизировать все папки, кроме указанных в списке исключений exclude-dirs. status — отобразить статус работы демона (состояние синхронизации, ошибки синхронизации, список синхронизированных файлов, общее и свободное пространство на Диске). sync — синхронизировать все папки, кроме указанных в списке исключений exclude-dirs. publish — получить публичную ссылку на указанный файл или папку ( FILE ). unpublish — отменить публикацию для указанного файла или папки ( FILE ).

Дополнительные параметры [OPTION]

Указать файл конфигурации. По умолчанию используется файл config.cfg в каталоге

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

--auth=FILE, -a FILE

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

Не синхронизировать указанные каталоги. Чтобы настройка действовала всегда, каталоги необходимо добавить в список исключений exclude-dirs в файле config.cfg . Чтобы настройка действовала корректно, названия исключаемых директорий нужно перечислять через запятую, без пробелов.

Запретить изменение файлов на сервере Диска и выполнить синхронизацию только в локальной копии. При возникновении конфликтов синхронизации локальные файлы будут переименованы. Если дополнительно указан параметр --overwrite , локальные файлы будут перезаписаны.

При синхронизации с сервером разрешить перезапись изменений, сделанных в локальной копии Диска. Используется вместе с параметром --read-only .

Запустить демон без возврата управления в консоль. Чтобы вернуть управление, демон необходимо остановить, запустив в другой консоли команду yandex-disk stop или закрыв текущую консоль.

Если используется этот параметр, приложение не читает файл конфигурации. Поэтому все необходимые настройки нужно вводить через командную строку. Так, параметру exclude-dirs соответствует аргумент --exclude-dirs .

Выкладывать бекапы проектов (сайтов) на Яндекс.Диск может понадобиться по нескольким причинам, например, из-за нехватки места на сервере (хостинге, VDS, VPS) или для повышения безопасности хранения бекапов (на случай, если сервер без рейда и он выйдет из строя).

Для того, чтобы воспользоваться скриптом, необходимо сначала получить токен от Яндекс.Диска. Приступим.

Яндекс.Диск - регистрация нового приложения

Яндекс.Диск - предоставление прав приложению

Яндекс.Диск - Callback URL

3. После сохранения параметров приложения нас перенаправят на страницу с данными о приложении:

Яндекс.Диск - данные приложения

Яндекс.Диск - разрешения приложения

В итоге на странице будет отображён токен, который выдается не менее, чем на 1 год, поэтому если скрипт бекапа вдруг перестанет работать, мы сможем получить новый токет и подставить его в скрипт. Протестировать возможности работы с Яндекс.Диском, используя полученный токен, можно на специальном полигоне.

А теперь сам bash-скрипт для бекапа на Яндекс.Диск:

Также вы можете скачать готовый файл скрипта. Скрипт следует расположить на сервере, заменить в нём параметры на свои, дать права на запуск ( chmod +x ) и поставить на ежедневное выполнение в cron. Если вы планируете выполнять несколько таких заданий, задайте время между их запуском (5-10 минут).

P.S. Архивы можно создавать с шифрованием, см. комментарий от Walkman.




1 комментарий к записи “ Скрипт бекапа на Яндекс.Диск ”

Если я правильно понял, то 1 бекап = 1 архив? Может есть смысл прикрутить dupliсity? Сам тут задумался над бекапом на Яндекс.Диск, вот и думаю пока над скриптом (в Ваш пока не вникал ибо зашел по другим делам).

Спасибо, отличный скрипт. Но ситуация такая: корректно бэкапится только файловая система, а архив БД оказывается пустым. Точнее, не пустым, а матрёшкой папок: home/user_name/backups/2016-10-06

Может быть есть какие-либо нюансы именно для бэкапа MySQL?

БД на том же сервере или удаленном? Если удаленном, разрешен ли нелокальный вход? В логах есть какие-нибудь ошибки?

БД на этом же сервере, /var/log/mysql/errors.log пуст вообще

А в логах скрипта есть что-нибудь?
Вручную дамп создается?

через mysqldump всё ok, лог скрипта:

В чём причина самостоятельно понять, увы, не удаётся:(

Так вручную дамп создается? Я пример команды приводил в предыдущем своем комментарии.

Спасибо за терпение:) На выходных разобрался, указал вместо айпи localhost — теперь всё отлично. Для автопродления летсэнкрипт скрипта случайно не писали?

Так там всё просто, в кроне строчка:

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

Сам дистрибутив certbot на github.

Подробнее можно почитать на хабре.

Ставил сертификат почти год назад по такой схеме:

Спасибо, разобрался. Не нашёл email, поэтому позволю себе ещё один вопрос оффтоп: у вас есть опыт работы с libapache2‐mpm‐itk? Где-то прочёл, что этот модуль решает проблемы с безопасностью (ну там, права 755 для директорий, в которые загружаются файлы через веб-интерфейс, права на запись в лог-файлы и т.п.), но реализация не ясна. P.s. перешёл с виртуального хостинга на Ubuntu около года назад, «не велите казнить» за обилие вопросов:)

Нет, с таким не работал.

Попробуйте выполнить запрос из консоли (через curl, например). Возможно, какие-то символы мешают выполнению запроса, например, двоеточие, т.к. в API Яндекса в URL тоже есть двоеточия и они могут восприниматься уже не как часть имени файла.

Если это так критично, можете попробовать в urlencode передавать название файла для удаления. Тогда двоеточие будет заменено на %3A.

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

Кстати если кому нужно, для себя добавил функцию очистки корзины:

В скрипте прописано удаление, минуя корзину (ключ permanently=true).

Так же появляется предупреждение:

Тут не отвечу, надо смотреть и разбираться. Но пишет, что нет прав на выполнение команды.

Но тем не менее почему то файлы помещаются в корзину, а не без возвратно удаляются хотя ключ (permanently=true)

Здравствуйте. Ваш скрипт замечательно работает, только вот ограничение на размер файла 10ГБ на Я.Диске. Как можно сделать, если размер бэкапа больше 10ГБ? Надо разбивать архив на части и заливать, как скрипт можно модифицировать, чтобы заливал все части архива? Алгоритм: надо tar разбивать на части и сохранять имена фалов в массив, потом циклом проходить по массиву и заливать эти файлы, также проверять кол-во бэкапов, чтобы потом их удалять с я.диска. Не силен в программировании, так бы сам сделал. У вас нет желания модифицировать ваш скрипт?

Сейчас на это абсолютно нет времени, на работе завал.

Отличное решение. Спасибо.

Всем привет. Собственно огромнейшая просьба. Дома запущен сервер видео наблюдения(на Debian7+motion). Нужен скрипт который будет архивировать папки из одной постоянной директории на другой винт. Но фишка вся в том, что все папки создаются по дате то есть имеют вид /var/www/motion/in1/2017-05-15 и так каждые сутки новая папка по дате. Но ещё дело в том, что новая папка создаётся только после обнаружения движения детектором(а движение может быть и в 00:01 и в 05:30). В программировании я ноль. Если можете помогите прикрутить данное задание к этому скрипту.

Из этого скрипта Вам только пара строк нужна. В чем загвоздка то у Вас, я так и не пойму? Папки уже создаются? Нужно просто настроить копирование и удаление старых? Или нужно копировать сразу же, как только создалась новая папка или файлы в ней?

Я в прграммировании полный ноль. 1)Да папки создаются. 2)Нет сразу копировать не надо. 3)Да папки с их содержимым. 4)Можно с задержкой на сутки.

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

Тогда просто нужно копировать архив директории за предыдущие сутки.

Да. Но как прописать в скрипте, что бы он находил нужную папку (каждая папка в имени имеет год-месяц-число) и тд.

Если можешь приведи пожалуйста пример.

на debian такая же ошибка

Я так понял, что пока сам лично не напишешь скрипт то ни чего из того, что публикуют в интернете оно не работает. Обидно конечно.

Все прекрасно работает, отличный скрипт.

Расскажи как запустил.

И сам скрипт который выполняю. Пароль и токен удалил.

Скрипт не работает. На я.диск загрузки нет, хотя бекапы создаются и письма что бекап загружен приходят..автор скрипт рабочий?

Скрипт рабочий, данный блог ежедневно бекапится этим скриптом.

результат..+ файлов на я.диске нет

Ну так у Вас ошибка блокировки БД, причем тут скрипт то? Смотрите логи, ищите ошибку в правах на mysql. Гугл в России тоже пока не заблокирован.

Задание запускается из под рута.

Тогда проясните в чем именно возникает ошибка, лог выше.

Ответ от IT yadex.
Yandex.Disk8 июн. в 20:38
Здравствуйте!

Хм, у меня не ломает, проверил специально скрипт, которым бекапится блог, всё так же. У Вас в значении переменной $backupName пробелов часом нет?

Отправил. Ваш email в комментарии я затёр, чтобы спамерами не индексировался.

в ЯД доках написано, что&overwrite=true должен разрешать перезапись файла.
Этот параметр используется в приведённом скрипте, но при попытке загрузки файла с тем же именем в логи мне пишет:
Yandex.Disk error: DiskResourceAlreadyExistsError

Спросите у Яндекса, их же API.

Отличное решение! Разобрался за 5 минут. Автор спасибо большое за скрипт!
Хотелось бы чтобы бэкапы хранились не в папке Приложения.

tar -cf $BACKUP_DIR/$DATE-mysql-$PROJECT.tar.gz $BACKUP_DIR/$DATE
rm -rf $BACKUP_DIR/$DATE:

Если базы под 7GB, бекапить нужно явно не в облако, а на свою хранилку 🙂

Скрипт выдает ошибку:
Line 132 remove_old_backups command not found и не удаляет лишние архивы с ЯД. Сможете вылечить?

Не может выполниться функция, внимательно изучите код в месте определения function remove_old_backups().

Реально ничего не менял, даже не могу понять, что там может не работать.

У меня в 132 строке закрытие функции backups_count(), поэтому нужно смотреть именно Ваш скрипт, что у Вас в этой строчке.

Ошибка была в переменной счетчика бекапа

line 132: backups_count: command not found

132 строчка, тоже backups_count()

Удаленно определять проблему по кусочкам кода я не буду. Можете добавить побольше логгеров и выяснять, в каком месте происходит затык. Но судя по ошибке, у Вас не определена функция backups_count().

У Вас ошибка в ненахождении функции backups_count(), при чем тут URL, обозначенный в функции remove_old_backups()?

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

Странный вопрос. Настройте 2 скрипта, запихните в крон и всё.

а если у меня 20 доменов, создать 20 заданий ? глупо

Ну тогда замените все изменяющиеся для этих заданий переменные на параметры и вызывайте скрипт с параметрами.

./backup-ya.sh: line 84: curl: command not found
Some errors occured. Check log file for detail
./backup-ya.sh: line 84: curl: command not found
Some errors occured. Check log file for detail
./backup-ya.sh: line 125: curl: command not found

ранее такого небыло, скрипт отрабатывал нормально

Ну в ошибке ж всё указано, значит вы каким-то образом curl удалили. Установите заново и всё.

Ну если скрипт не менялся, и в какой-то момент начались ошибки, указывающие на то, что команда curl неизвестна, то логично предположить, что проблема на сервере?
И зачем вы показываете вывод curl для php, если скрипт на bash и использует системный curl?

Может кто подскажет, как в конце вывести содержимое папки яндекс.диска в лог ?
спасибо

Спасибо вам за скрипт. На днях опробую.

при этом дефолтный скрипт, бекапит бд и сайт, удаляет бд и сайт, не отправляет на мыло ничего, пишет в лог блабла, не запускается из консоли обычными способами, не копирует на ядиск ничего, не удаляет на ядиске ничего

спасибо пользователю Роман за некоторые найденные ошибки.
автору спасибо за код, хоть и полурабочий

после устранения ошибок скрипт заработал полностью, кроме мыла конечно.

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

Привет! Несколько лет пользовался скриптом, и перестал работать, что может быть?
[root@admin

Как установить Yandex Disk в Ubuntu

Пользователи операционной системы Ubuntu имеют возможность инсталлировать на свой компьютер облачный сервис Яндекс.Диск, войти или зарегистрироваться в нем и без проблем осуществлять взаимодействие с файлами. Процедура установки имеет свои особенности и производится через классическую консоль. Мы постараемся расписать весь процесс максимально детально, разделив его на шаги для удобства.

Устанавливаем Яндекс.Диск в Ubuntu

Шаг 1: Загрузка необходимых компонентов

Как уже было сказано выше, скачивание установочных компонентов происходит из пользовательских репозиториев. Такое действие может осуществляться как через браузер, так и через консольные команды. Загрузка через веб-обозреватель выглядит так:

    Перейдите по указанной выше ссылке и нажмите на соответствующую надпись для загрузки DEB-пакета.

Сохранить DEB-пакет Яндекс.Диска для установки в Ubuntu

Установить DEB-пакет Яндекс.Диск в операционной системе Ubuntu

Ввести пароль для потдверждения установки Яндекс.Диска в Ubuntu

Если этот метод распаковки DEB-пакетов вам не подходит, советуем ознакомиться с другими доступными вариантами в отдельной нашей статье, перейдя по следующей ссылке.

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

Запустить терминал для установки Яндекс.Диска в Ubuntu

Команда для загрузки и установки файлов Яндекс.Диска в Ubuntu

Ввод пароля в консоли для установки Яндекс.Диска Ubuntu

Шаг 2: Первый запуск и настройка

Теперь, когда все необходимые компоненты находятся на компьютере, можно переходить к первому запуску Яндекс.Диска и процедуре его конфигурации.

    Создайте новую папку в домашнем расположении, куда будут сохраняться все файлы программы. В этом поможет одна команда mkdir

Создать папку для хранения файлов Яндекс.Диска в Ubuntu

Первый запуск Яндекс.Диска в Ubuntu через терминал

Запустить выполнение Яндекс.Диска в операционной системе Ubuntu

Шаг 3: Установка индикатора

Не всегда удобно запускать и настраивать Яндекс.Диск через консоль, поэтому мы предлагаем самостоятельно произвести добавление в систему значка, который позволит работать в графическом интерфейсе программы. Через него также будет производиться авторизация, выбор домашней папки и другие действия.

    Использовать нужно файлы из пользовательского репозитория. Загружаются на компьютер они через команду sudo add-apt-repository ppa:slytomcat/ppa .

Установить индикатор Яндекс.Диска для операционной системы Ubuntu

Обновить системные библиотеки Ubuntu после загрузки Яндекс.Диска

Установить индикатор Яндекс.Диска в операционной системе Ubuntu

Подтвердить добавление новых файло

Запустить индикатор Яндекс.Диска в операционной системе Ubuntu

Установка Яндекс.Диска через индикатор в Ubuntu

Выбор папки для синхронизации файлов Яндекс.Диска в Ubuntu

Выбор места расположения токенов в Ubuntu

Запустить индикатор Яндекс.Диска в Ubuntu через меню

Выше вы были ознакомлены с тремя шагами инсталляции и настройки Яндекс.Диска в Ubuntu. Как видите, в этом нет ничего сложного, нужно лишь четко выполнять все инструкции, а также обращать внимание на текст, который иногда может появляться в консоли. При возникновении ошибок ознакомьтесь с их описанием, решите их самостоятельно или найдите ответ в официальной документации операционной системы.

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Данный программный код тестировался на версии платформы 8.3.17.1549.

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Спасибо, работает отлично.
Но вот бы еще получить ссылку на скачку файла.

Правда ссылка получается какая - то огромная, интересно можно ли получить нормальную)

Может кому пригодится, пример того как скачать файл с яндекс диска:

Исправил эту строку и всё ОК).

HTTPЗапрос = Новый HTTPЗапрос("/v1/disk/resources/upload?path=" + path + "& overwrite clear">

Просмотры 4069

Загрузки 0

Рейтинг 57

Создание 12.08.20 14:31

Обновление 19.09.20 20:57

№ Публикации 1278053

Тип файла Нет файла

Конфигурация Не имеет значения

Операционная система Не имеет значения

Вид учета Не имеет значения

Доступ к файлу Бесплатно (free)

Код открыт Да

См. также

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо

В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.

12.12.2020 4472 Eugen-S 23

Что за ? в коде, или Секретный оператор в 1С

Инкремент, модуль и прочая магия, которая скрыта под символом "?"

21.10.2021 8043 SeiOkami 40

Полезные примеры СКД, ч.2

Еще несколько примеров решения задач в СКД.

06.04.2021 10744 Neti 8

Обзор полезных методов БСП 3.1.4

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

25.03.2021 40671 rayastar 51

27.01.2016 85717 Serginio 116

Звуковое управление в 1С 8.3

В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.

16.03.2021 7187 velemir 33

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020 8895 comol 31

Форма выбора (подбор) в управляемых формах

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020 78339 user5300 19

Использование программных перечислений, ч.1: строковые константы Промо

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016 41116 unichkin 74

Программная работа с настройками СКД

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020 65683 ids79 26

[СКД] Программное создание схемы компоновки данных

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020 43692 John_d 22

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

30.12.2019 35397 kuzyara 38

Вспомогательные инструкции в коде 1С Промо

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018 36132 tormozit 106

Полезные процедуры и функции для программиста

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

07.10.2019 39741 HostHost 41

Таблица значений. Нюансы

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019 53062 Yashazz 56

12.09.2019 25378 YPermitin 27

Оформление и рефакторинг сложных логических выражений Промо

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

20.09.2012 82855 tormozit 131

[Шпаргалка] Программное создание элементов формы

Программное создание практически всех популярных элементов формы.

06.09.2019 102446 rpgshnik 75

Агрегатные функции СКД, о которых мало кто знает

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019 77766 ids79 56

Регистры бухгалтерии. Общая информация

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019 46606 YPermitin 25

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007 54434 tormozit 51

Три костыля. Сказ про фокусы в коде

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019 30218 YPermitin 81

Иерархия без "В ИЕРАРХИИ"

22.08.2019 15054 ildarovich 24

Отслеживание выполнения фонового задания

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

17.08.2019 45237 ids79 22

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017 51198 tormozit 74

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019 152360 ids79 75

Фоновое выполнение кода в 1С - это просто

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

02.08.2019 60781 avalakh 26

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019 105702 ids79 17

Выгрузка документа по условию Промо

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий. А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019 18023 m-rv 3

Обработчики событий при записи объектов. Зачем и что за чем?

Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта. Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.

25.07.2019 112424 AlbinaAAA 48

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

Читайте также: