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

Конфигуратор cfsCreateObject в разные окна один ExtAttr

Добавлено: 04 дек 2014, 17:12
Masygreen
В общем сабж.. в 9 разделили окна в платежном поручении. Сделали два разных для собственных и сторонних ПП.
Задача - добавить внешний атрибут в оба окна... (координаты убал чтоб места меньше было)
Определяем контейнер

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

    inherited:: HandleEvent(cmInit);
    cfsSetCurrentContainer(cfsGetCurrentContainerSelf);//интерфейс 'F_PLPOR::PLPOR'
Добавляем лейбл

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

    cfsCreateObject(cfcLabel, 'SCPLDOCEDITPP', 'LbExtAttr: PLPOR,281474976710689', false, _iObjSp10); //название таблы, номер нрек AttrNam
    cfsSetProp(_iObjSp10, cfpTitle, '№ стр.');
    cfsSetProp(_iObjSp10, cfpVisible, TRUE);
    cfsSetProp(_iObjSp10, cfpPickButton, TRUE);
    cfsSetProp(_iObjSp10, cfpFieldName, 'LbExtAttr: PLPOR,281474976710689,Номер страницы,0');  //attrnam.name,attrnam.attrtype
    cfsSetProp(_iObjSp10, 'Original', False);
добавляем внешний аттрибут

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

    cfsCreateObject(cfcPanelInputLine, 'SCPLDOCEDITPP', 'ExtAttr: PLPOR,281474976710689', false, _iObjSp09); //название таблы, attrnam.nrec
    cfsSetProp(_iObjSp09, 'StatusCtx', 150);
    cfsSetProp(_iObjSp09, 'Original', False);

    cfsSetProp(_iObjSp09, cfpVisible, TRUE);
    cfsSetProp(_iObjSp09, cfpProtect, False);
    cfsSetProp(_iObjSp09, cfpPickButton, False);
    cfsSetProp(_iObjSp09, cfpOriginal, false);
    cfsSetProp(_iObjSp09, cfpFieldName, 'ExtAttr: PLPOR,281474976710689,Номер страницы,0');  //attrnam.name,attrnam.attrtype          //   
=============================================================================================================================================

добавляем во второе окно

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

    cfsSetCurrentContainer('F_PLPOR::PLPOR.WIPLDOCEDIT.SCPLDOCEDITPP_KVO')//эта строчка нафиг не нужна, но на всякий случай (нет разницы добавляю её или нет)
лейбл проходит

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

    cfsCreateObject(cfcLabel, 'SCPLDOCEDITPP_KVO', 'LbExtAttr: PLPOR,281474976710689#1', false, iObj10); //название таблы, номер нрек AttrNam
    cfsSetProp(iObj10, cfpTitle, '№ стр.');
    cfsSetProp(iObj10, cfpVisible, TRUE);
    cfsSetProp(iObj10, cfpPickButton, TRUE);
    cfsSetProp(iObj10, cfpFieldName, 'LbExtAttr: PLPOR,281474976710689,Номер страницы,0');  //attrnam.name,attrnam.attrtype
а вот сам внешний атрибут фигу, не добавляется (-4 = Уже есть объект с таким именем, как у создаваемого объекта)

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

    message(cfsCreateObject(cfcPanelInputLine, 'SCPLDOCEDITPP_KVO', 'ExtAttr: PLPOR,281474976710689', false, iObj09)); //название таблы, attrnam.nrec
   cfsSetProp(iObj09, 'name', 'ExtAttr: PLPOR,281474976710689#1');
    cfsSetProp(iObj09, 'StatusCtx', 150);

    cfsSetProp(iObj09, cfpVisible, TRUE);
    cfsSetProp(iObj09, cfpProtect, False);
    cfsSetProp(iObj09, cfpPickButton, False);
    cfsSetProp(iObj09, 'Original', false);
    cfsSetProp(iObj09, cfpFieldName, 'ExtAttr: PLPOR,281474976710689,Номер страницы,0');  //attrnam.name,attrnam.attrtype          //            
где косячу?

Re: Конфигуратор cfsCreateObject в разные окна один ExtAttr

Добавлено: 04 дек 2014, 17:21
RAJAH
Вроде бы, надо уникальные имена давать: 'ExtAttr: PLPOR,281474976710689' уже есть, надо 'ExtAttr: PLPOR,281474976710689#1'

Re: Конфигуратор cfsCreateObject в разные окна один ExtAttr

Добавлено: 04 дек 2014, 17:24
Masygreen
RAJAH писал(а):Вроде бы, надо уникальные имена давать: 'ExtAttr: PLPOR,281474976710689' уже есть, надо 'ExtAttr: PLPOR,281474976710689#1'

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

cfsCreateObject(cfcPanelInputLine, 'SCPLDOCEDITPP_KVO', 'ExtAttr: PLPOR,281474976710689#1', false, iObj09)
пробовал .. тогда галактика ругается что не может интерпретировать поле ( и ошибку "Нельзя создать объект в указанном контейнере"

Re: Конфигуратор cfsCreateObject в разные окна один ExtAttr

Добавлено: 04 дек 2014, 17:33
RAJAH
Ну, не знаю... Я cnf делаю, там прокатывает:

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

object 'ExtAttr: PLPOR,281474976710873#1' : PanelInputLine {
...

Re: Конфигуратор cfsCreateObject в разные окна один ExtAttr

Добавлено: 04 дек 2014, 17:38
Masygreen
RAJAH писал(а):Ну, не знаю... Я cnf делаю, там прокатывает:

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

object 'ExtAttr: PLPOR,281474976710873#1' : PanelInputLine {
...
да в конфигураторе все понятно, там прокатывает. А вот в докомпиляции нет ( или где-то есть нюанс

Re: Конфигуратор cfsCreateObject в разные окна один ExtAttr

Добавлено: 04 дек 2014, 18:20
edward_K
А чего вы создаете то как ExtAttr: PLPOR,281474976710689? Создавать нужно как раз с #1. А вот field уже менять по обстоятельствам.
Создайте cnf с 2 добавленными атрибутами и смотрите. Вообще cnf иногда проще сделать - не надо заботиться с маштабированием на разных шрифтах. Главное создать ее на стандартных и все.

Re: Конфигуратор cfsCreateObject в разные окна один ExtAttr

Добавлено: 08 дек 2014, 11:54
Masygreen
edward_K писал(а):А чего вы создаете то как ExtAttr: PLPOR,281474976710689? Создавать нужно как раз с #1. А вот field уже менять по обстоятельствам.
Создайте cnf с 2 добавленными атрибутами и смотрите. Вообще cnf иногда проще сделать - не надо заботиться с маштабированием на разных шрифтах. Главное создать ее на стандартных и все.
ну там создаются кнопки и к ним вяжутся функции, этого конфигуратором не сделаешь (наверно), за одно двигаются поля и добавляются атрибуты... пока это было одно окно все было ОК.. теперь нет .. не понял насчет создания #1