Параметры интерфейса

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

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

Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Параметры интерфейса

Сообщение Руслан »

Подскажите, пожалуйста, параметры интерфейса L_KATORG::KATORG (каталог организаций).
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Параметры интерфейса

Сообщение edward_K »

L_KatOrg.chm
DefaultOrganizationRef : Comp
DefaultBankRef : Comp
param : Word
А вот это из других источников
DefaultOrganizationRef // организация для установки по умолчанию
, DefaultBankRef // банк для установки по умолчанию
// если DefaultOrganizationRef = -1 то в DefaultBankRef группа в которую будет осуществляться insert
, param; // 0 - в DefaultOrganizationRef NRec KatOrg
// 1 - в DefaultOrganizationRef NRec KatOrgDescr

Вообще вам достаточно посмотреть описание параметров в доке(exe\galdoc), найти место в галактике, где идет вызов с нужным видом и вычислить параметры по Ctrl+F4 - в 99 случаев из 100 этого хватит.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Параметры интерфейса

Сообщение Алексей »

да, но вот что мешало прописать то, что из других источников, в тот же chm, вопрос :)
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Параметры интерфейса

Сообщение edward_K »

эти chm -ки собираются в автомате по директивам #doc, следовательно программист поленился слегка.
Вообще лучше юзать объекты - к ним идут vih с более подробным описанием.
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Параметры интерфейса

Сообщение Руслан »

Как мне вызывать интерфейс организаций в своем интерфейсе и потом передавать параметр nrec организации в свой интерфейс. Сделал так, но интерфейс организации не закрывается при ее выборе, а раскрывается на редактирование...

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

Interface viborxls_plan 'Выбор  .xls-файла' Cyan, Doaccept;
!show at (,,,);
show at (,,85,10);
create view view01
var
 sXlFileName0 : string;
 d1, d2 : date;
 DefaultOrganizationRef : comp;
 corg : comp;
   as select * from X$USERS;
Parameters
  sXlFileName0, d1, d2, DefaultOrganizationRef;
  Screen GetParameters;
  Show at (,,75,7);
fields
sXlFileName0 ('Выбор .xls-файла',,): noprotect, PickButton, {Font = {BackColor = if (sXlFileName0 = '', 16, 0)}};
      d1 : noProtect;
      d2 : noProtect;
	  corg : pickButton, Protect;
       Buttons
       cmOK, Default,,,;
       cmCancel,,,,;


<<     'Выбор пути и имени .xls-файла'

 `Путь к .xls-файлу:`  .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

	   с .@@@@@@@@@@@@ по .@@@@@@@@@@@@

	      .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            <. OK .>    <. Отмена .>

>>
end; // screen1

HandleEvent // Good Luck:))

cmInit :
{
   sXlFileName0:= '';
}

cmPick :
{
      case CurField of
        #sXlFileName0 : sXlFileName0:=GetFileName('*.xls', 'Выберите исходный .xls-файл ');
      end;
      case curfield of
	    #corg : RunInterface('L_KATORG::KATORG', DefaultOrganizationRef );
	  end;

RescanPanel(GetParameters);
} // cmPick end

cmOK :
{
   CloseInterface (cmOk);
}
cmCancel:
{  sXlFileName0 := ''
   CloseInterface (cmCancel);
}
end;
end.

m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Параметры интерфейса

Сообщение m0p3e »

Выбор организации:
Interface GetKator

Parameters
c1 // код организации
, _UpperGroup // код верхнего уровня (пока невозвращаемый из-за ошибки тлантиса)
, ExChoise // true - позволяет выбрать группу, а не только контрагента
, g1 // код группы
, c3; // код банка
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Параметры интерфейса

Сообщение Руслан »

m0p3e писал(а):Выбор организации:
Interface GetKator

Parameters
c1 // код организации
, _UpperGroup // код верхнего уровня (пока невозвращаемый из-за ошибки тлантиса)
, ExChoise // true - позволяет выбрать группу, а не только контрагента
, g1 // код группы
, c3; // код банка
У меня пишет, что такой интерфейс не найден. И мне нужно, чтобы возвращало nrec организации.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Параметры интерфейса

Сообщение m0p3e »

Руслан писал(а): У меня пишет, что такой интерфейс не найден. И мне нужно, чтобы возвращало nrec организации.
Как это нету? Всю жисть был! :)
Попробуйте модуль указать:

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

L_Katorg::GetKator
Возврат выбранной организации через первый параметр - c1;
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Параметры интерфейса

Сообщение Руслан »

Теперь интерфейс с указанием модуля нашелся. Но когда я выбираю организацию у меня в поле pickbutton остается 0000000000000000h вместо названия организации.
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Параметры интерфейса

Сообщение Den »

Ну какое поле описали видимым в screen - такое и отображается...
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Параметры интерфейса

Сообщение Руслан »

Поставил это поле типом string, 0000000000000000h пропало, но имя организации этому полю при выборе из интерфейса все равно не присваивает.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Параметры интерфейса

