ДопустимыеДействияПеретаскивания.Копирование

Свойства · Copy

Осуществлять копирование.

Полное описание, параметры и ограничения

ДопустимыеДействияПеретаскивания.Копирование (DragAllowedActions.Copy)

ДопустимыеДействияПеретаскивания (DragAllowedActions)

Копирование (Copy)

Доступен, начиная с версии 8.0.

Описание:
Осуществлять копирование.
Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Передать собственный маркер из источника: картинки-декорации

Возникает при начале операции перетаскивания. Передать собственный маркер из источника.

Где и как запускать

Клиентский модуль собственной управляемой формы. Элемент передаёт платформа; дополнительный блок — отдельный серверный обработчик создания.

Подготовка

  1. Создайте внешнюю учебную обработку с управляемой формой. Реквизиты формы: Статус (Строка 200), Счетчик (Число 10.0), РазрешитьСохранение (Булево). Выведите Статус и РазрешитьСохранение на форму.

  2. Основной обработчик назначается событию указанного элемента Образец, а не событию формы. Код вставляется на уровне модуля формы с директивой НаКлиенте. Дополнительный серверный блок назначьте событию формы ПриСозданииНаСервере.

  3. Открывайте обработку в настольном тонком клиенте. Каждый урок проверяйте в отдельном варианте формы; HTML показывает код, но не исполняет его.

  4. Создайте декорацию Образец вида Картинка. Ей не нужен реквизит или ПутьКДанным. Картинка задаётся непосредственно из библиотеки; включите Гиперссылка.

  5. Добавьте второй элемент Источник того же вида, связанный с тем же подготовленным содержимым. Для картинки-декорации задайте Источник.Картинка = БиблиотекаКартинок.Записать в редакторе. Включите у Источник и Образец РазрешитьНачалоПеретаскивания и РазрешитьПеретаскивание.

  6. НачалоПеретаскивания у Источник назначьте процедурой ИсточникНачалоПеретаскивания из отдельного блока. ПроверкаПеретаскивания и Перетаскивание относятся к Образец. ОкончаниеПеретаскивания назначается источнику. Не проверяйте урок перетаскиванием внешних файлов.

  7. В свойствах элемента Источник → События назначьте НачалоПеретаскивания процедуре ИсточникНачалоПеретаскивания. Подготовка использует текущую сигнатуру установленной справки плюс неявный параметр Элемент управляемой формы.

  8. Также назначьте Образец → ПроверкаПеретаскивания процедуре ОбразецПроверкаПеретаскивания из дополнительного блока. Вместе источник, проверка и приём образуют один завершённый учебный перенос.

  9. Также назначьте Образец → Перетаскивание процедуре ОбразецПеретаскивание из дополнительного блока. Вместе источник, проверка и приём образуют один завершённый учебный перенос.

&НаКлиенте
Процедура ИсточникНачалоПеретаскивания(Элемент, ПараметрыПеретаскивания, Выполнение)
    ПараметрыПеретаскивания.Значение = "Учебный маркер";
    ПараметрыПеретаскивания.ДопустимыеДействия = ДопустимыеДействияПеретаскивания.Копирование;
    ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Копирование;
    Выполнение = Истина;
КонецПроцедуры
Подготовить собственное содержимое формы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Счетчик = 0;
    РазрешитьСохранение = Ложь;
    Статус = "Готово";
    Элементы.Образец.Картинка = БиблиотекаКартинок.Записать;
    Элементы.Образец.Гиперссылка = Истина;
    Элементы.Источник.РазрешитьНачалоПеретаскивания = Истина;
    Элементы.Образец.РазрешитьПеретаскивание = Истина;
    Элементы.Источник.Картинка = БиблиотекаКартинок.Записать;
КонецПроцедуры
Согласованный обработчик ПроверкаПеретаскивания
&НаКлиенте
Процедура ОбразецПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Если ПараметрыПеретаскивания.Значение = "Учебный маркер" Тогда
        ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Копирование;
    Иначе
        ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена;
    КонецЕсли;
КонецПроцедуры
Согласованный обработчик Перетаскивание
&НаКлиенте
Процедура ОбразецПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Если ПараметрыПеретаскивания.Значение = "Учебный маркер" Тогда
        Счетчик = Счетчик + 1;
        Статус = "Принято маркеров: " + Строка(Счетчик);
        Сообщить(Статус);
    КонецЕсли;
КонецПроцедуры

Разбор по шагам

  1. Дополнительный серверный блок создаёт собственные данные, элемент подготовлен в редакторе формы.

  2. Платформа вызывает назначенный обработчик вследствие действия пользователя; процедуру с придуманными параметрами вручную не вызываем.

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

Как проверить результат

  1. Начните перенос из Источник: передаётся строка Учебный маркер, допустимое действие только Копирование.

  2. Источник не очищается: пример не перемещает рабочие данные.

Ожидаемый результат

Передать собственный маркер из источника на собственном подготовленном элементе.

На что обратить внимание

  1. Настольный тонкий клиент — контекст этого урока. Доступность и порядок событий в веб- и мобильном клиентах могут отличаться.

  2. Код не открывает внешние страницы, не отправляет сообщения и не обращается к рабочим документам.

  3. Свойство СтандартнаяОбработка и параметр Отказ имеют разные назначения: первый заменяет стандартное действие, второй отменяет операцию.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.