2015-02-20 5 views
0

У меня есть отчет, который использует хранимую процедуру как набор данных. Я создаю диалоговое окно отчета с помощью класса построителя пользовательского интерфейса в Dynamics AX.Параметр отчета SSRS Stripped

Мои параметры успешно передаются в набор данных, за исключением строки моих клиентов. Формат которых - это учетные записи клиентов, разделенные точками с запятой, например.

"100019;100021;100234" 

Я напечатал параметр в отчете, и я получаю "100019" - только первый клиент.

Я проверил параметр отчета в методе PreRunModifyContract класса контроллера, используя dataContract.getValue('StoredProcedure_InvoiceAccount'), и в этот момент значение параметра верное.

Так что мой вопрос в том, почему и где меняется значение параметра, и как его предотвратить.

+0

Вы пытались использовать запятые вместо этого? 'SysQueryHelper' или что-то такое класс, который я считаю. –

+0

Это не что-то смешное, как исходная переменная str в AX, была длиной всего 6 символов, прежде чем вы даже передадите переменную в качестве параметра? ... Я говорю это, поскольку моя жизнь иногда становится нелепой ... –

+0

Нет, ничего подобного , Теперь у меня есть решение. Но тот факт, что службы отчетов обрабатывают точки с запятой как специальные символы, предполагает наличие встроенной функциональности для параметров мультиселектора, о которых я не знаю. – Dilitante

ответ

0

Похоже, что службы отчетов обрабатывают точки с запятой как специальные символы. Решение, с которым я столкнулся, состояло в том, чтобы изменить мою строку, изменив все точки с запятой на запятые, но я сделал это в методе PreModifyContract вместо использования SysQueryHelper. Очевидно, мне пришлось изменить логику в моей хранимой процедуре, чтобы искать запятые вместо точек с запятой.

Смежные вопросы