TXOAPI - подстановка счета автоматически, и надо учесть КАУ

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Alexandr_Sh
Сообщения: 12
Зарегистрирован: 22 авг 2013, 11:27

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

Сообщение 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);
}

Буду категорически признателен за любую помощь в решении проблемы.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5185
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

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

Сообщение edward_K »

Все Head нужно заменить на Body
TxoBodyClear(hTxo);
и так далее.
Не забывайте про "_" - &VIP_[Obj:"....
По всем аналитикам разреза нужно ставить циклическую обработку - в том числе и по счету.
Что за Array_of_Kau - вы уверены, что он заполнен правильно?
Вы можете накидывать любые аналитики - обработчик сам по режиму разберется, что куда поставить и лишнее проигнорирует.
Alexandr_Sh
Сообщения: 12
Зарегистрирован: 22 авг 2013, 11:27

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

Сообщение Alexandr_Sh »

От души благодарю. Ошибка была в том, что в самой ТХО в циклической обработке не были указаны разрезы предполагаемых аналитик :oops:
Один Из Вас
Посетитель
Сообщения: 43
Зарегистрирован: 18 мар 2015, 13:35

Re:

Сообщение Один Из Вас »

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), что нарушает логику определения счета в ТХО.
Можно ли какими-либо настройками восстановить логику, т.е. не вызывать ненужный ключ ?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5185
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

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

Сообщение edward_K »

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

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

Сообщение LaaLaa »

Эдвард правильно сказал

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