AXForum  
Zurück   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 01.10.2013, 12:08   #1  
Space-06 ist offline
Space-06
Участник
 
57 / 10 (1) +
Registriert seit: 23.01.2013
Сброс PickList при загрузке Формы
Добрый День в очередной раз уважаемые коллеги!!!

Столкнулся вот с какой ситуацией:

На форму добавлено поле с выбором параметров, и по умолчанию выставлено определенное значение из списка. И при загрузке формы (OnLoad событие для других скриптов) сбрасывается значение этого пиклиста в значение по умолчанию (Пустое) Что не есть правильно.

Каким то образом это можно исправить? Чтоб при загрузке формы не сбрасывалось значение. Не прибегая к дополнительным разработкам???
Alt 01.10.2013, 12:27   #2  
-O_o- ist offline
-O_o-
Еда - топливо, Одежда - н
Benutzerbild von -O_o-
Лучший по профессии 2015
Лучший по профессии 2014
 
727 / 80 (4) ++++
Registriert seit: 11.05.2012
Ort: Киев
Вообще-то в свойствах поля есть (значение по умолчанию).
Как раз при CREATE оно и будет светиться. (но насколько я понял, вы уже в курсе этого)
Если JS сбрасывает значение поля, то смотрите коды. Больше у меня нет идей.
Alt 01.10.2013, 12:45   #3  
Space-06 ist offline
Space-06
Участник
 
57 / 10 (1) +
Registriert seit: 23.01.2013
Самое то интересное то что для этого списка выставляю специально нужное значение, (не пустое) и наблюдаю что при загрузке оно долю секунды все таки высвечивается, но потом пропадает (т.е.) сбрасывается

На само поле не назначено ни одно событие и в коде нет ни одного пересечения с этим полем.
Alt 01.10.2013, 12:49   #4  
spectr ist offline
spectr
Участник
Benutzerbild von spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Registriert seit: 19.10.2011
Ort: Киев
Если можно прикрепите весь скрипт с формы и скрин формы с указанием поля которое нулится.
Потому что тут нечего рассуждать. Если при создании не выставляется по умолчанию то у вас точно скрипт что-то мутит.
Alt 01.10.2013, 15:49   #5  
Space-06 ist offline
Space-06
Участник
 
57 / 10 (1) +
Registriert seit: 23.01.2013
Скрипт:
X++:
function optionSetChanged() {


    var _collection = getCollection(); 
    var _selectedCategory = null;
    var _categoryOptionset = Xrm.Page.ui.controls.get("new_category");
    if (_categoryOptionset != null)
        _selectedCategory = _categoryOptionset.getAttribute().getValue();
    var _categoryOptions = _categoryOptionset.getAttribute().getOptions();
    var _selectedCampaign = Xrm.Page.getAttribute("new_typecampaign").getText();

    if (_selectedCampaign == "") {
        _categoryOptionset.clearOptions();
    }
    else {
        for (var i = 0; i < _collection.length; i++) {
            if (_selectedCampaign.toLowerCase() == _collection[i].Campaign.toLowerCase()) {
                _categoryOptionset.clearOptions();
                for (var j = 0; j < _collection[i].Categories.length; j++) {
                    for (var k = 0; k < _categoryOptions.length; k++) {
                        if (_collection[i].Categories[j].toLowerCase() == _categoryOptions[k].text.toLowerCase()) {
                            _categoryOptionset.addOption(_categoryOptions[k]);
                            break;
                        }
                    }
                }
                break;
            }
        }
        if (_categoryOptionset != null && _selectedCategory != null)
            _categoryOptionset.getAttribute().setValue(_selectedCategory);
    }
}


