Подскажите, кто знает, структуру для отлож.документа, где хранятся реквизиты получателя

0 (0)
  • Развернуть Подскажите, кто знает, структуру для отлож.документа, где хранятся реквизиты получателя ( Нелепа ДА  08.10.2010 06:31 )
    5(1)
    Хочу макросом создать отложенный документ для 65 операции (списание). Добавляю запись в dpsdepdoc, но не пойму, как и куда реквизиты получателя платежа передать.
    >> Ответить
    • Развернуть Ответ ( Trofimov  14.10.2010 15:35 )
      5(2)
      Необходимо наложить структуру sbdepdoc.1 и заполнить поля Account_Receiver, CodeCur_Receiver, CorAcc_Receiver, FNcash_Receiver
      >> Ответить
    • Развернуть пробуй так ( Burnashev  20.10.2010 10:20 )
      5(1)
      file psdepdoc ("psdepdoc.dbt", "sbbank.def") write;

      macro chetpoluchatelya(iApplicationKind,ApplicationKey)
      private var f_rt_paym = TBFile ( "rt_paym.dbt" , "w", 0, null, "sbbank.def" );
      private var rt_paym_1 = TRecHandler( "rt_paym.1" , "sbbank.def");
      SetRecordAddr(rt_paym_1 , f_rt_paym );
      f_rt_paym.rec.iApplicationKind = iApplicationKind;
      f_rt_paym.rec.ApplicationKey = ApplicationKey;
      f_rt_paym.rec.RefValue = 0;
      f_rt_paym.rec.AttrID = "РЕКВ_ПОЛ";
      if (f_rt_paym.GetEQ())
      //msgbox("шаг1.1: нашел счет получ. в рт_пайм "+rt_paym_1.rec.Accnt);
      return(rt_paym_1.rec.Accnt)
      else
      //msgbox("шаг1.1: нет счета получ. в рт_пэйм! "+string(iApplicationKind)+" iApplicationKind "+string(ApplicationKey)+" iApplicationKey");
      return("");
      end;
      end;

      где chetpoluchatelya(psdepdoc.iApplicationKind,psdepdoc.ApplicationKey);
      >> Ответить
    • Развернуть похожая проблема Загружаю в отложенные (psdepdoc.dbt) документ из др.Банка и если заполнить rt_paym ( yukson  29.10.2012 14:24 )
      5(1)
      Если заполнить при создании записи в отложенных ретейла psdepdoc.dbt еще и rt_paym.dbt
      внеся туда 2 строки НАЗН_ПЛАТ с длинным основанием и РЕКВ_ПОЛ с параметрами плательщика,
      то документ виден в меню обслуживания физ лиц-отложенные но при проводке экран виснет,
      и не реагирует на ctrl-break. А если rt_paym.dbt - проводится на ура.
      В чем интересно проблема, вот код:
      // основание до 211 знаков хранится отдельно
      private macro makeNazn(xkind,xkey,xground)
      	//0 iApplicationKind+ApplicationKey+RefValue+AttrID
      	var pm=TBfile("rt_paym.dbt","w",0,"rt_paym.dbt","sbbank.def");
      	pm.rec.Branch=1;
      	pm.rec.iApplicationKind=xkind;
      	pm.rec.ApplicationKey=xkey;
      	pm.rec.RefValue=0;
      	pm.rec.AttrID="НАЗН_ПЛАТ";
      	pm.rec.PayMent=xground;
      	
      	while(pm.insert()==false)
      		msgbox("нажмите esc "+time());
      	end;
      end;
      
      
      
      // реквизиты платеьщика
      private macro makePlatATTR(xkind,xkey,Документ)
      	//0 iApplicationKind+ApplicationKey+RefValue+AttrID
      	var pm=TBfile("rt_paym.dbt","w",0,null,"sbbank.def");
      	var pm2 = TRecHandler( "rt_paym.1" , "sbbank.def");
      	
      
      	pm.rec.Branch=1; //филиал
      	pm.rec.iApplicationKind=xkind;
      	pm.rec.ApplicationKey=xkey;
      	pm.rec.RefValue=0;
      	pm.rec.AttrID="РЕКВ_ПОЛ";
      
      	pm.rec.RecivFIO=Документ.Payer;
      
      		SetRecordAddr (pm2 , pm);//, 0, 0, true);
      		if(substr(Документ.Account_receiver,6,3)=="810")
      			//бик и корсчет только по рублм
      			pm2.rec.Bank     =Документ.Bank_Payer; //банк
      			pm2.rec.BIC      =Документ.MFO_Payer; //бик
      			pm2.rec.CorAccnt =Документ.CorAcc_Payer; //корсчет
      		end;	
      		
      		pm2.rec.Accnt	   =Документ.Account_Payer; // счет плательщика
      		pm2.rec.INN      =Документ.OKPO_Payer;		// инн плательщика
      		pm2.rec.KPP      =Документ.KPP_Payer;		// КПП плательщика
      
      	//сохраняем переменную часть со структурой rt_paym.1
      	while( pm.insert(GetRecordSize(pm2))==false)
      		msgbox("нажмите esc "+time());
      	end;
      	
      end;
      

      >> Ответить