Crystal Reports запрашивает у пользователя информацию для входа при открытии подотчета - PullRequest
0 голосов
/ 30 мая 2019

У меня есть двухстраничный отчет Crystal Report, в котором содержимое первой страницы является полями в представлении, а содержимое второй страницы извлекается из хранимой процедуры, принимающей элемент данных из вышеупомянутого представления в качестве параметра.

Я использую встроенную защиту для аутентификации, и сам запускаю программу, она работает хорошо.Однако, когда пользователь на другом компьютере запускает его, им предлагается ввести учетные данные при переходе на вторую страницу (ту, которая содержит контент, созданный хранимой процедурой).Это приглашение дает возможность входа в систему с интегрированной защитой (несмотря на то, что это уже включено для используемого источника данных. Выбор этого параметра вызывает сбой входа в систему, предоставляя доступ запрещен. Это несмотря на мое, вспособность администратора базы данных, явно предоставляя пользователю права выбора как для самой хранимой процедуры, так и для двух табличных функций, которые она использует, и для данного пользователя, уже принадлежащего к группе, которая в любом случае уже имеет доступ к этим таблицам.это фрагмент кода, который используется для передачи элементов данных в отчет.

Я хотел бы подчеркнуть, что я не передаю данные явно из хранимой процедуры в коде, а только из представления.вызвать саму хранимую процедуру из базы данных, используя данные, переданные ей в коде в качестве параметра.

 With depositsReceiptsReportInstance
     .depositsReceipts = (From r In 
                          Entities.VW_Receipts
                          Where dateFrom.Date <=Entity.DbFunctions.TruncateTime(r.date_added) And Entity.DbFunctions.TruncateTime(r.date_added) <= dateTo.Date
                        Select r).ToList()

        If .depositsReceipts.Count = 0 Then
            MsgBox("No deposits in range.")
            Exit Sub
        End If

        .rpt = Rpt
        .rpt.SetDataSource(.depositsReceipts)

        .Show()

    End With
...