Страница 1 из 2
					
				TXOAPI - подстановка счета автоматически, и надо учесть КАУ
				Добавлено: 14 янв 2009, 07:17
				 Алексей
				Хочу сделать алгоритм, который бы в дебет счета выбирал затратный счет по определенному алгоритму.
Сам счет мне заполнить удалось(TxoHeadAddSchet), а вот аналитика (пользовательская) к разным счетам разная и заполнить её мне никак не удается.  Может быть есть какой-то способ?
З.Ы.:  Алгоритм не циклический.
			 
			
					
				
				Добавлено: 14 янв 2009, 11:25
				 Den
				У меня есть в одном апи :
   TxoHeadAddSchet(hTxo, wFlKau_Mode1, '368','02');  
   TxoHeadAddKau(hTxo, wFlKau_mode1,10005,000000000000029Dh);
вроде работает все. Или у тебя какая то более сложная ситуевина ?
			 
			
					
				
				Добавлено: 14 янв 2009, 11:29
				 Алексей
				у тебя аналитика жетская 10005... а у меня на один счет 10001 на друго 10002 на третий 10003.... счет заполняется а кау остается пустым...
			 
			
					
				
				Добавлено: 14 янв 2009, 11:45
				 Den
				по условию разве нельзя ?
case myschet of
...
			 
			
					
				
				Добавлено: 14 янв 2009, 11:56
				 Алексей
				да не в этом дело.  это я делаю.
в самой галактике как в шаблоне указать какую аналитику по КАУ заполнять?  Я же все 3 кау в КАУ1 не могу указать.
Если там указать КАУ от 25-го счета, то когда заполняется 25-й счет - то и КАУ заполнится.  Как только счет идет 23 - КАУ пустое.
Если указать при настроке КАУ от 23-го счета - с точностью до наоборот...
Получается что если на счетах стоит КАУ, то заполнится он из ТХО АПИ только в том случае, если у всех возможных счетов (которые могут подставится) будет одинаковое КАУ...
З.Ы.:  Выход конечно есть, настроить столько шаблонов, сколько счетов и в алгоритме проверять считанный счет со счетом из шаблона, если все ок - цифру в сумму, если нет - 0.
			 
			
					
				
				Добавлено: 14 янв 2009, 12:23
				 edward_K
				если аналитика на счетах разная, то без вариантов - на каждый счет своя проводка шаблона. а в апихе задаете параметр по какому счету считать. Желательно ее вызвать в формуле проводки, а не в ключах.
			 
			
					
				
				Добавлено: 14 янв 2009, 15:41
				 sim
				можно попробовать через пользовательские режимы
например, для счета - режим 0, для КАУ1 - режим 1
а алгоритм в зависимости от условий будет подсовывать нужный счет и КАУ
P.S. сам не проверял, только предполагаю
			 
			
					
				
				Добавлено: 14 янв 2009, 23:35
				 Den
				Алексей писал(а):да не в этом дело.  это я делаю.
в самой галактике как в шаблоне указать какую аналитику по КАУ заполнять?  Я же все 3 кау в КАУ1 не могу указать.
Если там указать КАУ от 25-го счета, то когда заполняется 25-й счет - то и КАУ заполнится.  Как только счет идет 23 - КАУ пустое.
Если указать при настроке КАУ от 23-го счета - с точностью до наоборот...
Получается что если на счетах стоит КАУ, то заполнится он из ТХО АПИ только в том случае, если у всех возможных счетов (которые могут подставится) будет одинаковое КАУ...
З.Ы.:  Выход конечно есть, настроить столько шаблонов, сколько счетов и в алгоритме проверять считанный счет со счетом из шаблона, если все ок - цифру в сумму, если нет - 0.
Сделал новую ТХО. Задал у дебета счет /субсчет <режим1>, у кредита счет/субсчет <режим2>. В полях КАУ дебета и кредита все оставил по умолчанию (пустышки)
Далее в апи рисую :
....
procedure StoreCycles(hTxo : longint; buf : TTxoApiInfoDoc);
{
     var cur_sch , cur_sub :string ;
     ....
   if runinterface('GetBuhSchet',1,0000000000000005h,cur_sch,cur_sub)<>CmCancel
     {
      Message('cur_sch='+cur_sch+' cur_sub='+cur_sub);
     }
// выбираю 68/04 . У меня три уровня КАУ на нем....
   case cur_sch of
   '368': {
            TxoHeadAddSchet(hTxo, wFlKau_Mode1,cur_sch,subschet);  
            TxoHeadAddKau(hTxo, wFlKau_mode1,10005,000000000000029Dh);
            TxoHeadAddKau(hTxo, wFlKau_mode1,44,000100000000000Ch);
            TxoHeadAddKau(hTxo, wFlKau_mode1,2, 9);
          }
// выбираю 69/02. Тут два уровня КАУ. Первый совпадает, второй отличный ....третьего вообще нема.
   '369': {
            TxoHeadAddSchet(hTxo, wFlKau_Mode1,cur_sch,subschet);  
            TxoHeadAddKau(hTxo, wFlKau_mode1,10005,000000000000029Dh);
            TxoHeadAddKau(hTxo, wFlKau_mode1,10015,281474976710673);
           } 
    end;
TxoHeadAddSchet(hTxo, wFlKau_Mode2,'379','02');
}
Собрал, запустил на выполнение ТХО то с такой апи - корректно все встает в дебет и при первом выборе (68/04 )при втором (69/02)...и КАУ встают корректно.
Делал наспех, так что все тупо в лоб... или я опять тебя не понял  

 
			
					
				
				Добавлено: 15 янв 2009, 03:47
				 LaaLaa
				Сегодня в аське меня уже спрашивали про это. Повторю еще раз.
