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

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

Добавлено: 27 июн 2014, 12:08
Руслан
edward_K писал(а):vih указывается до Interface
Var по ситуации, обычно после.
Именно так и сделал:

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

#include %src%\src\GetKau.vih
interface Normzapas 'Нормы страхового запаса';
#include %src%\src\GetKau.var
 show   at   (,,92,25);
 var
...

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

Добавлено: 27 июн 2014, 13:44
Руслан
Проект такой:

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

#component "SF_DOC"
const
#statusline "statgal"
#include "%src%\SRC\GALNET.CSC"
#include "%src%\SRC\galnet.inc"
end;
#make "%src%\src\iKKMC.vip"
#make "%src%\src\AddMenu.vip"
#make "%src%\src\normzapas.vip"
Ругается Ошибка: Ожидался идентификатор (стр.3, поз.1 в D:\net\VIP\test\PROEKT\add_cu_menu\debug.prj)
│ #statusline "statgal"

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

Добавлено: 27 июн 2014, 14:02
edward_K
#statusline "statgal"
должен идти первой строкой проекта, ну уж никак не в const
а galnet.inc содержит свой const

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

Добавлено: 27 июн 2014, 14:13
Руслан
Так тоже ругается, поставил первой строчкой:
Ошибка: Не могу загрузить StatusLine : statgal (стр.1, поз.22 в D:\net\VIP\test\PROEKT\add_cu_menu\debug.prj)
│ #statusline "statgal"

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

Добавлено: 27 июн 2014, 14:18
edward_K
ну значит вы компилите без ресов галактических. Уберите, но без нее могут не так работать события в фейсе.

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

Добавлено: 27 июн 2014, 14:26
Руслан
Подключил ресурс c_statline, теперь ругается на GalNet.inc:
Ошибка: Ожидался идентификатор (стр.7, поз.1 в D:\NET\VIP\TEST\PROEKT\ADD_CU_MENU\SRC\GALNET.INC)
│ #component "C_Const"

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

Добавлено: 11 июл 2014, 17:51
Руслан
Подскажите, пожалуйста, как использовать параметр интерфейса L_MCU::GetSomeMC_KatMC. Нужно выводить интерфейс выбора Мц без выбора количества. В мануале написано: доп. режимы работы -12345 если не нужно запрашивать кол-во. Прописываю и все равно выводит интерфейс выбора количества:

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

res := runinterface('L_MCU::GetSomeMC_KatMC', pmc, -12345);

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

Добавлено: 14 июл 2014, 00:45
edward_K
Видите ли. Как и в любом языке программирования значения менее важны, чем их последовательность.
Ну да есть перекрытие и т.п., но фейсы нужно всегда вызывать с правильным кол-вом параметров и их порядком.
Здесь их 3 а не 2.

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

Parameters
  pMC,     // KatMC.NRec (возвращаемый)
  pIsSome, // (TRUE-множественный выбор; FALSE-одиночный)
  pRezim   // доп. режимы работы
           // -12345, если не нужно запрашивать кол-во
           // -12346, то же + пометить все по умолчанию
           // -12347  без кол-ва, без удаления Pick
           // -12348  с инвертированием Pick-а
           // -12349  без кол-ва, выбирать только МЦ из маркера 'GetSomeParty_NRecSaldoMC'
           // -12350  подсветка серым МЦ не являющиеся комплектом
           // Возвращает в pRezim:
           //      -111    если Pick инвертирован  (только когда передавался параметр -12348)
           //       222    во всех остальных случаях
; 
Наверняка в логе компиляции вы получили 2 предупреждения - о несоответствии типов и о неправильном кол-ве параметров.

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

Добавлено: 14 июл 2014, 11:52
Руслан
edward_k, спасибо! Теперь интерфейс ввода количества не появляется. Только после выбора МЦ идет процесс "Сортировка данных" и галактика закрывается.

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

!#include %src%\make\vipInterface.h;
!#include %src%\src\GetKau.vih
!#include %src%\src\Galnet.ccm;
interface Normzapas 'Нормы страхового запаса';
!#include %src%\src\GetKau.var
 show   at   (,,92,25);
	const
	  cmPrintDoc = 3440;
	end;
 var
 	nr,mcnrec,katednrec,katpodrnrec,linenrec,formatnrec,katstannrec,ctitle,titlenrec,specnrec: comp;
	pptitlenrec,unitm:comp;