function getCollection() {


    var _collection = new Array();
    var Kholod_Categories = new Array("Интерес", "Отложенный Интерес", "Информация отправлена", "ЛК зарегистрирован", "Вебинар интересен", "Мероприятия приглашать", "Отказ", "Отказ. Не профильный", "Перезвонить", "Уточнить контакты", "Недозвон");
    var Kholod_obj = { Campaign: "Холодный Обзвон", Categories: Kholod_Categories };
    _collection.push(Kholod_obj);

    var Marketing_Categories = new Array("Интерес", "Отложенный Интерес", "Приглашение отправлено", "Зарегистрирован", "Пришел", "Не пришел", "Отказ", "Отказ. Не профильный", "Перезвонить", "Уточнить контакты", "Недозвон", "Рассматривают приглашение", "Заинтересован участвовать", "Напомнили о регистрации");
    var Marketing_obj = { Campaign: "Маркетинговый Обзвон", Categories: Marketing_Categories };
    _collection.push(Marketing_obj);

    var Information_Categories = new Array("Информация отправлена", "Требуется консультация", "Проинформирован", "Отказ", "Перезвонить", "Уточнить контакты", "Недозвон", "Интерес");
    var Information_obj = { Campaign: "Информационный Обзвон", Categories: Information_Categories };
    _collection.push(Information_obj);

    return _collection;
}
Самое интересное - то что на пустой форме - все отображается, нулится само поле лишь только в том случае когда запись эту открываем в представлении отличной от последней давольно забано получается:

вот ссылка на видео, где все показано: ВИДЕО

удобнее скачать к себе на комп и посмотреть в полноэкранном режиме
Alt 01.10.2013, 16:01   #6  
-O_o- ist offline
-O_o-
Еда - топливо, Одежда - н
Benutzerbild von -O_o-
Лучший по профессии 2015
Лучший по профессии 2014
 
727 / 80 (4) ++++
Registriert seit: 11.05.2012
Ort: Киев
меня смутил тот факт, что в первых 2 записях вообще не отображается значение поля "тип кампании" в верхнем колонтитуле (при открытии).
А вот в 3-й записи отображается и поле не чиститься... Может оно вообще в базу не записывает?
Проверьте просто в базе, есть ли значение в это поле для этих записей?
Кстати, еще так, ради интереса.
Какая нумерация этих значений в поле "тип кампании"? Можете показать? ну там - 10009001 или что-то в этом роде... И посмотрите, не пересекаются эти номера с еще какими-то значениями в других сущностях...

Geändert von -O_o- (01.10.2013 um 16:06 Uhr)
Alt 01.10.2013, 18:55   #7  
spectr ist offline
spectr
Участник
Benutzerbild von spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Registriert seit: 19.10.2011
Ort: Киев
Предлагаю через расширенный поиск посмотреть на колонку Тип кампании.
Думаю там в 1 и 2 будет пусто а в 3 заполнено.

Так как дата создания последнего сегодня там походу все "ок", а в 1 и 2 оно скидывает его в null а так как select не содержит пустого option это заметно.

А если там значения есть то возможно у них поменялись номера (Value). Вы такого не делали ?