Сообщение edward_K »

1. Интерфейсы редко анализируют тип поля, и если это есть то тип переменной variant
2. В логическую таблицу добавьте
and corg == Katorg.Nrec
3. На экране соотв. нужно добавить Table Katorg; (может быть любая - но после каждого выбора следует делать ReScanPanel(#Katorg) например.
4. Поле corg должно быть типа comp
5. На экране и в case curfield of #corg замените corg на Katorg.Name
6. Фейс нужно вызвать с cOrg , а не с какой то левой переменной - как у вас из одной попадет в другую? Атлантис не обладает таким интелектуалом(ди и не один другой язык не видел - что укажете в параметрах, то и будет задаваться).
После исправления приведите снова всеь фейс.
Посмотрите на форуме и в vipprogr.chm - хватает примеров.
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Параметры интерфейса

Сообщение Руслан »

Исправил, но теперь полю присваивается nrec выбранной организации, а нужно чтобы имя светилось:

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

Interface viborxls_plan 'Выбор  .xls-файла' Cyan, Doaccept;
!show at (,,,);
show at (,,85,10);
create view view01
var
 sXlFileName0 : string;
 d1, d2 : date;
 c1 : comp;
 corg : comp;
   as select * from X$USERS, katorg
   where
   ((
   corg == Katorg.Nrec
   ));
Parameters
  sXlFileName0, d1, d2, corg;
  Screen GetParameters;
  Show at (,,75,7);
fields
sXlFileName0 ('Выбор .xls-файла',,): noprotect, PickButton, {Font = {BackColor = if (sXlFileName0 = '', 16, 0)}};
      d1 : noProtect;
      d2 : noProtect;
	  corg : pickButton, Protect;
       Buttons
       cmOK, Default,,,;
       cmCancel,,,,;


<<     'Выбор пути и имени .xls-файла'

 `Путь к .xls-файлу:`  .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

	   с .@@@@@@@@@@@@ по .@@@@@@@@@@@@

	      .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            <. OK .>    <. Отмена .>

>>
end; // screen1

HandleEvent // Good Luck:))

cmInit :
{
   sXlFileName0:= '';
}

cmPick :
{
      case CurField of
        #sXlFileName0 : sXlFileName0:=GetFileName('*.xls', 'Выберите исходный .xls-файл ');
      end;
      case curfield of
!	    #corg : RunInterface('L_KATORG::KATORG', DefaultOrganizationRef );
	    #corg : RunInterface('L_Katorg::GetKator', corg );
	  end;

RescanPanel(GetParameters);
} // cmPick end

cmOK :
{
   CloseInterface (cmOk);
}
cmCancel:
{  sXlFileName0 := ''
   CloseInterface (cmCancel);
}
end;
end.

edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Параметры интерфейса

Сообщение edward_K »

ну а 5 и 3 пункт кто будет делать?
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

Re: Параметры интерфейса

Сообщение Руслан »

edward_K писал(а):ну а 5 и 3 пункт кто будет делать?
Сделал эти пункты, но в поле по-прежнему стоит 0000000000000000h и интерфейс вообще не открывается:

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

Interface viborxls_plan 'Выбор  .xls-файла' Cyan, Doaccept;
!show at (,,,);
show at (,,85,10);
create view view01
var
 sXlFileName0 : string;
 d1, d2 : date;
 c1 : comp;
 corg : comp;
   as select * from X$USERS, katorg
   where
   ((
   corg == Katorg.Nrec
   ));
Parameters
  sXlFileName0, d1, d2, corg;
  Screen GetParameters;
  Show at (,,75,7);
  table katorg;
fields
sXlFileName0 ('Выбор .xls-файла',,): noprotect, PickButton, {Font = {BackColor = if (sXlFileName0 = '', 16, 0)}};
      d1 : noProtect;
      d2 : noProtect;
	  corg : pickButton, Protect;
       Buttons
       cmOK, Default,,,;
       cmCancel,,,,;


<<     'Выбор пути и имени .xls-файла'

 `Путь к .xls-файлу:`  .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

	   с .@@@@@@@@@@@@ по .@@@@@@@@@@@@

	      .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            <. OK .>    <. Отмена .>

>>
end; // screen1

HandleEvent // Good Luck:))

cmInit :
{
   sXlFileName0:= '';
}

cmPick :
{
      case CurField of
        #sXlFileName0 : sXlFileName0:=GetFileName('*.xls', 'Выберите исходный .xls-файл ');
      end;
      case curfield of
!	    #corg : RunInterface('L_KATORG::KATORG', DefaultOrganizationRef );
	    #katorg.name : RunInterface('L_Katorg::GetKator', corg );
	  end;
ReScanPanel(#Katorg);
RescanPanel(GetParameters);
} // cmPick end

cmOK :
{
   CloseInterface (cmOk);
}
cmCancel:
{  sXlFileName0 := ''
   CloseInterface (cmCancel);
}
end;
end.

Ответить