Код: Выделить всё
ALTER FUNCTION "LSDBO"."aln_misc_GetFirstParentObjIDByType"(in @obj_id numeric(18),in @obj_type numeric(18),in @linktype numeric(18))
returns numeric(18)
begin
declare @retval numeric(18);
select first tl.parent_id into @retval from tree_link_view as tl join object_reference_view as o on tl.parent_id = o.id where
tl.link_id = @obj_id and tl.link_type_id = @linktype and o.type_id = @obj_type order by tl.cd asc;
return @retval
end
Keеp нужен для того, что при каждой перерисовке формы (например, если ее растягивать, событие перерисовки возникнет несколько десятокв раз) осуществлялось чтение не из БД, а из буфера Лоции. Ведь если мы что с формы передаем, то на ней и отображается, иначе данные лучше непосредственно в действии получать.
Если нужен конкретный ГИП из нескольких, то нужно выбирать ВАСЮ именно в его составе и использовать a_TLinkID. Если это невозможно, тогда поможет пожалуй использование массивов в Workflow, но это дело достаточно муторное.