| View previous topic :: View next topic   | 
	
	
	
		| Author | 
		Message | 
	
	
		ewgen
 
 
  Joined: 23 Nov 2002 Posts: 339 Location: Евгений Occupation: (инженер программист) Interests: Надым
  | 
		
			
				 Posted: 28 Feb 2005 21:08    Post subject: Кто знает как передать в файл pagcode? (т.о. аморт. сп/од.) | 
				     | 
			 
			
				
  | 
			 
			
				Доброго времени суток.
 
Хочу в амортизации спецодежды сделать формирование проводок в зависимости от кода контрагента, но при написании в строке формула
 
fileeval("1.txt",pagcode) выдает ошибку. Каким образом можно передать в файл этот параметр?
 
Спасибо. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		ewgen
 
 
  Joined: 23 Nov 2002 Posts: 339 Location: Евгений Occupation: (инженер программист) Interests: Надым
  | 
		
			
				 Posted: 02 Mar 2005 10:50    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				| Разработчики, ответьте, пожалуйст | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Позднякова Наталья
 
 
  Joined: 04 Nov 2004 Posts: 13 Location: Позднякова Наталья Occupation: программист Interests: Минск
  | 
		
			
				 Posted: 02 Mar 2005 11:09    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				В фигурных скобках { }
 
 
 
               fileeval("1.txt",{pagcode}) | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		ewgen
 
 
  Joined: 23 Nov 2002 Posts: 339 Location: Евгений Occupation: (инженер программист) Interests: Надым
  | 
		
			
				 Posted: 02 Mar 2005 13:55    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Не получается. Выдает:
 
Неправильная формула: fileeval("1.txt",{pagcode})
 
При переходе из шапки в окно содержания. Видимо на этапе расчета сумм амортизици | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Марина.
 
 
  Joined: 17 Nov 2004 Posts: 237 Location: Потапова Марина Occupation: БЭСТ-Программы Interests: Москва
  | 
		
			
				 Posted: 03 Mar 2005 12:17    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Здравствуйте.
 
