Можно ли прервать вставку данных шаблоном? - PullRequest
0 голосов
/ 29 августа 2018

Предположим, что мы определяем шаблон заказа на продажу, который включает в себя строки «Сводная информация» и «Сведения о документе».

Пользователь обычно использует этот шаблон с кнопкой на панели инструментов: Буфер обмена> Вставить из [Шаблон].

Можно ли использовать один и тот же шаблон двумя способами?

1- Стандартная полная вставка данных

2- Включить событие, которое прерывает вставку линий сетки. Будет добавлена ​​только сводка.

Я думал о расширении события FieldUpdated и использовании диалогового окна .Ask () для предложения параметров пользователю. И событие, безусловно, вызвано. Но я не знаю, как прервать вставку оставшихся данных, если пользователь выберет вариант 2.

1 Ответ

0 голосов
/ 29 августа 2018

Для полной отмены вставки из буфера обмена, вы можете использовать следующее в вашем графике:

public override bool CanClipboardCopyPaste()
{
  return false;
}

Также вы можете использовать атрибут PXCopyPasteHiddenFields. Этот атрибут говорит, что указанные поля основного ЦАП представления данных не будут скопированы при использовании функции копирования-вставки.

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

И еще одно полезное поле в самом графе - IsCopyPasteContext. Если для него установлено значение true, это означает, что в данный момент мы находимся в процессе создания записей.

Ниже приведен пример использования:

if (this.IsCopyPasteContext)
{
    sender.SetValue<APPayment.printed>(row, false);
    sender.SetDefaultExt<APPayment.printCheck>(row);
}
...