//	titlenrec:comp;
	wkl,grant_s, check_del, checkspecif,check_screen:boolean;
 	 res,check_i : word;
	 nmc:string;
	 pdate, pbdate, pedate : date;
	 statusnnrec:comp;
	 UnMea,plancopy:string;
	 somewindow:longint;
	 n:longint;
	 begindate,enddate:date;
	 sort1,teh_poteri,dek1,dek2,dek3,summ_plan,poludek1,poludek2,poludek3,summ_polu:double;
	 sum_gresbordur,gresbordur1,gresbordur2,gresbordur3:double;
	 sum_vstavka,vstavka1,vstavka2,vstavka3:double;
	 maxi,maxs:word;
	 butpick:longInt;
	 nomer_plana,formatname:string;
	 linia_name,podrasd,titlenpp:string;
	 status_plana,old_status,old_linia :comp;

create view normz
var status,linia_filter,grup_filter,format_filter, nomer_plana: word;
	x:integer;
	fldselect:longint;
	linia,gruppa,etalon,format,titlenrec,specifnrec,specifnrec2,specifnrec3, pmc:comp;
(Vsego,meash)
 as select katpodr.name,normzapas.npp, *
from normzapas, katpodr,katmc, x$users, katpodr katpodr_2, katmc katmc_2
where((	normzapas.cpodrazd==katpodr.nrec
   		and normzapas.cmc==katmc.nrec
	    and normzapas.atl_owner==x$users.atl_nrec
	    and katpodrnrec == katpodr_2.nrec
	    and pmc == katmc_2.nrec));

window NormCorrect 'Редактирование норм';
show at(,,,28);
toolbar F_Common::tbPrintDoc;
handleevent
    cmPrintDoc:
												{
													message ('Печать!!!');
												   UpdateTable();
												   res:=RunInterface('ireport',titlenrec);
												}
end;
			screen sCornormzapas(,,sci1EnEsc); //SciAqaSwitchItemName
			show at (,,,10);
			table katpodr;
			//table pptitle;
			bevel be1 {1,0,110,10,bsRaised, bsFrame};
				fields
					normzapas.pdate :noprotect;
					normzapas.pbdate:noprotect;
					normzapas.pedate:noprotect;
					normzapas.npp:noprotect,noPickButton; //:noprotect; //(,,sciAQACancel1)
					katpodr.name :pickButton, protect;

<<

                     Дата         Начало действия         Конец действия
                    .@@@@@@@@@      .@@@@@@@@@            .@@@@@@@@@
                    Номер            Структурное подразделение
		            .@@@@@@@@@@@@   .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>>
			end;
!			browse bCornormzapas(,,Sci13478Esc )//F1,F4,F7,F8,Esc//(,,sci178EnEsc)
				browse bCornormzapas(,,sci1478EnEscTreeI )//F1,F4,F7,F8,Esc//(,,sci178EnEsc)
						show at (,11,,22)
							  table katmc;
			 fields
					katmc.name 'Наименование МЦ' : [20], pickButton;
					normzapas.kol 'Количество':[5,'666.88'],noprotect,noPickButton;
			end;
