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

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

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

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

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

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

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

Поиск со всеми входящими с учетом документов

Автор MrREN, 27.10.15, 10:37:11

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

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

MrREN

Всем доброго времени суток.Возник такой вопрос, кто нибудь сталкивался с методом поиска по связям с учетом документов?Поиск по связям организовал, но вот как ввести учет документов?Все данные после выводятся на отчет в FastReport.Буду премного благодарен за любую информацию по теме.


MrREN

Мне нужно в отчет вывести все объекты заданной СЕ по типу связи "Состоит из ...",при таком поиске выводятся только объекты,но мне нужно вывести еще документы(названия документов и тп).

Manuylov


MrREN


Manuylov


MrREN

Пробовал,выдает ошибку 'Invalid Data packet'


MrREN

svaz.Data:=DCOMConnection.AppServer.GetLinkedObjectsAndFiles('%',findob.FieldByName('_PRODUCT').AsString,0, True, False, inErrCode, stErrMess);

Chaa

1. Общий принцип вызова методов СП должен быть таким:

var
    LData: OleVariant;
    inErrCode, stErrMess: OleVariant;
begin
    LData := DCOMConnection.AppServer.GetLinkedObjectsAndFiles(..., inErrCode, stErrMess);
    if inErrCode <> 0 then
        raise EServerException.Create(stErrMess, inErrCode);
    svaz.Data := LData;

Т.е. сначала проверяете наличие ошибки, потом используете возвращаемое значение.

2. По поводу вызова GetLinkedObjectsAndFiles. Параметры stTypeName - stProductName - stVersionNumber однозначно идентифицируют объект, для которого вы хотите получить связанные объекты и файлы. Передавать в них что попало нельзя.

MrREN

Так я передаю ни что попало,а передаю объект,который находится в другом наборе данных в филде _PRODUCT

Manuylov

svaz.Data:=DCOMConnection.AppServer.GetLinkedObjectsAndFiles('%',findob.FieldByName('_PRODUCT').AsString,0, True, False, inErrCode, stErrMess);

это что?

MrREN

'%' - пустое поле Тип Объекта, 0 - параметр _ID_VERSION , ставлю ноль, дабы поиск шел по полю _PRODUCT

Manuylov

см.
Цитата: Chaa от 28.10.15, 06:31:28
2. По поводу вызова GetLinkedObjectsAndFiles. Параметры stTypeName - stProductName - stVersionNumber однозначно идентифицируют объект, для которого вы хотите получить связанные объекты и файлы. Передавать в них что попало нельзя.

Variant GetLinkedObjectsAndFiles(
BSTR stTypeName,                // название типа
BSTR stProductName,                // ключевой атрибут
BSTR stVersionNumber,                // версия объекта
BSTR stLinkType,                // тип связи
WordBool boFullLink,                // признак полной разузловки
WordBool boViewOnlyDocuments,        // зарезервирован (должен быть False)
Variant inReturnCode,                // код возврата
Variant stErrorMessage,                // сообщение об ошибке
);


MrREN

Так не обязательно же все поля заполнять,не первый день с методами этими работаю,всегда достаточно было указать один верный параметр и все.А вот в чем проблема сейчас,понять никак не могу

Chaa

Проблема именно в этих параметрах. Если вы посмотрите сообщение в stErrMess, то там будет написано что типа "Объект не найден". В stVersionNumber д.б. строка с номером версии объекта, а не идентификатор inIdVersion, как бывает в других функциях (и куда можно передать 0).

MrREN

я пробовал делать поиск и по _ID_VERSION, эффект остался прежним

Manuylov

У меня Лоцман 2013
в справке перечислено 8 параметров, в примере только 7 - ?

ещё надо обратить внимание на типы параметров

Chaa


MrREN

EServerException компилятор не пропускает,сделал через GetTree, но документы он  не отображает в отчете