Здравствуйте.

Не могу понять как блокируются кнопки редактирования wnd_OfferingInInvoiceGridArea в деталях реестра Счет. Проверял что возвращают базовые функции проверки прав: линцезия true, insert true и т.д. Если запускаю на прямую: "C:\Program Files (x86)\Terrasoft\Bin\TSClient.exe" \wnd=wnd_OfferingInInvoiceGridArea кнопки активны, только окно нерабочее, в него должны параметры прокидываться. Снимал флаги администрирования на tbl_OfferingInInvoice, была пустая группа таблиц проставлял Продукт не помогает.

Ни кто не знает в чем может быть проблема? Может из кода их руками разблокировать?

P.S. версия террасофта 3.4.0.190

Нравится

9 комментариев

Добрый день Михаил!!!

кнопки на детали "Продукты в счете" становятся Активными после того как будет создан счет, и после того как пользователь выделит Счет, в реестре Счетов. Только после этого кнопки Добавить, Редактировать, Удалить становятся активными

"Власов Михаил Викторович" написал:

Добрый день Михаил!!!

кнопки на детали "Продукты в счете" становятся Активными после того как будет создан счет, и после того как пользователь выделит Счет, в реестре Счетов. Только после этого кнопки Добавить, Редактировать, Удалить становятся активными


Добрый день.

Да, это понятно. Проблема не в этом, у меня выделен конкретный счет и на всех остальных вкладках все работает. К слову сказать, такая же вкладка Продукт в Реестре Договора тоже с заблокированными кнопками.

Какие изменения выполняли с данной схемой "wnd_OfferingInInvoiceGridArea", какие права установлены в схема таблицы "tbl_OfferingInInvoice". В профилере анализировали SQL запросы какие клиент посылает серверу? и какие ответы получает? данные вопросы анализировали. Так как если деталь создана и проинициализирована верно, кнопки Добавить, Изменить, Удалить блокироваться сами по себе не могут.

Плюс я бы проанализировал саму форму wnd_OfferingInInvoiceGridArea и проверил привязан ли Датасет к dlData, определены ли колонки, плюс в самом Датасете "ds_OfferingInInvoice" галочки "Добавить", "Редактирование", "Удаление", случайно не сняты?

"Борисов Михаил Евгеньевич" написал:конкретный счет

Если финальное состояние счета, может и блокируется умной логикой... уже не припомню сейчас есть ли оно в коробке

Или у вас эта деталь всегда заблокирована?

Александр, да деталь всегда заблокирована, под supervisor разблокирована.

Михаил, на таблице tbl_OfferingInInvoice сняты все галочки администрирования и выставлена группа таблиц Проекты(раньше там было пусто, но и тогда все было заблокировано). Сделал трасировку, не увидел ничего интересного:

exec sp_executesql N'exec [dbo].[tsp_ColumnsRightsEx] @objname = @P1',N'@P1 nvarchar(4000)',N'vw_Offering'
 
exec sp_executesql N'SELECT
	----------------
FROM
	[dbo].[tbl_OfferingInInvoice] AS [tbl_OfferingInInvoice]
LEFT OUTER JOIN
	[dbo].[tbl_Currency] AS [tbl_Currency] ON [tbl_Currency].[ID] = [tbl_OfferingInInvoice].[CurrencyID]
LEFT OUTER JOIN
	[dbo].[tbl_Unit] AS [tbl_Unit] ON [tbl_Unit].[ID] = [tbl_OfferingInInvoice].[UnitID]
LEFT OUTER JOIN
	[dbo].[vw_Offering] AS [tbl_Offering] ON [tbl_Offering].[ID] = [tbl_OfferingInInvoice].[OfferingID]
LEFT OUTER JOIN
	[dbo].[tbl_Tax] AS [tbl_Tax] ON [tbl_Tax].[ID] = [tbl_OfferingInInvoice].[TaxID]
WHERE([tbl_OfferingInInvoice].[InvoiceID] = @P1)
ORDER BY
	5 ASC',N'@P1 uniqueidentifier','68CAC3E8-CF90-4BA1-9757-B4FDBFD97E9B'

одинаково выдает под supervisor и мной.

"Борисов Михаил Евгеньевич" написал:Александр, да деталь всегда заблокирована, под supervisor разблокирована.

Если под Супервизором разблокированы кнопки а под пользователями заблокированы, то здесь только права не дают пользователю совершить действие над записями. Если стоит группа таблиц "Проекты", правда не знаю зачем, то нужно у данного пользователя и выше по иерархии (я не знаю как создавались и настраивались права) смотреть какие права розданы на Группу таблиц "Проекты". Так как если для данной таблице ничего не роздано по правам, то и создаваться, изменяться ничего не будет

Здравствуйте, Михаил!

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

Михаил, описался не проекты, а Продукты. Сами Продукты редактируются на ура, следовательно права раздаются хорошо и на детализацию.

Алла, пару часов ходил по шагам и так и не понял что там происходит, тонны кода.

Мое временное решение(которое имеет все шансы стать постоянным): создал свои кнопки, на которые не распространяется магия и связал их с кодом старых кнопок, все отлично работает, что косвенно указывает на правильно настроенные права на сущности: не дало бы редактировать, создавать записи.

Михаил,

К сожалению, сложно что-либо более конкретное порекоммендовать, не имея информации о том:

1) какое приложение Terrasoft Вы используете (например, Terrasoft CRM, Terrasoft Service Desk, Terrasoft Bank и т.д.);
2) вносились ли какие-либо доработки в Вашу конфигурацию для детали [Продукты];
3) воспроизводится ли подобная ситуация на чистой базе данных, развернутой из backup, который находится в инсталляции Terrasoft.

Показать все комментарии

Добрый день!
Подскажите, пожалуйста, какие действия нужно выполнить для добавления детали Продукты к созданному разделу? Пытаюсь сделать по аналогии со счетами, не очень получается(

Нравится

5 комментариев

Добрый день, Дмитрий!
На SDK есть статья по созданию детали. Там подробно все описано.
Что не получается у Вас?

Деталь создать все таки получилось. Спасибо.
Не могу понять каким образом заполняется поле "Счет" в карточке продукта в счете при добавлении нового продукта(см. скрин).

У меня при добавлении продукта это поле не заполняется.

Поле заполняется автоматически при корректном указании свойств "filterPath" и "filterValuePath" на странице, на которой загружается деталь (в данном примере - "Страница Счета").

Андрей, спасибо.
Действительно, было некорректное значение 'filterPath'

Показать все комментарии

Здравствуйте!
Я решил сделать в продажах деталь продукты по аналогии с разделом документы.
Для этого создал представление на основе таблицы "Продукты в продаже" чтобы имя подставлялось в зависимости от заполненного поля(продукт, произвольный продукт). Все работает, но при удалении продукта из детали, возникает ошибка: "Выбранные элементы удалить невозможно, так как они используются в других объектах.".
Так же в события Страницы реестра интересов к продуктам я добавил два событийных подпроцесса(по аналогии с продуктами в документах): OfferingChanged и DeleteYesMessage. Правда не понял откуда они вызываются и где их нужно регистрировать, чтобы они работали. Но они вроде как и нужны для того, чтобы удаление работало.
Подскажите, пожалуйста, что можно сделать, чтобы удаление работало?
Спасибо!

Нравится

3 комментария

Здравствуйте, Павел!

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

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

Добрый день, Павел!

В данном случае, для проведения анализа реализованного Вами функционала, прошу предоставить ссылку на бекап БД (в личном сообщении), или предоставить сеанс удаленного подключения к Вашему ПК.

Показать все комментарии