• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Обработка серверного события "После изменения состояния объекта",метод GetReport

Автор SeUp, 20.11.12, 08:25:02

« назад - далее »

0 Пользователи и 3 гостей просматривают эту тему.

SeUp

Здравствуйте, уважаемые разработчики!
Как использовать метод GetReport в скрипте по событию "После изменения состояния объекта"?
Процедура, вызываемая в GetReport, определяет тип объекта по его идентификатору:
CREATE PROCEDURE dbo.[rep_GetTypeOfObject]
  (
    @params varchar(50)
  )
AS
select dsTypes.stName from dsTypes where dsTypes.InId =(select inIdType from stmain, stVersions
where stmain.inId=stVersions.InIdMain and stVersions.inId=@params)
GO

В скрипте обработчика досупны только следующие параметры:
params(0,1) - идентификатор объекта
params(1,1) - из какого состояния переведён
params(2,1) - в какое состояние переведён

Приведу содержимое CDATA данного скрипта, в котором пытаюсь записывать в текстовый файл все нужные значения:

function Run(las, params, returnCode, errorMessage, flowDirectionCode)
Const p_name = 0, p_value = 1
dim nmLinkfile, tmp, inReturnCode, stErrorMes, id
    id = params(0,p_value)
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    nmLinkfile = "C:\Temp\"&params(0,p_value)&".txt"
    Set objFile = objFSO.CreateTextFile(nmLinkfile)
    objFile.WriteLine "params(0,p_value)" & params(0,p_value)
    objFile.WriteLine "params(1,p_value)" & params(1,p_value)
    objFile.WriteLine "params(2,p_value)" & params(2,p_value)
    tmp = las.GetReport("rep_GetTypeOfObject", id, id, inReturnCode, stErrorMes)
    objFile.WriteLine tmp
objFile.Close
end function

вот результат - текстовый файл 35863.txt c содержимым:
params(0,p_value)35863
params(1,p_value)Готово к сдаче в архив
params(2,p_value)Проектирование

П.С. params во всех событиях разные, в некоторых params(1,1) означает тип объекта, а где-то, как в данном случае, описание предыдущего состояния. Цель использования GetReport - возможность получать любую информацию об объектах.