Страница 2 из 2

Re: TXOAPI - подстановка счета автоматически, и надо учесть

Добавлено: 04 апр 2014, 08:25
Alexandr_Sh
Добрый день, уважаемые форумчане.

В продолжении темы:

Сложилась похожая ситуация, в ТХОAPI использовал Режим 0 для вычисления СЧЕТа\СубСчета-а по кредиту, а так же списка аналитик и их значений.
Возникает следующая ошибка:
Счет\Субсчет и коды КАУ подставляется как надо, однако для всех позиций документа значения КАУ подставляются из последней записи SpSopr-а.

Фрагмент кода:
procedure StoreCycles(hTxo : longint; buf : TTxoApiInfoDoc);
{

CurSoprDoc := buf.cSoprDoc;

_loop SpSopr
{
...определение значений аналитик и запись их в массив для 6 уровней КАУ (опредляет верно)

TxoHeadClear(hTxo);
TxoHeadAddSchet(hTxo,wFLKau_Mode0,Scht,SubScht);

for (i := 1; i<=6; i := i+1)
if Array_of_Kau<>0 then
TxoHeadAddKau(hTxo,wFLKau_Mode0,BuhSchet.KodTable,Array_of_Kau);

TxoBodyAddKau(hTxo,0,2,KatSopr.cPodrTo);
TxoBodyAddKau(hTxo,0,4,SpSopr.cmcusl);
TxoBodyAddKau(hTxo,0,10,SpSopr.cparty);
TxoBodySetSum(hTxo, spsopr.rprice*spsopr.kolfact, 0, 0);
TxoBodyInsert(hTxo);
}

Буду категорически признателен за любую помощь в решении проблемы.

Re: TXOAPI - подстановка счета автоматически, и надо учесть

Добавлено: 04 апр 2014, 10:52
edward_K
Все Head нужно заменить на Body
TxoBodyClear(hTxo);
и так далее.
Не забывайте про "_" - &VIP_[Obj:"....
По всем аналитикам разреза нужно ставить циклическую обработку - в том числе и по счету.
Что за Array_of_Kau - вы уверены, что он заполнен правильно?
Вы можете накидывать любые аналитики - обработчик сам по режиму разберется, что куда поставить и лишнее проигнорирует.

Re: TXOAPI - подстановка счета автоматически, и надо учесть

Добавлено: 11 апр 2014, 06:11
Alexandr_Sh
От души благодарю. Ошибка была в том, что в самой ТХО в циклической обработке не были указаны разрезы предполагаемых аналитик :oops:

Re:

Добавлено: 16 сен 2016, 16:53
Один Из Вас
edward_K писал(а):если аналитика на счетах разная, то без вариантов - на каждый счет своя проводка шаблона. а в апихе задаете параметр по какому счету считать. Желательно ее вызвать в формуле проводки, а не в ключах.
Столкнулись с тем что длина поля в шаблоне ТХО не позволяет записать формулу, поэтому использовали ключи:

Код: Выделить всё

if(coTXOGetField('KATSOPR','CNAZNA',&KAU[Кау:80]) = 0,Message('&a'+&a),Message('&b'+&b))

Ключи a и b на самом деле получились много длиннее, но для понимания сути проблемы приводим следующее определение:
Если Назначения в накладной нет, то выполняется &a = TxoSetSchetNrec(163,809) (счет 20:), иначе &b = TxoSetSchetNrec(163,813) (счет 26)
Однако: всегда последней операцией выполняется &b (счет 26), что нарушает логику определения счета в ТХО.
Можно ли какими-либо настройками восстановить логику, т.е. не вызывать ненужный ключ ?

Re: TXOAPI - подстановка счета автоматически, и надо учесть

Добавлено: 16 сен 2016, 20:22
edward_K
правильней в отдельном ключе определить конечное правильное значение для TXoSetSchet, а потом уже в новом вызвать один раз с этим параметром.
Ну и строчный IF в параметрах функций никто не отменял. Или Case если надо много значений перебрать.

Re: TXOAPI - подстановка счета автоматически, и надо учесть

Добавлено: 07 ноя 2016, 20:47
LaaLaa
Эдвард правильно сказал

Как в функциональных ЯП формулы ТХО вычисляются непоследовательно. А как декларации завизимых формул.