end;

						  browse bnormzapas(,,Sci178EnEsc)
							  table normzapas;
							  fields
								  normzapas.pdate   'Дата' : [15] , protect, noAutoSize;
 								  normzapas.npp   'Номер' : [25], protect, noAutoSize;
								  katpodr.name   'Подразделение' : [25] , protect, noAutoSize;
							      x$users.xu$fullname 'Создатель':[20],protect,noAutoSize;
						  end;
						   //end;
						  tableevent table normzapas

							 cmSetDefault: {
														normzapas.pdate:=Cur_Date();
														normzapas.cpodrazd:=0;
														normzapas.npp := (normzapas.npp)+1;
														SetModified(true);
														UpDateTableWithInserted
														 PutCommand(cmDefault);
											}
							cmUpdateRecord :{ //if grant_s=false
							  					//{
												  	update current normzapas;
												//}
										 	}
							cmInsertRecord :{
							   					insert current normzapas;
												UpDatePanels();
											}
							cmDeleteRecord :
							{
							  if Message('Удалить нормы?', yesButton + noButton) = cmYes
								{
								    Delete Current normzapas;
								}

							}
							cmCheckRecord:
 							{
									MakeValid(#normzapas);
									if isvalid(#normzapas)
											{
									update current normzapas;
											}
									if isnew
											{
									Putcommand(cmInsertRecord);
											}

							}
							cmCheckField:
							  {
!									 message('dfsdf');
									updatetable;
									SetModified(true);
									  case CurField of
										#normzapas.pbdate:
										{
										  update current normzapas;
										  RescanPanel(#normzapas);
										}
										#normzapas.pedate:
										{
										  update current normzapas;
										  RescanPanel(#normzapas);
										}
										#normzapas.pdate:
										{
										  update current normzapas;
										  RescanPanel(#normzapas);
										}
										#normzapas.npp:
										{
									  	  update current normzapas;
										  RescanPanel(#normzapas);
										}
										end;
							  }
							end;

							handleEvent
										cmInit:
										{
!				    message('cminit2');
										 RescanPanel(Scornormzapas);
										   Rescanpanel(#normzapas);
										}
									cmPick:
									{
											  Updatetable();
											  case CurField of
												#katpodr.name:
												{
												  katpodrnrec:=normzapas.cpodrazd;
												  res:=RunInterface('Z_KATPODR::GETANYPODR',katpodrnrec);
												  normzapas.cpodrazd:=katpodrnrec
												  update current normzapas;
												if getfirst katpodr where((normzapas.cpodrazd==katpodr.nrec))=tsOk
												  {
												  }
												  RescanPanel(#normzapas);
												}
												#katmc.name:
												{
												pmc := normzapas.cmc;
												res := runinterface('L_MCU::GetSomeMC_KatMC', pmc, false, -12345);
!												res := runinterface('L_MCU::GetSomeMC', pmc);
!												res := runinterface('iGetKau.GetCodeKau', pmc);
												normzapas.cmc := pmc;
!					normzapas.kol := tmppick.kol;
												update current normzapas;
												if getfirst katmc where((normzapas.cmc==katmc.nrec))=tsOk
												  {
												  }
												RescanPanel(#normzapas);
												}
											  end;
										}
										cmCheckField : update current normzapas;
									cmCancel:
									{
									}
									cmPrintDoc:
											{
												message ('Печать!!!');
!				   titlenrec:=pptitle.atl_nrec;
											   UpdateTable();
											   res:=RunInterface('ireport',titlenrec);
											}
									cmClose:
									{
									   CloseWindow(cmDefault);
									}
									cmDefault:
									{
										   PutCommand(cmCheckField);
!			    message('cmdefault2');
										   runwindowmodal(NormCorrect);
									  Rescanpanel(#normzapas);
									}
									cmInsert:
									{
!			   message('cminsert1');
!			titlenrec:=normzapas.atl_nrec;
!			maxs:=normzapas.npp;
!			specnrec:=normzapas.npp;
!!			_loop normzapas where ((titlenrec==normzapas.atl_nrec))
!!			{
!			   if (maxs<normzapas.npp) or (maxs=normzapas.npp)
!			   {
!			   message('cminsert2');
!			   normzapas.npp:=normzapas.npp+1;
!				  	update current normzapas;
!			   }
!//			   maxs:=maxs+1;
!!			}
!			maxs:=maxs+1;
									}
									cmDelete:
									{

									}
									cmDone:
									{
! message('cmdone2');
										  rescanpanel(#normzapas);
									}
							end;
end.


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

Добавлено: 14 июл 2014, 14:06
edward_K
Ну для начала нужно понять -вылет идет в этом фейса или в вашем message сделайте. Я все таки за iGetKau. Бывает виноват индекс .

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

Добавлено: 14 июл 2014, 14:35
Руслан
Не совсем понял, где message ставить

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

Добавлено: 16 июл 2014, 09:48
edward_K
Сразу после вызова фейса

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

Добавлено: 16 июл 2014, 12:34
Руслан
edward_K писал(а):Сразу после вызова фейса
Поставил вывод сообщения. Message появляется, выкидывает кстати при повторном выборе МЦ, т.е. первый раз выбираю нормально, а второй раз если перевыбираешь, то происходит сортировка данных и выкидывает из Галактики:

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

!#include %src%\make\vipInterface.h;
!#include %src%\src\GetKau.vih
!#include %src%\src\Galnet.ccm;
interface Normzapas 'Нормы страхового запаса';
!#include %src%\src\GetKau.var
 show   at   (,,92,25);
	const
	  cmPrintDoc = 3440;
	end;
 var
 	nr,mcnrec,katednrec,katpodrnrec,linenrec,formatnrec,katstannrec,ctitle,titlenrec,specnrec: comp;
	pptitlenrec,unitm:comp;
//	titlenrec:comp;
	wkl,grant_s, check_del, checkspecif,check_screen:boolean;
 	 res,check_i : word;
	 nmc:string;
	 pdate, pbdate, pedate : date;
	 statusnnrec:comp;
	 UnMea,plancopy:string;
	 somewindow:longint;
	 n:longint;
	 begindate,enddate:date;
	 sort1,teh_poteri,dek1,dek2,dek3,summ_plan,poludek1,poludek2,poludek3,summ_polu:double;
	 sum_gresbordur,gresbordur1,gresbordur2,gresbordur3:double;
	 sum_vstavka,vstavka1,vstavka2,vstavka3:double;
	 maxi,maxs:word;
	 butpick:longInt;
	 nomer_plana,formatname:string;
	 linia_name,podrasd,titlenpp:string;
	 status_plana,old_status,old_linia :comp;

create view normz
var status,linia_filter,grup_filter,format_filter, nomer_plana: word;
	x:integer;
	fldselect:longint;
	linia,gruppa,etalon,format,titlenrec,specifnrec,specifnrec2,specifnrec3, pmc:comp;
(Vsego,meash)
 as select katpodr.name,normzapas.npp, *
from normzapas, katpodr,katmc, x$users, katpodr katpodr_2, katmc katmc_2
where((	normzapas.cpodrazd==katpodr.nrec
   		and normzapas.cmc==katmc.nrec
	    and normzapas.atl_owner==x$users.atl_nrec
	    and katpodrnrec == katpodr_2.nrec
	    and pmc == katmc_2.nrec));

window NormCorrect 'Редактирование норм';
show at(,,,28);
toolbar F_Common::tbPrintDoc;
handleevent
    cmPrintDoc:
												{
!													message ('Печать!!!');
												   UpdateTable();
												   res:=RunInterface('ireport',titlenrec);
												}
end;
			screen sCornormzapas(,,sci1EnEsc); //SciAqaSwitchItemName
			show at (,,,10);
			table katpodr;
			//table pptitle;
			bevel be1 {1,0,110,10,bsRaised, bsFrame};
				fields
					normzapas.pdate :noprotect;
					normzapas.pbdate:noprotect;
					normzapas.pedate:noprotect;
					normzapas.npp:noprotect,noPickButton; //:noprotect; //(,,sciAQACancel1)
					katpodr.name :pickButton, protect;

<<

                     Дата         Начало действия         Конец действия
                    .@@@@@@@@@      .@@@@@@@@@            .@@@@@@@@@
                    Номер            Структурное подразделение
		            .@@@@@@@@@@@@   .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>>
			end;
!			browse bCornormzapas(,,Sci13478Esc )//F1,F4,F7,F8,Esc//(,,sci178EnEsc)
				browse bCornormzapas(,,sci1478EnEscTreeI )//F1,F4,F7,F8,Esc//(,,sci178EnEsc)
						show at (,11,,22)
							  table katmc;
			 fields
					katmc.name 'Наименование МЦ' : [20], pickButton;
					normzapas.kol 'Количество':[5,'666.88'],noprotect,noPickButton;
			end;
end;

						  browse bnormzapas(,,Sci178EnEsc)
							  table normzapas;
							  fields
								  normzapas.pdate   'Дата' : [15] , protect, noAutoSize;
 								  normzapas.npp   'Номер' : [25], protect, noAutoSize;
								  katpodr.name   'Подразделение' : [25] , protect, noAutoSize;
							      x$users.xu$fullname 'Создатель':[20],protect,noAutoSize;
						  end;
						   //end;
						  tableevent table normzapas

							 cmSetDefault: {
														normzapas.pdate:=Cur_Date();
														normzapas.cpodrazd:=0;
														normzapas.npp := (normzapas.npp)+1;
														SetModified(true);
														UpDateTableWithInserted
														 PutCommand(cmDefault);
											}
							cmUpdateRecord :{ //if grant_s=false
							  					//{
												  	update current normzapas;
												//}
										 	}
							cmInsertRecord :{
							   					insert current normzapas;
												UpDatePanels();
											}
							cmDeleteRecord :
							{
							  if Message('Удалить нормы?', yesButton + noButton) = cmYes
								{
								    Delete Current normzapas;
								}

							}
							cmCheckRecord:
 							{
									MakeValid(#normzapas);
									if isvalid(#normzapas)
											{
									update current normzapas;
											}
									if isnew
											{
									Putcommand(cmInsertRecord);
											}

							}
							cmCheckField:
							  {
!									 message('dfsdf');
									updatetable;
									SetModified(true);
									  case CurField of
										#normzapas.pbdate:
										{
										  update current normzapas;
										  RescanPanel(#normzapas);
										}
										#normzapas.pedate:
										{
										  update current normzapas;
										  RescanPanel(#normzapas);
										}
										#normzapas.pdate:
										{
										  update current normzapas;
										  RescanPanel(#normzapas);
										}
										#normzapas.npp:
										{
									  	  update current normzapas;
										  RescanPanel(#normzapas);
										}
										end;
							  }
							end;

							handleEvent
										cmInit:
										{
!				    message('cminit2');
										 RescanPanel(Scornormzapas);
										   Rescanpanel(#normzapas);
										}
									cmPick:
									{
											  Updatetable();
											  case CurField of
												#katpodr.name:
												{
												  katpodrnrec:=normzapas.cpodrazd;
												  res:=RunInterface('Z_KATPODR::GETANYPODR',katpodrnrec);
												  normzapas.cpodrazd:=katpodrnrec
												  update current normzapas;
												if getfirst katpodr where((normzapas.cpodrazd==katpodr.nrec))=tsOk
												  {
												  }
												  RescanPanel(#normzapas);
												}
												#katmc.name:
												{
												pmc := normzapas.cmc;
												res := runinterface('L_MCU::GetSomeMC_KatMC', pmc, false, -12345);//вызов интерфейса выбора МЦ без ввода количества
												message ('katmc');
!												res := runinterface('L_MCU::GetSomeMC', pmc);
!												res := runinterface('iGetKau.GetCodeKau', pmc);
												normzapas.cmc := pmc;
!					normzapas.kol := tmppick.kol;
												update current normzapas;
												if getfirst katmc where((normzapas.cmc==katmc.nrec))=tsOk
												  {
												  }
												RescanPanel(#normzapas);
												}
											  end;
										}
										cmCheckField : update current normzapas;
									cmCancel:
									{
									}
									cmPrintDoc:
											{
!												message ('Печать!!!');
!				   titlenrec:=pptitle.atl_nrec;
											   UpdateTable();
											   res:=RunInterface('ireport',titlenrec);
											}
									cmClose:
									{
									   CloseWindow(cmDefault);
									}
									cmDefault:
									{
										   PutCommand(cmCheckField);
!			    message('cmdefault2');
										   runwindowmodal(NormCorrect);
									  Rescanpanel(#normzapas);
									}
									cmInsert:
									{
!			   message('cminsert1');
!			titlenrec:=normzapas.atl_nrec;
!			maxs:=normzapas.npp;
!			specnrec:=normzapas.npp;
!!			_loop normzapas where ((titlenrec==normzapas.atl_nrec))
!!			{
!			   if (maxs<normzapas.npp) or (maxs=normzapas.npp)
!			   {
!			   message('cminsert2');
!			   normzapas.npp:=normzapas.npp+1;
!				  	update current normzapas;
!			   }
!//			   maxs:=maxs+1;
!!			}
!			maxs:=maxs+1;
									}
									cmDelete:
									{

									}
									cmDone:
									{
! message('cmdone2');
										  rescanpanel(#normzapas);
									}
							end;
end.


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

Добавлено: 17 июл 2014, 00:20
edward_K
мне влом смотреть ваш код. Но идею как найти поняли? Ищите в какой именно строчке ломается. LogStrtoFile вам в помощь 8) . После того , как найдете строку на которой идет вылет пишите

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

Добавлено: 17 июл 2014, 12:41
Руслан
Проблема в том, что я создаю одну запись и в базе одна запись, но в интерфейсе отображается две одинаковые записи. Вот при перевыборе второй записи Галактика и вылетает. Как убрать эту вторую запись?

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

!#include %src%\make\vipInterface.h;
!#include %src%\src\GetKau.vih
!#include %src%\src\Galnet.ccm;
interface Normzapas 'Нормы страхового запаса';
!#include %src%\src\GetKau.var
 show   at   (,,92,25);
	const
	  cmPrintDoc = 3440;
	end;
 var
 	nr,mcnrec,katednrec,katpodrnrec,linenrec,formatnrec,katstannrec,ctitle,titlenrec,specnrec: comp;
	pptitlenrec,unitm:comp;
//	titlenrec:comp;
	wkl,grant_s, check_del, checkspecif,check_screen:boolean;
 	 res,check_i : word;
	 nmc:string;
	 pdate, pbdate, pedate : date;
	 statusnnrec:comp;
	 UnMea,plancopy:string;
	 somewindow:longint;
	 n:longint;
	 begindate,enddate:date;
	 sort1,teh_poteri,dek1,dek2,dek3,summ_plan,poludek1,poludek2,poludek3,summ_polu:double;
	 sum_gresbordur,gresbordur1,gresbordur2,gresbordur3:double;
	 sum_vstavka,vstavka1,vstavka2,vstavka3:double;
	 maxi,maxs:word;
	 butpick:longInt;
	 nomer_plana,formatname:string;
	 linia_name,podrasd,titlenpp:string;
	 status_plana,old_status,old_linia :comp;

create view normz
var status,linia_filter,grup_filter,format_filter, nomer_plana: word;
	x:integer;
	fldselect:longint;
	linia,gruppa,etalon,format,titlenrec,specifnrec,specifnrec2,specifnrec3, pmc:comp;
(Vsego,meash)
 as select katpodr.name,normzapas.npp, *
from normzapas, katpodr,katmc, x$users, katpodr katpodr_2, katmc katmc_2
where((	normzapas.cpodrazd==katpodr.nrec
   		and normzapas.cmc==katmc.nrec
	    and normzapas.atl_owner==x$users.atl_nrec
	    and katpodrnrec == katpodr_2.nrec
	    and pmc == katmc_2.nrec));

window NormCorrect 'Редактирование норм';
show at(,,,28);
toolbar F_Common::tbPrintDoc;
handleevent
    cmPrintDoc:
												{
!													message ('Печать!!!');
												   UpdateTable();
												   res:=RunInterface('ireport',titlenrec);
												}
end;
			screen sCornormzapas(,,sci1EnEsc); //SciAqaSwitchItemName
			show at (,,,10);
			table katpodr;
			//table pptitle;
			bevel be1 {1,0,110,10,bsRaised, bsFrame};
				fields
					normzapas.pdate :noprotect;
					normzapas.pbdate:noprotect;
					normzapas.pedate:noprotect;
					normzapas.npp:noprotect,noPickButton; //:noprotect; //(,,sciAQACancel1)
					katpodr.name :pickButton, protect;
					status  : [ list 'item 1', 'item 2', 'item 3' ];

<<

                     Дата         Начало действия         Конец действия
                    .@@@@@@@@@      .@@@@@@@@@            .@@@@@@@@@
                    Номер            Структурное подразделение
		            .@@@@@@@@@@@@   .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
					            Статус  .@@@@@@@@@@@@@@@@@@@@@
>>
			end;
!			browse bCornormzapas(,,Sci13478Esc )//F1,F4,F7,F8,Esc//(,,sci178EnEsc)
				browse bCornormzapas(,,sci1478EnEscTreeI )//F1,F4,F7,F8,Esc//(,,sci178EnEsc)
						show at (,11,,22)
							  table katmc;
			 fields
					katmc.name 'Наименование МЦ' : [20], pickButton;
					normzapas.kol 'Количество':[5,'666.88'],noprotect,noPickButton;
			end;
end;

						  browse bnormzapas(,,Sci178EnEsc)
							  table normzapas;
							  fields
								  normzapas.pdate   'Дата' : [15] , protect, noAutoSize;
 								  normzapas.npp   'Номер' : [25], protect, noAutoSize;
								  katpodr.name   'Подразделение' : [25] , protect, noAutoSize;
							      x$users.xu$fullname 'Создатель':[20],protect,noAutoSize;
						  end;
						   //end;
						  tableevent table normzapas

							 cmSetDefault: {
														normzapas.pdate:=Cur_Date();
														normzapas.cpodrazd:=0;
														normzapas.npp := (normzapas.npp)+1;
														SetModified(true);
														UpDateTableWithInserted
														 PutCommand(cmDefault);
											}
							cmUpdateRecord :{ //if grant_s=false
							  					//{
												  	update current normzapas;
												//}
										 	}
							cmInsertRecord :{
							   					insert current normzapas;
												UpDatePanels();
											}
							cmDeleteRecord :
							{
							  if Message('Удалить нормы?', yesButton + noButton) = cmYes
								{
								    Delete Current normzapas;
								}

							}
							cmCheckRecord:
 							{
									MakeValid(#normzapas);
									if isvalid(#normzapas)
											{
									update current normzapas;
											}
									if isnew
											{
									Putcommand(cmInsertRecord);
											}

							}
							cmCheckField:
							  {
!									 message('dfsdf');
									updatetable;
									SetModified(true);
									  case CurField of
										#normzapas.pbdate:
										{
										  update current normzapas;
										  RescanPanel(#normzapas);
										}
										#normzapas.pedate:
										{
										  update current normzapas;
										  RescanPanel(#normzapas);
										}
										#normzapas.pdate:
										{
										  update current normzapas;
										  RescanPanel(#normzapas);
										}
										#normzapas.npp:
										{
									  	  update current normzapas;
										  RescanPanel(#normzapas);
										}
										end;
							  }
							end;

							handleEvent
										cmInit:
										{
!				    message('cminit2');
										 RescanPanel(Scornormzapas);
										   Rescanpanel(#normzapas);
										message ('katmc');
										}
									cmPick:
									{
											  Updatetable();
											  case CurField of
												#katpodr.name:
												{
												  katpodrnrec:=normzapas.cpodrazd;
												  res:=RunInterface('Z_KATPODR::GETANYPODR',katpodrnrec);
												  normzapas.cpodrazd:=katpodrnrec
												  update current normzapas;
												if getfirst katpodr where((normzapas.cpodrazd==katpodr.nrec))=tsOk
												  {
												  }
												  RescanPanel(#normzapas);
												}
												#katmc.name:
												{
												pmc := normzapas.cmc;
												res := runinterface('L_MCU::GetSomeMC_KatMC', pmc, false, -12345);//вызов интерфейса выбора МЦ без ввода количества
!												res := runinterface('L_MCU::GetSomeMC', pmc);
!												res := runinterface('iGetKau.GetCodeKau', pmc);
												normzapas.cmc := pmc;
!					normzapas.kol := tmppick.kol;
												update current normzapas;
												if getfirst katmc where((normzapas.cmc==katmc.nrec))=tsOk
												  {
												  }
												RescanPanel(#normzapas);
												}
											  end;
										}
										cmCheckField : update current normzapas;
									cmCancel:
									{
									}
									cmPrintDoc:
											{
!												message ('Печать!!!');
!				   titlenrec:=pptitle.atl_nrec;
											   UpdateTable();
											   res:=RunInterface('ireport',titlenrec);
											}
									cmClose:
									{
									   CloseWindow(cmDefault);
									}
									cmDefault:
									{
										   PutCommand(cmCheckField);
!			    message('cmdefault2');
										   runwindowmodal(NormCorrect);
									  Rescanpanel(#normzapas);
									}
									cmInsert:
									{
!			   message('cminsert1');
!			titlenrec:=normzapas.atl_nrec;
!			maxs:=normzapas.npp;
!			specnrec:=normzapas.npp;
!!			_loop normzapas where ((titlenrec==normzapas.atl_nrec))
!!			{
!			   if (maxs<normzapas.npp) or (maxs=normzapas.npp)
!			   {
!			   message('cminsert2');
!			   normzapas.npp:=normzapas.npp+1;
!				  	update current normzapas;
!			   }
!//			   maxs:=maxs+1;
!!			}
!			maxs:=maxs+1;
									}
									cmDelete:
									{

									}
									cmDone:
									{
! message('cmdone2');
										  rescanpanel(#normzapas);
									}
							end;
end.