vlad_simple писал(а):
Функция открытия документа архива есть, а вот функции получения документа по объекту нет!!
в этом нет ничего странного, это следует из структуры данных. документ привязан к ОДНОМУ объекту, поэтому однозначно определить объект по документу можно одной функцией. то же самое - с определением документа по версии, такая функция есть.
а вот обратно - нет. в одном объекте может быть несколько документов. в одном документе - несколько версий. какую из них должна вернуть функция?? а открывать функцией можно тот документ, который юзер выберет в стандартном интерфейсе (хотя не помню, чтобы такое у нас использовалось

)
можно говорить о случае с одним документом и одной версией и функции для этого случая, но...

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

, но для получения единственного документа из объекта в действии можно использовать вот такую функцию:
Код: Выделить всё
Doc = SetById (number( f_ExecSQLSelect_2 (select top 1 id from lsdbo.file_v where object_reference_id = ' +a_Object , '','') ))
, где a_object - текущий объект, Doc - переменная типа Документ архива
ну это мы получим документ, а не его версию. хотя, в случае с единственной версией у документа этот запрос возвращает как раз ее ИД.
а вот когда документов в объекте несколько - там уже могут быть вариации..