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

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

Добавлено: 27 мар 2014, 13:44
Руслан
Подскажите, пожалуйста, параметры интерфейса L_KATORG::KATORG (каталог организаций).

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

Добавлено: 27 мар 2014, 15:26
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 этого хватит.

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

Добавлено: 27 мар 2014, 15:29
Алексей
да, но вот что мешало прописать то, что из других источников, в тот же chm, вопрос :)

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

Добавлено: 27 мар 2014, 15:36
edward_K
эти chm -ки собираются в автомате по директивам #doc, следовательно программист поленился слегка.
Вообще лучше юзать объекты - к ним идут vih с более подробным описанием.

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

Добавлено: 27 мар 2014, 18:54
Руслан
Как мне вызывать интерфейс организаций в своем интерфейсе и потом передавать параметр 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.


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

Добавлено: 27 мар 2014, 19:12
m0p3e
Выбор организации:
Interface GetKator

Parameters
c1 // код организации
, _UpperGroup // код верхнего уровня (пока невозвращаемый из-за ошибки тлантиса)
, ExChoise // true - позволяет выбрать группу, а не только контрагента
, g1 // код группы
, c3; // код банка

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

Добавлено: 27 мар 2014, 19:18
Руслан
m0p3e писал(а):Выбор организации:
Interface GetKator

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

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

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

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

L_Katorg::GetKator
Возврат выбранной организации через первый параметр - c1;

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

Добавлено: 28 мар 2014, 11:13
Руслан
Теперь интерфейс с указанием модуля нашелся. Но когда я выбираю организацию у меня в поле pickbutton остается 0000000000000000h вместо названия организации.

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

Добавлено: 28 мар 2014, 12:14
Den
Ну какое поле описали видимым в screen - такое и отображается...

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

Добавлено: 28 мар 2014, 12:22
Руслан
Поставил это поле типом string, 0000000000000000h пропало, но имя организации этому полю при выборе из интерфейса все равно не присваивает.

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

Добавлено: 28 мар 2014, 12:33
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 - хватает примеров.

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

Добавлено: 28 мар 2014, 12:48
Руслан
Исправил, но теперь полю присваивается 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.


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

Добавлено: 28 мар 2014, 12:55
edward_K
ну а 5 и 3 пункт кто будет делать?

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

Добавлено: 28 мар 2014, 13:07
Руслан
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.