Перетаскивание мышью в 1С:Предприятии 8.3: что принимает окно программы и почему иногда не срабатывает

· 10 мин

Содержание

Чтобы перетащить файл в 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. Откройте нужную информационную базу в режиме «1С:Предприятие».
  2. В Проводнике найдите файл .epf или .erf.
  3. Зажмите его мышью и отпустите над рабочей областью окна 1С, не над полем ввода.
  4. Если появится предупреждение безопасности, прочитайте его и подтвердите открытие, только если источнику файла доверяете.
  5. Форма обработки откроется в новой вкладке или отдельном окне.

Внешняя обработка выполняет произвольный код с вашими правами. Обработка «для исправления остатков» от незнакомого человека может изменить или удалить данные. Перед запуском чужой обработки в рабочей базе сделайте резервную копию.

Если обработка не открывается

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

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

💡 Когда обработку нужно запускать регулярно, перетаскивание каждый раз неудобно. Подключите её как дополнительную: Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. После этого она будет вызываться из меню, а права на неё раздаются отдельно.

Перетаскивание Excel и табличных файлов в 1С

Брошенный на главное окно файл Excel или .mxl открывается как табличный документ 1С. Сам по себе он ничего в базу не записывает: это просмотр, как в отдельном редакторе.

Дальше два пути.

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

Во многих документах БП 3.0 у табличной части «Товары» есть команда «Загрузить». Она открывает форму, куда можно вставить таблицу.

  1. Перетащите файл Excel в окно 1С. Он откроется табличным документом.
  2. Выделите нужный диапазон: наименование, количество, цену.
  3. Скопируйте его сочетанием Ctrl+C.
  4. Откройте документ, нажмите команду загрузки над табличной частью.
  5. Вставьте данные в таблицу формы Ctrl+V, сопоставьте колонки и подтвердите.

Такой приём удобен, когда в файле лишние строки сверху, объединённые ячейки или итоги. Вы сразу видите, что именно забираете, и не копируете шапку.

Путь 2. Загрузить файл обработкой

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

Перед загрузкой сохраните файл в .xlsx, а не в старом .xls, и уберите формулы, заменив их значениями. Формулы со ссылками на другие книги в 1С превращаются в пустые ячейки или ошибки.

Перетаскивание открытого табличного документа обратно в Проводник не создаёт файл. Чтобы получить .mxl или .xlsx, воспользуйтесь командой сохранения в меню табличного документа.

Как прикрепить файл к документу перетаскиванием

В конфигурациях на Библиотеке стандартных подсистем (БП 3.0, ЗУП 3.1, УТ 11, КА, ERP) у документов и справочников есть присоединённые файлы. Это сканы договоров, акты, счета от поставщика, фотографии товара.

  1. Откройте документ или элемент справочника.
  2. В командной панели формы нажмите кнопку со скрепкой. Откроется список присоединённых файлов этого объекта.
  3. Перетащите файл из Проводника прямо в список.
  4. Файл появится строкой в списке. Счётчик на кнопке со скрепкой увеличится.

Так же можно прикрепить сразу несколько файлов: выделите их в Проводнике и перетащите вместе.

Где хранится прикреплённый файл

После перетаскивания файл копируется в информационную базу или в тома на диске, если администратор настроил хранение в томах. Исходный файл на вашем компьютере остаётся на месте, и связь с ним не сохраняется.

  • ✅ Удалили или переименовали исходник — в 1С копия цела.
  • ✅ Отредактировали исходник — в 1С остаётся старая версия.
  • ⚠️ Чтобы изменить файл в 1С, откройте его из списка на редактирование и после правки поместите обратно в базу командой из списка файлов.

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

Перетаскивание внутри 1С: строки, элементы, группы

Мышью в 1С перемещают не только файлы. Несколько приёмов, которые экономят время в повседневной работе.

ДействиеКак сделатьЧто произойдёт
Перенести элемент справочника в группуПеретащите строку на нужную группу в иерархическом спискеУ элемента сменится группа-родитель
Изменить порядок строк в табличной частиИспользуйте стрелки «Переместить вверх/вниз» в командной панелиПорядок строк изменится
Подставить значение в полеПеретащите элемент из открытого списка на поле другой формыПоле заполнится, если тип совпадает
Добавить поле в отчётВ настройках отчёта перетащите поле из списка доступных в колонки или группировкиПоле появится в отчёте

Перенос элемента в другую группу справочника — это запись элемента. Если в группе действуют свои настройки, например счёт учёта по умолчанию для группы номенклатуры, новые документы будут заполняться уже по ним. Проведённые документы не меняются.

Если элемент не переносится в группу, вероятнее всего, список открыт без иерархии или у пользователя нет права на изменение справочника. Включите режим просмотра «Иерархический список» в меню «Ещё» и проверьте права.

Перетаскивание файлов в веб-клиенте и через удалённый рабочий стол

Тонкий клиент на Windows поддерживает перетаскивание полнее всего. В других режимах есть ограничения, и о них лучше знать заранее.

Веб-клиент в браузере

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

