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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

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

Сообщение 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          //            
где косячу?
Время ведет!
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

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

Сообщение RAJAH »

Вроде бы, надо уникальные имена давать: 'ExtAttr: PLPOR,281474976710689' уже есть, надо 'ExtAttr: PLPOR,281474976710689#1'
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

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

Сообщение Masygreen »

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

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

cfsCreateObject(cfcPanelInputLine, 'SCPLDOCEDITPP_KVO', 'ExtAttr: PLPOR,281474976710689#1', false, iObj09)
пробовал .. тогда галактика ругается что не может интерпретировать поле ( и ошибку "Нельзя создать объект в указанном контейнере"
Время ведет!
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

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

Сообщение RAJAH »

Ну, не знаю... Я cnf делаю, там прокатывает:

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

object 'ExtAttr: PLPOR,281474976710873#1' : PanelInputLine {
...
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

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

Сообщение Masygreen »

RAJAH писал(а):Ну, не знаю... Я cnf делаю, там прокатывает:

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

object 'ExtAttr: PLPOR,281474976710873#1' : PanelInputLine {
...
да в конфигураторе все понятно, там прокатывает. А вот в докомпиляции нет ( или где-то есть нюанс
Время ведет!
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

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

Сообщение edward_K »

А чего вы создаете то как ExtAttr: PLPOR,281474976710689? Создавать нужно как раз с #1. А вот field уже менять по обстоятельствам.
Создайте cnf с 2 добавленными атрибутами и смотрите. Вообще cnf иногда проще сделать - не надо заботиться с маштабированием на разных шрифтах. Главное создать ее на стандартных и все.
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

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

Сообщение Masygreen »

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