Здраствуйте. Как при событии "ОнКлик" батона "Скопировать" (во вкладке Продажи.Задачи) реализовать изминение(подстановку "своих" ) данных (окно "Задача(Новая задача)" в различных поля?
Зарание благодарен.
Нравится
var Attributes = GetNewDictionary();
Attributes.Add('RecordID', GUID_NULL);
Attributes.Add('NotifyObject', NotifyObject);
var DefaultValues = GetNewDictionary();
DefaultValues.Add('AccountID', AccountID);
DefaultValues.Add('ContactID', PrimaryContactID);
ShowEditWindowEx(EditWindowUSI, Attributes, DefaultValues);
Но лучше это делать на событие новой кнопки, а не "копировать". А то слово утратит свой смысл.
Спасибо за оперативность!
"Но лучше это делать на событие новой кнопки, а не "копировать". А то слово утратит свой смысл."
Мне надо:
1. Скопировать задачу.
2. Изменить некоторые поля за своим усмотрением
3. Это всё происходит при одном событии. Нажатии батона "Копировать"(при выбраном в таблице задании) выше написаного местоположения.
Есть несколько путей решения такой задачи. Один из них состоит в том, чтобы не менять базовую функцию копирования, а написать "свое" копирование.
1) Получить текущую запись в гриде.
2) Скопировать нужные поля из текущей записи в гриде в DefaultValues
3) Использовать ShowEditWindowEx
а можно еще в событии dlDataOnDatasetAfterAppend(Dataset) проверять значение атрибута Dataset.Attributes('IsCopy'):
function dlDataOnDatasetAfterAppend(Dataset){ ... if (Dataset.Attributes('IsCopy')) { // здесь пишем перезаполнение полей Dataset('SomeParameter') = 'NewValue'; } ... }
Соответственно работать это заполнение полей будет только если копируем запись, для создания новой записи все будет по-прежнему
ООО "Лайнсервис"
www.ls-crm.ru
Еще надо в скрипте раздела передать параметр в окно детали. И потом обеспечить дальнейшую передачу этого параметра из кона грида в окно редактирования (ну или в датасет этого окна). и нанализировать значение этого параметра, а не IsCopy.
"Underscore a.k.a. _" написал:Еще надо в скрипте раздела передать параметр в окно детали. И потом обеспечить дальнейшую передачу этого параметра из кона грида в окно редактирования (ну или в датасет этого окна)
если кнопка на штатной/рукотворной закладке, для которой Template назначен wnd_BaseGridArea - все передается по-умолчанию как надо. Если без темплейта - то да, надо передавать/назначать самому.
Dataset.Attributes('IsCopy') это вполне достаточный параметр из темплейта, указывающий на копию записи
ООО "Лайнсервис"
www.ls-crm.ru
Я просто понял, что нужно в одном конкретном разделе такую фичу реализовать.