Создал новый DataSet, при тестирование под другим пользователем, у DataSet не хватает прав на select к таблице Конфигурационные единицы. Не ясно у кого нет прав у пользователя или у DataSet и как это исправлять.
Михаил Евгеньевич, проверьте наличие у пользователя прав доступа на чтение группы таблиц [Конфигурационная единица] (Инструменты - Администрирование - Права доступа к группам таблиц):
Проверил, все в порядке (так же поля таблицы доступны всем). Пользователь видит экран Конфигурационные единицы и открывает карточку. В момент нажатия на кнопку Ok идет обращение к DataSet в нем простейший запрос:
SELECT
[tbl_ConfigurationItem].[inv_nomer] AS [inv_nomer],
(select count(*) from tbl_ConfigurationItem A where A.inv_nomer=:inv_nomer) AS [Cnt]
FROM
[dbo].[tbl_ConfigurationItem] AS [tbl_ConfigurationItem];
Код вызова:
var Value =dlData.Dataset('inv_nomer');
var DatasetInv_nomer = GetSingleItemByCode('ds_inv_nomer');
ApplyDatasetFilter(DatasetInv_nomer, 'inv_nomer', Value, true);
DatasetInv_nomer.Close();
DatasetInv_nomer.Open();
var Cnt = DatasetInv_nomer('Cnt');
Войдите в SQL Server под пользователем, у которого возникает ошибка и выполните запрос. Если ошибка воспроизведется - что-то с правами.
Если запрос выполнится корректно, нужно смотреть реализацию select query в конфигурации.
Как создан подзапрос, формирующий колонку Cnt- через колонку с текстом SQL либо колонку подзапроса?