Страница 1 из 1

Внешний атрибут. alter interface, компиляция cnf

Добавлено: 12 фев 2013, 14:27
Masygreen
Не догоню как добавить внешний атрибут в форму ..
с кнопкой в форме понятно, а вот поле внешний аттрибут О_о

Код: Выделить всё

    cfsCreateObject(cfcButton, 'SCPLDOCEDITPP', 'MyFuncStr01', FALSE, iObj01);
    cfsSetProp(iObj01, cfpOrigin_X, 576);
    cfsSetProp(iObj01, cfpOrigin_Y, 236);
    cfsSetProp(iObj01, cfpSize_X, 67);
    cfsSetProp(iObj01, cfpSize_Y, 28);
    cfsSetProp(iObj01, cfpCommand, cmMyFuncStr01);
    cfsSetProp(iObj01, cfpVisible, TRUE);
    cfsSetProp(iObj01, cfpTitle, 'название кнопки');  

Re: Внешний атрибут. alter interface, компиляция cnf

Добавлено: 12 фев 2013, 16:26
Dmitry_Sol
Я Делаю так.

Код: Выделить всё

					 var pobj2:longint;
					 pobj2:=0;
//                                                                                                          название таблы, номер нрек AttrNam                
					 cfsCreateObject('PanelInputLine','SCVSCHET', 'ExtAttr: BASEDOC,14073748835532836', false, pobj2);
					 cfsSetProp(pobj2, 'Original', 'false');
					 cfsSetProp(pobj2, 'StatusCtx', 150);
					 cfsSetProp(pobj2, 'Origin_X', 130);
//                                                                                                                         ,attrnam.name,attrnam.attrtype 
                     cfsSetProp(pobj2, 'FieldName','ExtAttr: BASEDOC,14073748835532836,подр,5');
					 cfsSetProp(pobj2, 'Origin_Y', 123);
					 cfsSetProp(pobj2, 'Size_X'  , 395);
					 cfsSetProp(pobj2, 'Size_Y'  , 14 );
					 cfsSetProp(pobj2, 'Visible', True);
					 cfsSetProp(pobj2, 'Protect', True);
					 cfsSetProp(pobj2, 'PickButton', True);


Re: Внешний атрибут. alter interface, компиляция cnf

Добавлено: 12 фев 2013, 17:02
Masygreen
Dmitry_Sol писал(а):Я Делаю так.
круто .. отмодифил под константы .. все классно работает )

Код: Выделить всё

    cfsCreateObject(cfcPanelInputLine, 'SCPLDOCEDITPP', 'ExtAttr: PLPOR,281474976710676', false, iObj03);
    cfsSetProp(iObj03, cfpOrigin_X, 322);
    cfsSetProp(iObj03, cfpOrigin_Y, 267);
    cfsSetProp(iObj03, cfpSize_X, 396);
    cfsSetProp(iObj03, cfpSize_Y, 16);
    cfsSetProp(iObj03, cfpVisible, TRUE);
    cfsSetProp(iObj03, cfpProtect, false);
    cfsSetProp(iObj03, cfpPickButton, TRUE);
    cfsSetProp(iObj03, cfpOriginal, false);
    cfsSetProp(iObj03, cfpFieldName, 'ExtAttr: PLPOR,281474976710676,траляля,5');  
а изменить существующий label нет случайно кода?

Re: Внешний атрибут. alter interface, компиляция cnf

Добавлено: 12 фев 2013, 17:11
Masygreen
я так понимаю надо сначала получить контейнер а потом сделать cfsSetProp

Re: Внешний атрибут. alter interface, компиляция cnf

Добавлено: 12 фев 2013, 17:14
Masygreen
блин сам разобрался .. контейнер то уже есть , а к объекту можно по имени обратися

Код: Выделить всё

cfsSetCurrentContainer('F_PLPOR::PLPOR');//интерфейс  
cfsSetProp('i_SCPLDOCEDITPP_sAppointment',cfpSize_X,130);

Re: Внешний атрибут. alter interface, компиляция cnf