Какая у Вас версия, какая поставка? Пришлите скриншот ошибк | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Титов Александр
 
 
  Joined: 26 Jul 2002 Posts: 975 Location: Титов Александр Александрович Occupation: Компания БЭСТ Interests: Москва
  | 
		
			
				 Posted: 03 Mar 2005 13:40    Post subject: Re: Кто знает как передать в файл pagcode? (т.о. аморт. сп/о | 
				     | 
			 
			
				
  | 
			 
			
				 	  | ewgen wrote: | 	 		  Доброго времени суток.
 
Хочу в амортизации спецодежды сделать формирование проводок в зависимости от кода контрагента, но при написании в строке формула
 
fileeval("1.txt",pagcode) выдает ошибку. Каким образом можно передать в файл этот параметр?
 
Спасибо. | 	  
 
Добрый день!
 
Можно переменную и так передать, но конкретно при выполнении этого режима указанная переменная не видна, поэтому лучше не передавать, а взять непосредственно из MDOCM. Например, вот такой пример работает:
 
SayAndWait(mdocm->agentcode)
 
xRet:=200
 
RETURN _________________ С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		ewgen
 
 
  Joined: 23 Nov 2002 Posts: 339 Location: Евгений Occupation: (инженер программист) Interests: Надым
  | 
		
			
				 Posted: 03 Mar 2005 17:04    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				То есть я в текстовом файле могу использовать после этих 
 
 	  | Quote: | 	 		  вот такой пример работает: 
 
SayAndWait(mdocm->agentcode) 
 
xRet:=200 
 
RETURN | 	  
 
строк 
 
  if(mdocm->agentcode="000141",S0,0)
 
  if(mdocm->agentcode="000142",S0,0)
 
  if(mdocm->agentcode="000143",S0,0)
 
  if(mdocm->agentcode="000144",S0,0)
 
  if(mdocm->agentcode="000145",S0,0)
 
.........................................................
 
Правильн | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Титов Александр
 
 
  Joined: 26 Jul 2002 Posts: 975 Location: Титов Александр Александрович Occupation: Компания БЭСТ Interests: Москва
  | 
		
			
				 Posted: 03 Mar 2005 20:13    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | ewgen wrote: | 	 		  То есть я в текстовом файле могу использовать после этих 
 
 	  | Quote: | 	 		  вот такой пример работает: 
 
SayAndWait(mdocm->agentcode) 
 
xRet:=200 
 
RETURN | 	  
 
строк 
 
  if(mdocm->agentcode="000141",S0,0)
 
  if(mdocm->agentcode="000142",S0,0)
 
  if(mdocm->agentcode="000143",S0,0)
 
  if(mdocm->agentcode="000144",S0,0)
 
  if(mdocm->agentcode="000145",S0,0)
 
.........................................................
 
Правильно? | 	  
 
 
Если я правильно понял, то нужно передать в программу S0, а потом можно написать так:
 
xRet:=if (mdocm->agentcode$"000141 000142 000143 000144 000145",S0,0)
 
RETURN
 
где x$y - означает, что подстрока  x содержится в строке y.
 
 
 
 
А более эффективно в БЭСТ-4+ использовать механизм hFileEval с использованием отладчика - тогда сразу все станет видно. 
 
Как это делается, написано в Developer или еще на форуме можно почитать: 
 
http://www.bestnet.ru/club/phpBB/viewtopic.php?t=6161 _________________ С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		ewgen
 
 
  Joined: 23 Nov 2002 Posts: 339 Location: Евгений Occupation: (инженер программист) Interests: Надым
  | 
		
			
				 Posted: 05 Mar 2005 11:15    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				| Спасибо. Получило | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		GAL
 
 
  Joined: 23 Apr 2002 Posts: 344 Location: Лопухова Галина Анатольевна Occupation: Компания БЭСТ Interests: Москва
  | 
		
			
				 Posted: 07 Mar 2005 18:56    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				А нельзя было просто в алгоритме расчета суммы проводки написать 
 
if(pAgCode="000141",S0,0)
 
и т.д.? | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		ewgen
 
 
  Joined: 23 Nov 2002 Posts: 339 Location: Евгений Occupation: (инженер программист) Interests: Надым
  | 
		
			
				 Posted: 11 Mar 2005 11:30    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Quote: | 	 		  А нельзя было просто в алгоритме расчета суммы проводки написать 
 
if(pAgCode="000141",S0,0) 
 
и т.д.? | 	  
 
 
Ну у меня надо на 262 закинуть по 100 сотрудника
 
А на 263 по 300 сотрудникам. А в строке идет ограничение в 250 символов или около того.
 
 
И еще. При расчете не считает вторую проводку в типовой операции!!!
 
То есть по первой расчет проходит нормально, а на вторую БЭСТ не обращает никакого внимания. Исправьте, пожалуйста, ошибку. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		GAL
 
 
  Joined: 23 Apr 2002 Posts: 344 Location: Лопухова Галина Анатольевна Occupation: Компания БЭСТ Interests: Москва
  | 
		
			
				 Posted: 15 Mar 2005 11:15    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | ewgen wrote: | 	 		  
 
И еще. При расчете не считает вторую проводку в типовой операции!!!
 
То есть по первой расчет проходит нормально, а на вторую БЭСТ не обращает никакого внимания. Исправьте, пожалуйста, ошибку. | 	  
 
Что значит - не считает вторую проводку?
 
В смысле - сумма амортизации берется из первой проводки? | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		ewgen
 
 
  Joined: 23 Nov 2002 Posts: 339 Location: Евгений Occupation: (инженер программист) Interests: Надым
  | 
		
			
				 Posted: 15 Mar 2005 14:19    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Quote: | 	 		  Что значит - не считает вторую проводку? 
 
В смысле - сумма амортизации берется из первой проводки? | 	  
 
 
В типовой операции две проводки. В поле сумма этих проводок забито: Fileeval("spec262.txt") и Fileeval("spec263.txt")
 
Файлы находятся в папке Best\Pro\Plugins\Extensns\zapas\
 
Содержание файла spec262.txt:
 
 	  | Code: | 	 		  private a
 
a:=0
 
if(mdocm->agentcode="000001",a:=S,0)
 
if(mdocm->agentcode="000002",a:=S,0)
 
...
 
a | 	  
 
 
Содержание файла spec263.txt:
 
 	  | Code: | 	 		  private a
 
a:=0
 
if(mdocm->agentcode="000101",a:=S,0)
 
if(mdocm->agentcode="000102",a:=S,0)
 
...
 
a | 	  
 
Так вот первая проводка (fileeval("spec262.txt")) в типовой операции обрабатывается, а вторая (fileeval("spec263.txt") не обрабатывается, т.е. амортизация на спецодежду, попадающую под условия в файле spec263.txt, не начисляется. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		GAL
 
 
  Joined: 23 Apr 2002 Posts: 344 Location: Лопухова Галина Анатольевна Occupation: Компания БЭСТ Interests: Москва
  | 
		
			
				 Posted: 15 Mar 2005 16:19    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				В БЭСТ-4 формула сумма амортизации не задается отдельно, она берется из проводки.
 
Проводок, вообще говоря, может быть несколько, и в них суммы могут "дублироваться" для каких-то иных целей. Поэтому "накапливать" сумму всех проводок нецелесообразно. Программа берет сумму амортизации из первой проводки. 
 
Я использовала для расчета специальный забалансовый счет. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		ewgen
 
 
  Joined: 23 Nov 2002 Posts: 339 Location: Евгений Occupation: (инженер программист) Interests: Надым
  | 
		
			
				 Posted: 16 Mar 2005 07:16    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				| Так все-таки как мне сделать, чтобы в зависимости от кода человека(на котором числится спецодежда) рассчитывалась амортизация и сумма шла на один из двух счетов? Как я понял расчет суммы амортизации идет только по формуле из первой проводки? И как же мне ее распределить по двум счета | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		 |