Страница 2 из 3
					
				
				Добавлено: 06 июн 2008, 15:00
				 PViP
				Очень была бы рада примеру ручного создания SoprHoz и BaseFin  
:[
в чем тут трудность? insert soprhoz set .... и т.д. подставляете требуемые значения поля и главное по журналу смотрите что там еще создается.
Код: 
Function PlPor_Insert (bufPlPor : TPlPor) : Comp; 
Добавление PlPor, с проверкой корректности и формированием SoprHoz   
Здесь вам надо загрузить сначала vip interface. vih для него здесь Gal810\FRM\F_PlPor.rar\CompSrc\F\F_PlPor\Vip\PlPorSimple.vih.
Код: Выделить всё
 var myPlPorSimple : PlPorSimple;
 var bufPlPor : TPlPor;
 ......
 //заполение bufPlPor
 ......
 LoadVipInterface(myPlPorSimple);
 myPlPorSimple.PlPor_Insert (bufPlPor : TPlPor);
 FreeVipInterface(myPlPorSimple);
 
			 
			
					
				
				Добавлено: 06 июн 2008, 15:52
				 eyolkina
				Здесь вам надо загрузить сначала vip interface. vih для него здесь Gal810\FRM\F_PlPor.rar\CompSrc\F\F_PlPor\Vip\PlPorSimple.vih. 
Код:
 var myPlPorSimple : PlPorSimple; 
 var bufPlPor : TPlPor; 
 ...... 
 //заполение bufPlPor 
 ...... 
 LoadVipInterface(myPlPorSimple); 
 myPlPorSimple.PlPor_Insert (bufPlPor : TPlPor); 
 FreeVipInterface(myPlPorSimple); 
Большое спасибо. Касательно ручного создания - немного начала разбираться, но очень хочется использовать интерфейс, раз уж я его подключаю.
Жаль только, что 
Код: Выделить всё
LoadVipInterface(myPlPorSimple); 
myPlPorSimple.PlPor_Insert (bufPlPor : TPlPor); 
FreeVipInterface(myPlPorSimple); 
не помогло 

 
			 
			
					
				
				Добавлено: 06 июн 2008, 15:54
				 eyolkina
				На всякий случай привожу код:
Код: Выделить всё
   //считываем значения из файла
   LoadRecordFromDBF();
   LoadVipInterface(piPlPor);
   piPlPor.PlPor_Fill(bufPlPor, TIDKGAL, TIDK, DATVIP,0);
   bufPlPor.NODOK:=NODOK;
   
   bufPlPor.NAMEPL1:=NAMEPL1;
   bufPlPor.NAMEPL2:=NAMEPL2;
   bufPlPor.NAMEPL3:=NAMEPL3;
   bufPlPor.NAMEPL4:=NAMEPL4;
   bufPlPor.PODOTCHET:=PODOTCH;
   bufPlPor.TAX:=TAX;
   
   bufPlPor.SUMPLAT:=SUMPLAT;
  
   
   bufPlPor.cplat:=GetOrg(PLAT_INN,PLAT_RS);//281474976739064;
   bufPlPor.cpol:=GetOrg(POL_INN,POL_RS);//12081;
  Message( 'bufPlPor.cbankplat:=GetBank(PLAT_INN,PLAT_RS)');
   bufPlPor.cbankplat:=GetBank(PLAT_INN,PLAT_RS);//281474976739064;
 Message( 'bufPlPor.cbankpol:=GetBank(POL_INN,POL_RS)');
   bufPlPor.cbankpol:=GetBank(POL_INN,POL_RS);//12081;
   Message( bufPlPor.cplat);
   Message( bufPlPor.cpol);
 if(piPlPor.PlPor_Check(bufPlPor,0)=false)
 then message('Чтото неправильно заполнили');
	Message('вставляем');
//LoadVipInterface(myPlPorSimple); 
// myPlPorSimple.PlPor_Insert (bufPlPor : TPlPor); 
// FreeVipInterface(myPlPorSimple); 
   	 
  nrec_my:=piPlPor.PlPor_Insert(bufPlPor);
  FreeVipInterface(piPlPor); 
вариант 
Код: Выделить всё
   //считываем значения из файла
   LoadRecordFromDBF();
  
  piPlPor.PlPor_Fill(bufPlPor, TIDKGAL, TIDK, DATVIP,0);
...
 LoadVipInterface(piPlPor);
nrec_my:=piPlPor.PlPor_Insert(bufPlPor);
  FreeVipInterface(piPlPor); 
тоже не прошел 

((
 
			 
			
					
				
				Добавлено: 06 июн 2008, 16:14
				 PViP
				eyolkina, тоесть вываливается исключение когда выполняются операции с объектным файсом или платежка не создается?
Также надо объявить #define ComponentVersion перед инклюдами vih файлов. Иначе работать ниче не будет, в следствии компонентной принадлежности!
			 
			
					
				
				Добавлено: 06 июн 2008, 16:34
				 eyolkina
				eyolkina, тоесть вываливается исключение когда выполняются операции с объектным файсом или платежка не создается? 
Также надо объявить #define ComponentVersion перед инклюдами vih файлов. Иначе работать ниче не будет, в следствии компонентной принадлежности!
никакого исключения не вываливается, платежка отлично создается,
но SoprHoz и BaseFin не создаются...
 
			 
			
					
				
				Добавлено: 06 июн 2008, 17:24
				 Max_Fin
				что-то не понял
сперва у вас
а только потом 
поменяйте местами
 
			 
			
					
				
				Добавлено: 07 июн 2008, 08:59
				 eyolkina
				поменяйте местами
в таком порядке тоже не работает... журнализация упрямо показывает создание только платежек.
может быть я забываю выхвать какой-нибудь секретный метод?
 
			 
			
					
				
				Добавлено: 07 июн 2008, 11:37
				 Алексей
				если ошибок при отработке методов объектного интерейса нет - значит всё ок, видимо метод не предусматривает создание хоз.операции.
попробуйте найти объектный фейс по хоз.операциям, там тоже скорее всего есть метод.  А вообще, когда вы потом в платеже зайдете во вкладку хоз.операции - она создасться автоматически.
так что не так страшно - что они не создаются.
			 
			
					
				
				Добавлено: 07 июн 2008, 11:44
				 eyolkina
				если ошибок при отработке методов объектного интерейса нет - значит всё ок, видимо метод не предусматривает создание хоз.операции. 
попробуйте найти объектный фейс по хоз.операциям, там тоже скорее всего есть метод. А вообще, когда вы потом в платеже зайдете во вкладку хоз.операции - она создасться автоматически. 
так что не так страшно - что они не создаются
это правда - создаются. Вот думаю, может пусть остаются с вопросиком, зато сразу видно свежевыгруженные непроконтролированные платежки....
 
			 
			
					
				
				Добавлено: 07 июн 2008, 11:57
				 Алексей
				в принципе да, сразу знак финансисту - "быстро обработай!" 

 
			 
			
					
				
				Добавлено: 07 июн 2008, 14:12
				 eyolkina
				в принципе да, сразу знак финансисту - "быстро обработай!"
и в инструкции как фичу описать 

))))))))))))))))
 
			 
			
					
				
				Добавлено: 07 июн 2008, 17:26
				 Max_Fin
				создание SoprHoz'а
