функция sgettune в 8.0

Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)

Модераторы: m0p3e, edward_K, Модераторы

Ответить
maikl
Местный житель
Сообщения: 1503
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тверь

функция sgettune в 8.0

Сообщение maikl »

Не могу рассчитать права у пользователя с фильтром sgettune.
Хотя в 5.85 и 7.12 нет проблем. Хотя предварительно компилирую ...., было на форуме.
Не может разобрать выражение. Что изменилось в 8-ке?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

пробовать в лом.
для начала попробуйте скомпилить форму с такой функцией.
если не прокатит, значит у вас просто проблема с подключением ресов в репозитарии для сапорта( для него, как и для vip ресы следует подключать отдельно). Вполне возможно, что хватит extfun.res. Можно слегка автоматизировать процесс подключения - подправить GalRep.xml - заменить систему для всех ресов, приоритет(чтоб разделить в просмотре), изменить наименование подключения и жестко прописать пути). Следует помнить что наименование и путь с именем файла должны быть уникальные, поэтому регистрацию для vip надо делать через другое мапирование каталога exe.
maikl
Местный житель
Сообщения: 1503
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тверь

Сообщение maikl »

использую функцию в фильтрах протекта DesGR= sgettune('user.desgr'),для ограничения доступа к документам BaseDOC

extfun.res подключил, форму с такой функцией скомпилировал, работает.
А в фильтре все равно не хочет работать.
Не может быть чтобы никто не сталкивался. Для старых версий это подробно обсуждалось.
Кстати не очень понятко как работать с репозитарием, с GalRep.xml .
Что значит -заменить систему для всех ресов- где и как.
В доке вроде про это не очень пишут.
Спасибо.
sim
Местный житель
Сообщения: 1805
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Россия

Сообщение sim »

там еще бибилиотеку какую-то надо подтянуть в саппорт
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

maikl
а чем не устраивает настройка доступа к документам только по группе?

Или это надо только по basedoc а по остальным видеть все?
maikl
Местный житель
Сообщения: 1503
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тверь

Сообщение maikl »

У нас большая история с группами дескрипторов. Есть 3 производства, и все документы( в т.ч. дебиторки и кредиторки) надо видеть в разрезе каждого производства. С помощью этого фильтра это решается, т.к. он действует и на ARD отчеты и т.д. Это очень похоже на филиальность.
Придется писать в ТП.
sim
Местный житель
Сообщения: 1805
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Россия

Re: функция sgettune в 8.0

Сообщение sim »

maikl писал(а):Не может разобрать выражение.
проверь g_tune.dll - есть ли в SUP_EXE
и extfun.res нужен такой же, как и в Gal800/EXE
Хотя честно сказать не пробовали это дело в 8-ке.
В 7.11 работало

"Инструкция" вот осталась :)
(цитирую)
Необходимо:
1. подключение библиотек g_tune.dll и extfun.res (библиотеку скопировать в папку SUP_EXE)
2. зайти в компилятор интерфейсов и скомпилировать в собственный ресурс (например: atlantis.res) строку: function sGetTune (string) : string; external 'G_Tune.dll';
3. создать фильтры с использованием функции sGetTune
4. пересчитать права
5. п.2 выполнять всякий раз перед пересчетом прав на базу
maikl
Местный житель
Сообщения: 1503
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тверь

Сообщение maikl »

Все так и делаю, в 7.12 все проходит. А в 8.0 не хочет, уже на этапе когда только пишешь этот фильтр.
maikl
Местный житель
Сообщения: 1503
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тверь

Сообщение maikl »

В ТП посоветовали перед расчетом прав скомпилировать следующий интерфейс

Interface test;
function sGetTune (string) : string;
! external 'G_Tune.dll';
end.


К сожалению, я этим никогда не занимался, попробовал в демо-режиме в Компиляторе интерфейсов, не получилось, доет ошибки типа-Укажи компоненту и т.д.
Подскажите как скомпилировать этот интерфейс в 8.0, т.е чего в этой программке не хватает.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

то наверное была не ошибка а предупреждение.
поставте
Vip.VisibleAllInterface=On в cfg
если фейс появился в списке на запуск, значит нормально(даже в демо - просто рес не запишется и все).
maikl
Местный житель
Сообщения: 1503
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тверь

Сообщение maikl »

Это не спасло, кроме того, пишет, что уже есть зарегистрированная функция string
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Re: функция sgettune в 8.0

Сообщение BlazeBio »

У кого-нибудь полный список получаемых параметров, которые можно достать с помощью sGetTune? В частности можно ли достать группу пользователей с помощью неё?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: функция sgettune в 8.0

Сообщение edward_K »

8) 8) 8)
Параметр у нее один - это код настройки. Если не угадали, то будет сообщение об ошибке , что нет настройки такой то - неужели никогда не видели?
Если не угадали с типом будет пусто - для этого есть ее аналоги типа cogettune, bogettune и так далее.
Теперь о том, как узнать какой код у той или иной настройки
ищем нужную настройку. Встаем на нее - Alt+1 , смотрим код и тип. По Alt+2 поиск. Кто то тут уже писал про это.
Ну или вычисляем tdefinition.code, Ну или лезем в сапорт и смотрим tunedef.
По ctrl+F4 sgettune также прекрасно работает - пробуйте.
Ответить