Добавлено: 12 фев 2013, 17:19
Dmitry_Sol
Для создания label я пользую код

Код: Выделить всё

                     cfsCreateObject('Label','SCVSCHET', 'LbExtAttr: BASEDOC,14073748835532836', false, pobj2);
					 cfsSetProp(pobj2, 'Original', 'false');
					 cfsSetProp(pobj2, 'Origin_X',10);
                                         cfsSetProp(pobj2, 'Title','подразделение');
					 cfsSetProp(pobj2, 'Origin_Y', 123);
					 cfsSetProp(pobj2, 'Size_X'  , 100);
					 cfsSetProp(pobj2, 'Size_Y'  , 14 );
					 cfsSetProp(pobj2, 'Visible', True);
					 cfsSetProp(pobj2, 'PickButton', True);
а если надо label подправить, то сначала конфигуратором смотрю его имя, а потом пишу так:

Код: Выделить всё

cfsSetProp('L_SCVSCHET_Примечания', 'Title', 'мычания');
cfsSetProp - может работать как с ссылкой на контейнер, так и с названием контейнера. Мне почему то проще работать с названием

Re: Внешний атрибут. alter interface, компиляция cnf

Добавлено: 12 фев 2013, 20:09
Masygreen
чорт .. чуть голову не сломал

оказалось - не одно и тоже ... О_о

Код: Выделить всё

cfsSetProp(iObj03,'StatusCtx',150);
и

Код: Выделить всё

cfsSetProp(iObj03, cfpStatusCtx, scExtAttrComp); 

Re: Внешний атрибут. alter interface, компиляция cnf

Добавлено: 29 мар 2013, 13:21
savov
А вот такой вопрос.
Надо добавить внешний атрибут в фейс. Фейс содержит два броузера, они включаются для иерархического и линейного отображения ( т.е. всегда виден только один). Надо добавить один и тот же внешний атрибут в каждый.
Пишу:

Код: Выделить всё

Alter interface KATBOXESEDIT;
    overload   end;


    var TMyFAn :longint	;
    var MyFAn :longint	;

    HandleEvent
    cmInit:
    {
    inherited::handleEvent(cmInit);       


    cfsSetCurrentContainer('L_BOX::KATBOXESEDIT.TRBOXESIER');

    cfsCreateObject('TreeColumn', 'TRBOXESIER', 'ExtAttr: KATBOX,562949953422457', FALSE, TMyFAn);
       cfsSetProp ( TMyFAn, cfpVisible,TRUE);
       cfsSetProp ( TMyFAn, cfpTitle, 'Вирт. склад');
       cfsSetProp ( TMyFAn, cfpMaxLen, 150 );

    cfsSetCurrentContainer('L_BOX::KATBOXESEDIT.BRBOXES');

    cfsCreateObject('Column', 'BRBOXES', 'VirtSklad', FALSE, MyFAn);
       cfsSetProp ( MyFAn, cfpFieldName,'ExtAttr: KATBOX,562949953422457');
       cfsSetProp ( MyFAn, cfpVisible,TRUE);
       cfsSetProp ( MyFAn, cfpTitle, 'Вирт. склад');
       cfsSetProp ( MyFAn, cfpMaxLen, 150 );

    }
В первый броузер добавляет нормально, на второй ругается, что нельзя разобрать поле VirtSklad. Пробовал 'ExtAttr: KATBOX,562949953422457#1' ( так обзывает конфигуратор, если руками добавлять), реакция та же.
Как можно один и тот же внешний атрибут добавить в два броузера, входящие в один интерфейс?

Re: Внешний атрибут. alter interface, компиляция cnf

Добавлено: 29 мар 2013, 14:48
Den
...
cfsCreateObject('TreeColumn'....
cfsSetProp ( TMyFAn, 'name','ExtAttr: KATBOX,281474976712251#2');
....

Re: Внешний атрибут. alter interface, компиляция cnf

Добавлено: 29 мар 2013, 15:18
savov
Оригинально, спасибо! Плюс