Код: Выделить всё
        ClearBuffer(tnSoprHoz);
        SoprHoz.TiDkGal := PlPor.TiDkGal;
        SoprHoz.TipDoc := Plpor.TiDk;
        SoprHoz.cSoprDoc := Plpor.nRec;
        SoprHoz.DesCr := PlPor.DesCr;
        SoprHoz.DesGr := Plpor.DesGr;
        SoprHoz.FilialNo := PlPor.FilialNo;
        SoprHoz.cFilKor := Plpor.cFilKor;
        SoprHoz.NoDoc := Plpor.NoDok;
        SoprHoz.cHozOper := PlPor.cHozOper;
        SoprHoz.Summa := PlPor.SumPlat;
        SoprHoz.SumValut := PlPor.SumPlatV;
        SoprHoz.KodValut := PlPor.cVal;
        SoprHoz.DatOb := PlPor.DatOb;
        SoprHoz.NameSHO := Trim(Trim(PlPor.NamePl1) + ' ' + 
                                     Trim(PlPor.NamePl2));
        SoprHoz.VhSumHoz := '+' ;
        SetBitKontras(PlPor.ModeDoc, SoprHoz.ModeDoc);
        insert current SoprHoz;
 
			 
			
					
				
				Добавлено: 09 июн 2008, 11:36
				 eyolkina
				Max_Fin
Спасибо! Учту на будущее..
Еще вопрос: Можно ли как-нибудь определить число записей, возвращаемых при:
Код: Выделить всё
if (modifier getfirst Katorg where ((ORG_INN/==Katorg.UNN ))
          )=tsOk then
  begin
...
 end;
 
			 
			
					
				
				Добавлено: 09 июн 2008, 12:03
				 edward_K
				была какая то переменная которая возвращала кол-во записей при груповых операциях (loop,update и так далее). tailly кажись - но она в доке не описана. loop еще почитайте. Да - modifier лучше не использовать - он вроде приводит к пересканированию экрана и тормозит выполнение.
			 
			
					
				
				Добавлено: 09 июн 2008, 12:10
				 eyolkina
				т.е. делать:
Код: Выделить всё
if ( getfirst Katorg where ((ORG_INN/==Katorg.UNN )) 
          )=tsOk then 
  begin 
... 
 end;
???
еще ругается на:
Код: Выделить всё
if((getfirst Katbank where 
     ((CORG/==Katbank.corg  and ORG_RS/==Katbank.schet1 ))
          )=tsOk )
Пишет: Нужен ключ на CORG+SCHET1 для KATBANK...
Я что-то не так подцепляю??? странный этот механизм с подцепками...