Неявное описание ТХО Галактика 7.12

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

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

Ответить
scanner
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Кемерово, ОАО "Мелькорм"
Контактная информация:

Неявное описание ТХО Галактика 7.12

Сообщение scanner »

Подскажите каким образом можно вытащить субсчет из хозоперации накладной, при привязке ТХО счет-фактуры?

При этом не используя написание ТХО API, а только то что есть в галактике.

Была идея использовать lTXOGetField, но как добраться до проводок накладных по которым эта СФ была создана, ума не приложу.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

Версия 5.85.02

1. У хоз.операции нет счета, субсчета (либо в ТХО (шаблон), либо в проводке)
2. У С/Ф нет хоз.операций -> нельзя привязывать ТХО к С/Ф

Можно подробнее, что конкретно хотите?
scanner
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Кемерово, ОАО "Мелькорм"
Контактная информация:

Сообщение scanner »

Ну обшибся.

Имелось ввиду добраться до проводок накладной и вытащить субсчет.

СФ - имелось ввиду книга покупок/продаж.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

Боюсь стандартными средствами не обойтись. Используйте ТХО Апи.
Из книги продаж попадете на отгрузочную С/Ф, из неё в накладную, из накладной в хоз.операцию, и далее в проводки.
Ищете нужную и берете нужный субсчет.
St.Anislav
Постоянный обитатель
Сообщения: 147
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск
Контактная информация:

Сообщение St.Anislav »

TXO API, и только он. Кстати, накладных к СФ может быть привязано несколько, и теоретически - с разными субсчетами.
scanner
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Кемерово, ОАО "Мелькорм"
Контактная информация:

Сообщение scanner »

В том то и дело что компилятора фейсов у нас нет :(
Spvl
Постоянный обитатель
Сообщения: 136
Зарегистрирован: 29 мар 2005, 17:49

Сообщение Spvl »

А накой нужен такой изврат. как правильно заметил St.Anislav
накладных может быть несколько да еще с разными проводками.

пользуйтесь принципом "Делай проще ....." Может стоит сформулировать первоначальную проблему. решение подскажут.
scanner
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Кемерово, ОАО "Мелькорм"
Контактная информация:

Сообщение scanner »

Для накладных идет обработка спецификации и в зависимости от МЦ создается проводка на тот или иной счет, но как это реализовать для записей в книге покупок/продаж?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

Стандартно - ни как. По книге продаж нельзя сделать цикл по МЦ. Там их просто нет.

Кстати, по каким типам записей в книге продаж нужно делать проводки? Их ведь несколько...

Я из книги попадал в распределение платежа, и там уже бегал по распределению, а из него есть ссылка на позицию накладной/акта. Но это только по факту продажи (есть С/Ф отгрузка и С/Ф оплата).
scanner
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Кемерово, ОАО "Мелькорм"
Контактная информация:

Сообщение scanner »

проводки делаем по СФ-отгрузка

а можно поподробнее про то как вы попадали в расределение платежа?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

в ТХО АПИ - CurSoprDoc = nrec записи в книге подаж

CurSoprDoc == bookprzk.nrec
and bookprzk.nrec == spsophoz.cbookprzk
and spsophoz.cspsopr == spsopr.nrec
scanner
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Кемерово, ОАО "Мелькорм"
Контактная информация:

Сообщение scanner »

Ну вот я ж писал что нет ТХО API, а без него можно использовать только прямые переходы к таблицам с помощью lTXOGetField
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

без ТХО АПИ - нет возможности.
scanner
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Кемерово, ОАО "Мелькорм"
Контактная информация:

Сообщение scanner »

значит приехали :(
Seybukan
Местный житель
Сообщения: 1357
Зарегистрирован: 29 мар 2005, 17:49
Откуда: СПб, ЭП-Аудит
Контактная информация:

Сообщение Seybukan »

#include TxoApi.vih
VipInterface TXO_KnPok_NEW implements ObjTxoIdentPlugin;
interface TXO_KnPok_NEW;
create view
var
CurSoprHoz : comp;
CurSpSopr : comp;
CurSoprDoc : comp;
w1, w2 : word;
wtype : word ;
as select
*
from
soprhoz (readonly),katsopr(readonly),KATSOPR MYKATSOPR
where
((
CurSoprDoc == BOOKPRZK.Nrec
AND BOOKPRZK.CSCHFACT == SCHFACT.NREC
AND SCHFACT.NREC == KATSOPR.CSCHFACT
AND KATSOPR.VIDSOPR == OBOROT.TIDK
AND KATSOPR.NREC == OBOROT.CSOPRDOC
AND CurSoprHoz == Soprhoz.nrec
AND BOOKPRZK.CSOPR == MYKATSOPR.NREC
))
AND SUBSTR(OBOROT.SCHETO,2,2)='19'
;
function GetInfo : string;
{
GetInfo := 'вах вах';
}
function ParamMaster : string;
{ ParamMaster := '';
}

procedure StoreCycles(hTxo : longint; buf : TTxoApiInfoDoc);
{
var sum19:double;
var sum19V:double;
CurSoprDoc := buf.cSoprDoc;
CurSoprHoz := buf.cSoprHoz;

if getfirst BOOKPRZK= tsOk
{
if (getfirst OBOROT=tsok) // 33
{
do {
sum19:=sum19+OBOROT.SUMOB;
sum19V:=sum19V+OBOROT.SUMVALUT;
} while getnext OBOROT=tsok;
} //if 33 TxoHeadClear(hTxo);
TxoDebugMsg(hTxo, 'TXO_KnPok_NEW---', 'sum19 = '+STRING(sum19));
}


if getfirst BOOKPRZK= tsOk
{
if (getfirst OBOROT=tsok)
{
do {
TxoBodyClear(hTxo);
TxoBodyAddSchet(hTxo,wFlKau_Auto,oborot.SchetO,oborot.SubOsSch);
TxoBodyAddKau(hTxo, wFlKau_Auto, OBOROT.TBLOS[1] , OBOROT.KAUOS[1]);
TxoBodyAddKau(hTxo, wFlKau_Auto, OBOROT.TBLOS[2] , OBOROT.KAUOS[2]);
TxoBodyAddKau(hTxo, wFlKau_Auto, OBOROT.TBLOS[3] , OBOROT.KAUOS[3]);
TxoBodyAddKau(hTxo, wFlKau_Auto, OBOROT.TBLOS[4] , OBOROT.KAUOS[4]);
TxoBodyAddKau(hTxo, wFlKau_Auto, OBOROT.TBLOS[5] , OBOROT.KAUOS[5]);
TxoBodyAddKau(hTxo, wFlKau_Auto, OBOROT.TBLOS[6] , OBOROT.KAUOS[6]);
TxoBodySetSum(hTxo,Soprhoz.SUMMA*OBOROT.SUMOB/sum19,0,0);
TxoBodySetSumVal(hTxo,Soprhoz.SUMVALUT*OBOROT.SUMVALUT/sum19V,Soprhoz.KODVALUT);
TxoBodyInsert(hTxo);
TxoDebugMsg(hTxo, 'TXO_KnPok_NEW---', 'SUMOB = '+STRING(OBOROT.SUMOB/sum19));
TxoDebugMsg(hTxo, 'TXO_KnPok_NEW---', 'suBSCH19 = '+STRING(oborot.SubOsSch));
} while getnext OBOROT=tsok;
} //if
}//if
}
end.
Ответить