| View previous topic :: View next topic   | 
	
	
	
		| Author | 
		Message | 
	
	
		kvb
 
 
  Joined: 10 Jun 2002 Posts: 18 Location: Ковалько В.Б.
 
 
  | 
		
			
				 Posted: 07 May 2004 08:43    Post subject: Реестр счетов-фактур :  SH_FACT->nnoper | 
				     | 
			 
			
				
  | 
			 
			
				Ситуация   :
 
   В месяц выписывается порядка 2000 накладных на отгрузку
 
   Учетная политика по оплате
 
   Внешний модуль :
 
   а) на основании накладных на отпуск в пакетном режиме 
 
       генерирует счета-фактуры в  реестре продаж
 
   б) анализирует оплату и генерирует в пакетном режиме записи в 
 
       книге продаж
 
   в) генерирует в пакетном режиме авансовые счета-фактуры, 
 
       записи в книге покупок по авансовым счетам-фактурам и 
 
       сторнирующие записи в книге покупок 
 
 
   Проблема:
 
       При добавлении в реестр новой счет-фактуры стандартными способами БЭСТ-4 использует внутренний счетчик порядковых номеров. Находиться :    /ini/in_cash.dbf     
 
 
    После формирования счет-фактуры (пример) 
 
 
     /ini/in_cash.dbf
 
 
    Поля                Name                          Param1
 
    Значение         OPERSHFACT               Aa@
 
 
    /real/sh_fact.dbf
 
 
    Поле                                                  Nnoper                          
 
    Значение                                                  34               
 
    
 
    Не подскажет ли кто секретные формулы преобразования
 
                Aa@     в     34      и наоборот
 
 
 
P.S:  Если не взирая ни на что не трогать внутренний счетчик, а при добавлении записей внешними средствами инкрементировать Sh_fact->nnoper - возникают коллизии :
 
nnoper увеличен а внутренний счетчик нет -> при добавлении стандартно в БЭСТ-4 новой счет-фактуры в нее пытаются попасть строки из счет-фактуры, сформированной внешними средствами.
 
Правда индексация вроде бы решает данную проблему - но это долго и не есть хорошо.
 
 
Заранее благодарен   kvb@knp.kem.ru      :roll | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Behemoth
 
  
  Joined: 15 Mar 2002 Posts: 155 Location: Новиков Алексей Юрьевич Occupation: ПБОЮЛ Interests: Пермь
  | 
		
			
				 Posted: 07 May 2004 16:20    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Добрый день.
 
 
    В свете тезиса "БЭСТ-4 - программа конструктор".  
 
 
   Функция IncStep() с параметром "OPERSHFACT" возвращает следующий номер NNOPER и обновляет поле в ini_cash. _________________ С уважением, Новиков Алексей. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		kvb
 
 
  Joined: 10 Jun 2002 Posts: 18 Location: Ковалько В.Б.
 
 
  | 
		
			
				 Posted: 11 May 2004 07:33    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Спасибо !
 
   Эта функция, безусловно, полезна !
 
   Но в данной ситуации, модули, выполняющие работы с реестрами счетов-фактур и книгой продаж являются внешними exe-файлами - так удобнее.
 
   Поэтому проблема остается открытой - необходимо знать сам алгоритм преобразования !!! Т.е. формулу ... | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		integral
 
 
  Joined: 19 Jul 2002 Posts: 378
  Occupation: ОАО "Интеграл"  инженер-программист Interests: Нефтекамск
  | 
		
			
				 Posted: 11 May 2004 09:19    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Можно попробовать использовать во внешней программе свой счетчик, начать с 9999999  и уменьшать его 9999998,9999997 и т.д. 
 
Таким образом счетчик БЭСТа и ваш нескоро пересекутся. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Яков
 
  
  Joined: 04 Mar 2002 Posts: 618 Location: Яков Occupation: Экстремальная терапия бизнеса Interests: Владивосток
  | 
		
			
				 Posted: 11 May 2004 09:56    Post subject: Re: Реестр счетов-фактур :  SH_FACT->nnoper | 
				     | 
			 
			
				
  | 
			 
			
				 	  | kvb wrote: | 	 		     Внешний модуль :
 
   а) на основании накладных на отпуск в пакетном режиме 
 
       генерирует счета-фактуры в  реестре продаж
 
   б) анализирует оплату и генерирует в пакетном режиме записи в 
 
       книге продаж
 
   в) генерирует в пакетном режиме авансовые счета-фактуры, 
 
       записи в книге покупок по авансовым счетам-фактурам и 
 
       сторнирующие записи в книге покупок 
 
 | 	  
 
 
Продаёте, меняете или как?
 
Очень было бы интересно взглянуть на исходники. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		kvb
 
 
  Joined: 10 Jun 2002 Posts: 18 Location: Ковалько В.Б.
 
 
  | 
		
			
				 Posted: 12 May 2004 05:10    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | integral wrote: | 	 		  Можно попробовать использовать во внешней программе свой счетчик, начать с 9999999  и уменьшать его 9999998,9999997 и т.д. 
 
Таким образом счетчик БЭСТа и ваш нескоро пересекутся. | 	  
 
 
 
    Хорошая идея !  Но в этом случае после индексация внутренний счетчик принимает наибольшее значение из sh_fact->nnoper.
 
    А вот  когда свой счетчик уменьшаем с 0 до -9999999 , проблем абсолютно никаких нет - проверил - все корректно. 
 
    Спасибо !
 
    Считаю тему закрытой ! | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Яков
 
  
  Joined: 04 Mar 2002 Posts: 618 Location: Яков Occupation: Экстремальная терапия бизнеса Interests: Владивосток
  | 
		
			
				 Posted: 12 May 2004 10:00    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Можно счетчик БЭСТа поставить в 900000 пусть дальше считает.
 
И иметь незаполненный буфер, с текущего значения до 900000, который и можно использовать. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		 |