Создание сводных отчетов с помощью Sitecore Webforms For Marketers

Я использую Sitecore с плагином Webforms For Marketers (WFFM). С WFFM я создал несколько форм. Все формы работают корректно, но на некоторых формах возникала ошибка формирования сводного отчета.

Value cannot be null.
Parameter name: items

Stack trace:
[ArgumentNullException: Value cannot be null.
Parameter name: items]
   Sitecore.Form.UI.Converters.ListItemsAdapter.AdaptList(IList list) +330
   Sitecore.Form.Core.Utility.FieldReflectionUtil.ListAdapt(FieldItem field) +258
   Sitecore.Forms.Data.PoolManager.GetInitialApplicants(FieldItem fieldItem) +49
   Sitecore.Forms.Data.PoolManager.GetApplicants(FieldItem item, IEnumerable`1 polls, Boolean onlyDefined) +136
   Sitecore.Forms.Shell.UI.FormDataViewerPage.LoadSummary() +476
   Sitecore.Forms.Shell.UI.FormDataViewerPage.SummaryRender() +43
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3554

Вы можете создать сводный отчет, нажав кнопку «Пуск» Sitecore -> Веб-формы для маркетологов -> Отчеты форм. Выберите форму и нажмите на вкладку «Сводка».

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

Большое спасибо.

Джорди


person Jordy    schedule 14.02.2014    source источник
comment
Используете ли вы какие-либо настраиваемые поля формы? Какие-либо поля, которые являются более сложными или выделяются, используются в неработающих отчетах?   -  person IvanL    schedule 18.02.2014
comment
Да это правильно. Я использую настраиваемые поля формы.   -  person Jordy    schedule 19.02.2014
comment
Можете ли вы найти закономерность между этими полями и отчетами, которые не хотят загружаться? (например, всегда есть 1 настраиваемый элемент управления, который появляется только в неработающих отчетах)   -  person IvanL    schedule 19.02.2014
comment
Здорово. Пользовательский элемент управления является причиной этой ошибки. У вас есть идеи, как я могу это решить?   -  person Jordy    schedule 19.02.2014
comment
Можете ли вы добавить к своему вопросу код и информацию о пользовательском элементе управления? Возможно, мы сможем определить проблему.   -  person IvanL    schedule 20.02.2014


Ответы (1)


Я предполагаю, что вы не переопределили класс Result для вывода своего пользовательского поля.

Вот пример пользовательского RadioList с текстовым полем. Вывод - это то, что выбрал пользователь, за исключением того, что если пользователь выбрал последний элемент в списке радио, он / она должен предоставить дополнительную информацию.

   public override ControlResult Result
        {
            get
            {
                return new ControlResult(this.ControlName,
                                     (this.buttonList.SelectedItem != null 
                                        && this.buttonList.SelectedIndex == this.buttonList.Items.Count - 1
                                        && !string.IsNullOrEmpty(this.InputText.Text)) ?
                                     this.buttonList.SelectedItem.Text + ", " + this.InputText.Text :
                                     (this.buttonList.SelectedItem != null? this.buttonList.SelectedItem.Text  : string.Empty),
                                      this.buttonList.SelectedValue ?? string.Empty);

            }
        }

Надеюсь, это поможет, Дини

person Dyni    schedule 23.01.2015