и предлагаю еще дописать в код после
Code:
function optionSetChanged() {
такое
Code:
alert("Name: "+Xrm.Page.getAttribute("new_typecampaign").getText()+"Value: "+Xrm.Page.getAttribute("new_typecampaign").getValue());
и скрин показать нам
Alt 01.10.2013, 19:03   #8  
Space-06 ist offline
Space-06
Участник
 
57 / 10 (1) +
Registriert seit: 23.01.2013
Меня именно это и настораживает в том что при при открытии этих форм оно то и чистится, а в последнем нет. Это и послужило началом дискуссии

нумерация стандартная 100 000 0ХХ - не пересекается с другими сущностями.

последняя запись она последняя в представлении и поэтому (почему то) данные как надо не очищаются.

Смущает лишь тот факт что создавая любое поле с набором параметров - и выставляя их на различные сущности (Звонок, Задача, Факс, контакт и т.д. ) и устанавливая значение по умолчанию - оно очищается - если запись не последняя в представлении.

Отвечая саму себе на мой же вопрос - а что мешает при загрузке формы выставить это значение самому? в принципе ни чего. Одно смущает - зачем добавлять код на действие функционала который уже существует в системе.
Alt 01.10.2013, 19:19   #9  
Space-06 ist offline
Space-06
Участник
 
57 / 10 (1) +
Registriert seit: 23.01.2013
Zitat:
Так как дата создания последнего сегодня там походу все "ок", а в 1 и 2 оно скидывает его в null а так как select не содержит пустого option это заметно.

А если там значения есть то возможно у них поменялись номера (Value). Вы такого не делали ?
База на самом деле тестовая с почти реальными данными. Код пишется именно сейчас. Это и настораживает что если к форме применяется какой то функционал - почему он не может работать в старых записях?

Значения номеров параметров не менял, так как только что их создал.

сейчас добавил несколько записей - в новых все в порядке, а в старых обнуляется
Alt 02.10.2013, 10:14   #10  
spectr ist offline
spectr
Участник
Benutzerbild von spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Registriert seit: 19.10.2011
Ort: Киев
Ну вот как оказалось все просто
CRM при создании нового атрибута (В SQL это столбец таблицы) все старые записи будут с знацением NULL в этом поле. Так как за заполнение этого должен отвечать интерфейс. И еще если был бы функционал который выставляет значение по умолчанию в старые записи, то прикиньте вы создали поле выставили значение по умолчанию и всем старым записям оно поставилось, а потом оказалось что это не то значение по умолчанию и что бы в этом случаи должен был сделать СРМ ?
Так что все там логично.
А чистится так как я и писал:
Zitat:
оно скидывает его в null а так как select не содержит пустого option это заметно.
Alt 02.10.2013, 12:45   #11  
Space-06 ist offline
Space-06
Участник
 
57 / 10 (1) +
Registriert seit: 23.01.2013
А как быть если с 100% вероятностью я уверен в том что это поле нужно в старых записях, как заставить СРМ все таки эти поля обновить?

Можно конечно на форме скрипт сделать который будет проверять дату создания записи, и в зависимости от разницы в дате устанавливать параметр.
Alt 02.10.2013, 12:50   #12  
-O_o- ist offline
-O_o-
Еда - топливо, Одежда - н
Benutzerbild von -O_o-
Лучший по профессии 2015
Лучший по профессии 2014
 
727 / 80 (4) ++++
Registriert seit: 11.05.2012
Ort: Киев
если записей не особо много, то сделайте БП на обновление с запуском вручную.
Выберите записи у которых нет значения и на них запустите этот БП.
Alt 02.10.2013, 12:59   #13  
spectr ist offline
spectr
Участник
Benutzerbild von spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Registriert seit: 19.10.2011
Ort: Киев
Да вариантов хватает.
  • БП ручтое
  • Временный сервис
  • Import-Export
Alt 02.10.2013, 13:34   #14  
Space-06 ist offline
Space-06
Участник
 
57 / 10 (1) +
Registriert seit: 23.01.2013
Спасибо огромное!!!

Все получилось обновить с помощью БП
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
CRM 2011, "нет места на диске" при загрузке формы продукта для возможной сделки mistah Dynamics CRM: Функционал 5 08.11.2012 01:44
При загрузке страницы формы не отображаются записи в гриде. fatty_bu Dynamics CRM: Функционал 3 19.01.2012 12:00
CRM Programmer: Get Picklist Value By Picklist Name Blog bot Dynamics CRM: Blogs 1 05.02.2010 13:17
Microsoft Dynamics CRM Team Blog: CRM 4.0: Checkbox style Multi-Select Picklist Blog bot Dynamics CRM: Blogs 0 01.04.2009 05:07
Jim Wang: CRM 4.0: Checkbox style Multi-Select Picklist Blog bot Dynamics CRM: Blogs 0 11.02.2009 06:05

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 20:36 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.