Ограничения веб-клиента:

  • 🌐 Открыть внешнюю обработку бросанием на окно браузера нельзя: браузер сам попытается открыть или скачать файл. Пользуйтесь командой Главное меню → Файл → Открыть.
  • 🧩 Для части операций с файлами нужно расширение для работы с 1С:Предприятием. Браузер предложит установить его при первом обращении.
  • 🐢 Крупный файл передаётся через интернет , поэтому вложение размером в десятки мегабайт добавляется заметно дольше.

1С через RDP и RemoteApp

Если 1С работает на терминальном сервере, а Проводник — на вашем компьютере, перетащить файл между ними обычным способом не получится. Протокол удалённого рабочего стола не передаёт drag-and-drop файлов из локальной системы в удалённое приложение.

Рабочие варианты:

  1. Включите перенаправление дисков в настройках подключения к удалённому рабочему столу (вкладка «Локальные ресурсы», раздел «Подробнее»). Локальные диски появятся в удалённом сеансе, и файл можно выбрать через диалог открытия.
  2. Скопируйте файл в Проводнике Ctrl+C и вставьте на рабочий стол удалённого сеанса Ctrl+V, если разрешено перенаправление буфера обмена. Затем перетащите его в 1С уже внутри сеанса.
  3. Сохраните файл в общую сетевую папку, доступную с сервера.

Свой обработчик перетаскивания в конфигурации

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

Для перетаскивания файла из Проводника в ПараметрыПеретаскивания.Значение приходит объект Файл или массив таких объектов, если файлов несколько. В веб-клиенте тип значения может отличаться, поэтому проверяйте его через ТипЗнч и обрабатывайте только известные варианты.

Пример для таблицы формы Список: принимаем файлы, помещаем их во временное хранилище и передаём на сервер.

&НаКлиенте
Процедура СписокПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
	СтандартнаяОбработка = Ложь;
	ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Копирование;
КонецПроцедуры

&НаКлиенте
Процедура СписокПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
	СтандартнаяОбработка = Ложь;
	Значение = ПараметрыПеретаскивания.Значение;

	Файлы = Новый Массив;
	Если ТипЗнч(Значение) = Тип("Файл") Тогда
		Файлы.Добавить(Значение);
	ИначеЕсли ТипЗнч(Значение) = Тип("Массив") Тогда
		Для Каждого ЭлементМассива Из Значение Цикл
			Если ТипЗнч(ЭлементМассива) = Тип("Файл") Тогда
				Файлы.Добавить(ЭлементМассива);
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;

	Для Каждого ПеретащенныйФайл Из Файлы Цикл
		ДопПараметры = Новый Структура("ИмяФайла", ПеретащенныйФайл.Имя);
		Оповещение = Новый ОписаниеОповещения("ПослеПомещенияФайла", ЭтотОбъект, ДопПараметры);
		НачатьПомещениеФайла(Оповещение, , ПеретащенныйФайл.ПолноеИмя, Ложь, УникальныйИдентификатор);
	КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ПослеПомещенияФайла(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
	Если Результат Тогда
		СохранитьФайлНаСервере(Адрес, ДополнительныеПараметры.ИмяФайла);
	КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура СохранитьФайлНаСервере(Адрес, ИмяФайла)
	Данные = ПолучитьИзВременногоХранилища(Адрес);
	// Данные — ДвоичныеДанные файла. Здесь запишите их в реквизит
	// типа ХранилищеЗначения или в справочник файлов вашей конфигурации.
	УдалитьИзВременногоХранилища(Адрес);
КонецПроцедуры

В типовой конфигурации на БСП не пишите хранение файлов с нуля. Используйте программный интерфейс подсистемы «Работа с файлами»: она уже умеет хранить файлы в томах, вести версии и проверять размер. Доработки формы делайте в расширении, а не в основной конфигурации, чтобы обновления ставились без сравнения и объединения.

Почему файл не перетаскивается в 1С: причины и решения

Курсор с перечёркнутым кругом или «ничего не происходит» — самые частые жалобы. Пройдитесь по симптомам.

Диагностика: выберите симптом

Если ничего из списка не подошло, проверьте то же действие на другом компьютере под тем же пользователем. Работает там — дело в настройках Windows или ярлыка. Не работает нигде — в форме нет обработчика перетаскивания, и это вопрос к разработчику конфигурации.

Частые вопросы

Можно ли перетащить в 1С выгрузку базы .dt?
Нет. Файл .dt загружается только в Конфигураторе командой Администрирование → Загрузить информационную базу. Загрузка полностью заменяет данные текущей базы.
Перетаскивается ли папка целиком?
Нет, типовые списки присоединённых файлов принимают только файлы. Выделите файлы внутри папки и перетащите их вместе, или упакуйте папку в архив и прикрепите его одним файлом.
Работает ли перетаскивание в 1С на Linux и macOS?
Тонкий клиент на этих системах тоже поддерживает перетаскивание из файлового менеджера, но поведение зависит от графической среды. Если файл не принимается, используйте команду добавления файла в списке.
Можно ли перетащить файл из 1С обратно в Проводник?
Из списка присоединённых файлов надёжнее сохранить файл командой сохранения на диск. Перетаскивание наружу зависит от доработок формы и в типовых списках не всегда доступно.
Сохраняется ли имя файла после перетаскивания?
Да. В списке присоединённых файлов строка получает имя исходного файла, расширение сохраняется. Переименовать вложение можно в его карточке, на сам файл на диске это не влияет.