Если  аналитика не циклическая то пример Den-а будет работать даже в таком виде:
procedure StoreCycles(hTxo : longint; buf : TTxoApiInfoDoc);
{
var cur_sch , cur_sub :string ;
....
if runinterface('GetBuhSchet',1,0000000000000005h,cur_sch,cur_sub)<>CmCancel
{
Message('cur_sch='+cur_sch+' cur_sub='+cur_sub);
}
TxoHeadAddSchet(hTxo, wFlKau_Mode1,cur_sch,subschet);
TxoHeadAddKau(hTxo, wFlKau_mode1,10005,000000000000029Dh);
TxoHeadAddKau(hTxo, wFlKau_mode1,44,000100000000000Ch);
TxoHeadAddKau(hTxo, wFlKau_mode1,2, 9);
TxoHeadAddKau(hTxo, wFlKau_mode1,10015,281474976710673);
}
В окне настройки ТХО для КАУ ничего при этом указывать не нужно. Только <режим 1> для счета. Алгоритм ТХО сам разберется куда какую аналитику поставить.
Но это сработает только для нециклических КАУ. Если по документу нужно сформировать много проводок в цикле, то тогда действительно проблема. Перечень возможных аналитик ограничен 6-ю для каждой стороны проводки, и 10-ю в полях циклическая обработка. В окне настройки ТХО также нужно переключить формат Alt+S.
			 
			
					
				
				Добавлено: 15 янв 2009, 03:52
				 LaaLaa
				Доработки по снятию ограничения 6+10 для циклической обработки в ТХО когдато планировались. В словаре Галактки 8.1 для этого даже новые таблицы были созданы. Но Алгоритм ТХО так и не доработали.
			 
			
					
				
				Добавлено: 15 янв 2009, 06:04
				 Алексей
				Спасибо, всё получилось.  

 
			
					
				Re: TXOAPI - подстановка счета автоматически, и надо учесть
				Добавлено: 05 мар 2012, 11:15
				 Алексей
				есть к примеру три документа... у всех трёх документов разные КАУ1
в ТХО АПИ алгоритме КАУ1 прописывается как TxoHeadAddKau т.к. к документу много проводок, но у всех КАУ одинаковая в пределах одного док-та.
Если пакетно привязать ТХО ко всем трём документам (пометить инсертом и выбрать ТХО) то КАУ1 заполняется данными из первого документа!  Если же привязывать ТХО по одному к документу (без пометки инсерта а пройтись и три раза выбрать ТХО) то КАУ1 заполняется корректно
Вопрос такой:  это моя ошибка или ошибка атлантиса?  по сути, я думал что TxoHeadAddKau распространяется только на проводки одного документа, но не мог предположить что на все следующие ...  т.е. при обработке 2-го и 3-го документов используется заполненный ранее буфер 1-го документа
Как решить задачу - перенести заполнение КАУ в циклическую обработку или как то очищать заполненный до этого буфер?
З.Ы.: функция  TxoHeadClear(hTxo) вызывается в самом начале работы функции StoreCycles
			 
			
					
				Re: TXOAPI - подстановка счета автоматически, и надо учесть 
				Добавлено: 05 мар 2012, 22:25
				 LaaLaa
				Внутри сервера ТХО коллекция HeadKau которая связана с функциями TxoHeadClear TxoHeadAddKau очищается для каждого нового документа. Даже если вы их пометили плюсом к обработке. Проблема вряд-ли в этих функциях.
Скорее всего проблема в параметрах которые вы туда подаете. Скорее всего вы где-то в своем коде вызвали функцию TxoAllowRecallStoreCycles. Вызов этой функции дает сигнал не пере создавать ваш объект на каждый документ при обработке пачки документов. Если вызов этой функции TxoAllowRecallStoreCycles у вас присутствует вы сами должны позаботиться об получении актуальных данных для каждого документа.
В частности т.к. StoreCycles вызывается многократно без пересоздания объекта некоторые глобальные переменные или позиции в таблицах могут быть взяты из прошлого документа. 
PS: Вспомните задачу: "Буратине дали три яблока. Два он съел. Сколько яблок осталось у Буратины? Думаете одно? Hичего подобного. Hикто же не знает сколько у него уже было яблок до этого. Мораль - обнуляйте переменные!!! "
			 
			
					
				Re: TXOAPI - подстановка счета автоматически, и надо учесть 
				Добавлено: 06 мар 2012, 06:25
				 Алексей
				ой, а я совсем забыл про эту волшебную функцию, TxoAllowRecallStoreCycles, действительно стоит.
получается что эту функцию можно применять только если уверен на 100% что headkau совпадают, верно?
			 
			
					
				Re: TXOAPI - подстановка счета автоматически, и надо учесть 
				Добавлено: 06 мар 2012, 09:53
				 LaaLaa
				Нет, просто то что в HeadKau сами передаете, сделайте чтобы оно корректно перевычислялось. Вы сами туда передаете протухшие значения. Проверьте в отладчике что туда вы передаете?