Перетаскивание мышью в 1С:Предприятии 8.3: что принимает окно программы и почему иногда не срабатывает
Содержание
Чтобы перетащить файл в 1С, зажмите его левой кнопкой мыши в Проводнике и отпустите над нужным местом окна программы. Файл внешней обработки .epf или отчёта .erf, брошенный на главное окно, откроется так же, как через Главное меню → Файл → Открыть. Файл, брошенный на список «Присоединённые файлы» документа, прикрепится к нему как вложение.
Работает это не везде. Перетаскивание принимают только те формы и поля, где разработчик конфигурации его разрешил, а сама передача файла упирается в права пользователя, режим запуска и способ подключения. Если 1С запущена через удалённый рабочий стол или с правами администратора, мышью файл часто «не долетает» — разбор таких случаев ниже.
Как платформа 1С обрабатывает drag-and-drop
В 1С:Предприятии 8.3 перетаскивание — это не одна функция, а механизм платформы, на который опираются формы. Есть три разных сценария, и вести себя они могут по-разному.
- 🗂 Файл из Проводника на главное окно. Платформа сама решает, чем открыть файл, по его расширению. Принимает те же форматы, что и команда «Открыть» в главном меню.
- 📎 Файл из Проводника на конкретную форму или поле. Срабатывает, только если в форме есть обработчик перетаскивания. Так устроены списки присоединённых файлов в типовых конфигурациях.
- ↔️ Перетаскивание внутри программы. Строки табличной части, элементы справочника, поля в настройках отчёта. Здесь файлы не участвуют, перемещаются значения.
Для каждой формы разработчик решает, какие значения она принимает. Поэтому одно и то же действие в одной форме прикрепит файл, а в соседней курсор покажет перечёркнутый круг. Это не сбой, а отсутствие обработчика.
| Что перетаскиваете | Куда | Результат |
|---|---|---|
.epf, .erf | Главное окно 1С | Открывается внешняя обработка или отчёт |
.mxl, .xls, .xlsx, .ods, .txt | Главное окно 1С | Открывается как табличный или текстовый документ |
| Любой файл | Список присоединённых файлов | Файл прикрепляется к объекту |
| Строка или элемент | Другая строка, группа, поле | Перемещение или подстановка значения |
.dt, .cf, .cfe | Окно пользовательского режима | Не загружается, нужен Конфигуратор или раздел расширений |
Как перетащить внешнюю обработку или отчёт в 1С
Самый частый случай: прислали файл обработки для загрузки данных или печатной формы, и его надо быстро запустить.
- Откройте нужную информационную базу в режиме «1С:Предприятие».
- В Проводнике найдите файл
.epfили.erf. - Зажмите его мышью и отпустите над рабочей областью окна 1С, не над полем ввода.
- Если появится предупреждение безопасности, прочитайте его и подтвердите открытие, только если источнику файла доверяете.
- Форма обработки откроется в новой вкладке или отдельном окне.
Внешняя обработка выполняет произвольный код с вашими правами. Обработка «для исправления остатков» от незнакомого человека может изменить или удалить данные. Перед запуском чужой обработки в рабочей базе сделайте резервную копию.
Если обработка не открывается
Предупреждение о безопасности — это защита от опасных действий. Её включают в профиле пользователя, и тогда при каждом открытии внешнего файла программа спрашивает подтверждение. Отключать её ради удобства не стоит.
Если вместо предупреждения появляется сообщение о нарушении прав доступа, у пользователя нет права на интерактивное открытие внешних обработок или отчётов. Это право выдаёт администратор базы через профили групп доступа. В типовых конфигурациях его обычно имеют только администраторы.
💡 Когда обработку нужно запускать регулярно, перетаскивание каждый раз неудобно. Подключите её как дополнительную: Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. После этого она будет вызываться из меню, а права на неё раздаются отдельно.
Перетаскивание Excel и табличных файлов в 1С
Брошенный на главное окно файл Excel или .mxl открывается как табличный документ 1С. Сам по себе он ничего в базу не записывает: это просмотр, как в отдельном редакторе.
Дальше два пути.
Путь 1. Скопировать данные в форму загрузки
Во многих документах БП 3.0 у табличной части «Товары» есть команда «Загрузить». Она открывает форму, куда можно вставить таблицу.
- Перетащите файл Excel в окно 1С. Он откроется табличным документом.
- Выделите нужный диапазон: наименование, количество, цену.
- Скопируйте его сочетанием
Ctrl+C. - Откройте документ, нажмите команду загрузки над табличной частью.
- Вставьте данные в таблицу формы
Ctrl+V, сопоставьте колонки и подтвердите.
Такой приём удобен, когда в файле лишние строки сверху, объединённые ячейки или итоги. Вы сразу видите, что именно забираете, и не копируете шапку.
Путь 2. Загрузить файл обработкой
Если данных много или загрузка повторяется, используют обработку загрузки из табличного документа. Её файл .epf тоже можно просто перетащить в окно, а сам Excel-файл выбрать внутри неё.
Перед загрузкой сохраните файл в .xlsx, а не в старом .xls, и уберите формулы, заменив их значениями. Формулы со ссылками на другие книги в 1С превращаются в пустые ячейки или ошибки.
Перетаскивание открытого табличного документа обратно в Проводник не создаёт файл. Чтобы получить .mxl или .xlsx, воспользуйтесь командой сохранения в меню табличного документа.
Как прикрепить файл к документу перетаскиванием
В конфигурациях на Библиотеке стандартных подсистем (БП 3.0, ЗУП 3.1, УТ 11, КА, ERP) у документов и справочников есть присоединённые файлы. Это сканы договоров, акты, счета от поставщика, фотографии товара.
- Откройте документ или элемент справочника.
- В командной панели формы нажмите кнопку со скрепкой. Откроется список присоединённых файлов этого объекта.
- Перетащите файл из Проводника прямо в список.
- Файл появится строкой в списке. Счётчик на кнопке со скрепкой увеличится.
Так же можно прикрепить сразу несколько файлов: выделите их в Проводнике и перетащите вместе.
Где хранится прикреплённый файл
После перетаскивания файл копируется в информационную базу или в тома на диске, если администратор настроил хранение в томах. Исходный файл на вашем компьютере остаётся на месте, и связь с ним не сохраняется.
- ✅ Удалили или переименовали исходник — в 1С копия цела.
- ✅ Отредактировали исходник — в 1С остаётся старая версия.
- ⚠️ Чтобы изменить файл в 1С, откройте его из списка на редактирование и после правки поместите обратно в базу командой из списка файлов.
Администратор может ограничить максимальный размер файла и запретить отдельные расширения, например .exe. Тогда перетаскивание крупного или запрещённого файла закончится сообщением, и файл не прикрепится.
Перетаскивание внутри 1С: строки, элементы, группы
Мышью в 1С перемещают не только файлы. Несколько приёмов, которые экономят время в повседневной работе.
| Действие | Как сделать | Что произойдёт |
|---|---|---|
| Перенести элемент справочника в группу | Перетащите строку на нужную группу в иерархическом списке | У элемента сменится группа-родитель |
| Изменить порядок строк в табличной части | Используйте стрелки «Переместить вверх/вниз» в командной панели | Порядок строк изменится |
| Подставить значение в поле | Перетащите элемент из открытого списка на поле другой формы | Поле заполнится, если тип совпадает |
| Добавить поле в отчёт | В настройках отчёта перетащите поле из списка доступных в колонки или группировки | Поле появится в отчёте |
Перенос элемента в другую группу справочника — это запись элемента. Если в группе действуют свои настройки, например счёт учёта по умолчанию для группы номенклатуры, новые документы будут заполняться уже по ним. Проведённые документы не меняются.
Если элемент не переносится в группу, вероятнее всего, список открыт без иерархии или у пользователя нет права на изменение справочника. Включите режим просмотра «Иерархический список» в меню «Ещё» и проверьте права.
Перетаскивание файлов в веб-клиенте и через удалённый рабочий стол
Тонкий клиент на Windows поддерживает перетаскивание полнее всего. В других режимах есть ограничения, и о них лучше знать заранее.
Веб-клиент в браузере
В веб-клиенте файл сначала попадает в браузер, а уже он передаёт его на сервер 1С. Перетаскивание в список присоединённых файлов в современных браузерах работает, если версия платформы на сервере публикации актуальная.
Ограничения веб-клиента:
- 🌐 Открыть внешнюю обработку
бросанием на окно браузера нельзя: браузер сам попытается открыть или скачать файл. Пользуйтесь командой
Главное меню → Файл → Открыть. - 🧩 Для части операций с файлами нужно расширение для работы с 1С:Предприятием. Браузер предложит установить его при первом обращении.
- 🐢 Крупный файл передаётся через интернет , поэтому вложение размером в десятки мегабайт добавляется заметно дольше.
1С через RDP и RemoteApp
Если 1С работает на терминальном сервере, а Проводник — на вашем компьютере, перетащить файл между ними обычным способом не получится. Протокол удалённого рабочего стола не передаёт drag-and-drop файлов из локальной системы в удалённое приложение.
Рабочие варианты:
- Включите перенаправление дисков в настройках подключения к удалённому рабочему столу (вкладка «Локальные ресурсы», раздел «Подробнее»). Локальные диски появятся в удалённом сеансе, и файл можно выбрать через диалог открытия.
- Скопируйте файл в Проводнике
Ctrl+Cи вставьте на рабочий стол удалённого сеансаCtrl+V, если разрешено перенаправление буфера обмена. Затем перетащите его в 1С уже внутри сеанса. - Сохраните файл в общую сетевую папку, доступную с сервера.
Свой обработчик перетаскивания в конфигурации
Если в вашей доработанной форме файл перетащить нельзя, а нужно, это решается кодом. У поля формы и таблицы формы есть события ПроверкаПеретаскивания и Перетаскивание. Первое решает, принимать ли значение, второе выполняет действие.
Для перетаскивания файла из Проводника в ПараметрыПеретаскивания.Значение приходит объект Файл или массив таких объектов, если файлов несколько. В веб-клиенте тип значения может отличаться, поэтому проверяйте его через ТипЗнч и обрабатывайте только известные варианты.
Пример для таблицы формы Список: принимаем файлы, помещаем их во временное хранилище и передаём на сервер.
&НаКлиенте
Процедура СписокПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
СтандартнаяОбработка = Ложь;
ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Копирование;
КонецПроцедуры
&НаКлиенте
Процедура СписокПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
СтандартнаяОбработка = Ложь;
Значение = ПараметрыПеретаскивания.Значение;
Файлы = Новый Массив;
Если ТипЗнч(Значение) = Тип("Файл") Тогда
Файлы.Добавить(Значение);
ИначеЕсли ТипЗнч(Значение) = Тип("Массив") Тогда
Для Каждого ЭлементМассива Из Значение Цикл
Если ТипЗнч(ЭлементМассива) = Тип("Файл") Тогда
Файлы.Добавить(ЭлементМассива);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Для Каждого ПеретащенныйФайл Из Файлы Цикл
ДопПараметры = Новый Структура("ИмяФайла", ПеретащенныйФайл.Имя);
Оповещение = Новый ОписаниеОповещения("ПослеПомещенияФайла", ЭтотОбъект, ДопПараметры);
НачатьПомещениеФайла(Оповещение, , ПеретащенныйФайл.ПолноеИмя, Ложь, УникальныйИдентификатор);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ПослеПомещенияФайла(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
Если Результат Тогда
СохранитьФайлНаСервере(Адрес, ДополнительныеПараметры.ИмяФайла);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура СохранитьФайлНаСервере(Адрес, ИмяФайла)
Данные = ПолучитьИзВременногоХранилища(Адрес);
// Данные — ДвоичныеДанные файла. Здесь запишите их в реквизит
// типа ХранилищеЗначения или в справочник файлов вашей конфигурации.
УдалитьИзВременногоХранилища(Адрес);
КонецПроцедуры
В типовой конфигурации на БСП не пишите хранение файлов с нуля. Используйте программный интерфейс подсистемы «Работа с файлами»: она уже умеет хранить файлы в томах, вести версии и проверять размер. Доработки формы делайте в расширении, а не в основной конфигурации, чтобы обновления ставились без сравнения и объединения.
Почему файл не перетаскивается в 1С: причины и решения
Курсор с перечёркнутым кругом или «ничего не происходит» — самые частые жалобы. Пройдитесь по симптомам.
Если ничего из списка не подошло, проверьте то же действие на другом компьютере под тем же пользователем. Работает там — дело в настройках Windows или ярлыка. Не работает нигде — в форме нет обработчика перетаскивания, и это вопрос к разработчику конфигурации.
Частые вопросы
Можно ли перетащить в 1С выгрузку базы .dt?
.dt загружается только в Конфигураторе командой Администрирование → Загрузить информационную базу. Загрузка полностью заменяет данные текущей базы.