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

Аналитики в сальдо за месяц

Добавлено: 18 мар 2003, 15:03
renat
Ситуация:
надо получить таблицу в текстовом виде

счет субсчет дебет/кредит кау1 кау2 кау3

кау - это ссылки на записи в других таблицах, а надо чтобы были стороковые значения из соответствующих таблиц. Зная аналитику на конктретном счет-субсчет я могу SQL запросом сделать выборку. А как это сделать автоматически? Поле которое идет в аналитику в разных таблицах разное (NAME, NAMEOS и другие). Где галактика сама "смотрит" кокое поле из какой таблицы использовать для отображения аналитики?
???
смотрел таблицы saldmoun, katkau, x$files

Re: Аналитики в сальдо за месяц

Добавлено: 18 мар 2003, 17:03
DarkGreen
тебя интересует таблица KATHOZD (каталог хозяйственой деятельности) начиная с записей следующих после записи у которой поле NAME иммет значение === НЕ ИСПОЛЬЗУЕТСЯ ===
Значение-Таблица-Поле
1 - KATORG - NAME
2 - KATPODR - NAME
3 - PERSONS - FIO
4 - KATMC - NAME
5 - KATUSL - NAME
6 - BASEDOC - NAME
15- KATOS - NAMEOS
16- KATOS - NAMEOS

Re: Аналитики в сальдо за месяц

Добавлено: 18 мар 2003, 21:18
Deinis
Сальдо получить не так уж сложно. Вот получить значения КАУ в проводках - уже сложнее:
http://www.tyumbit.ru/galaktika/read.ph ... 073&t=2073

Что касается таблицы сальдо:
SaldMoun.TblOS[i] -> KatKau.KodGroup
А KatKau.CoTable -> порядковый номер таблицы (но по-моему, не всегда это так).
SaldMoun.KAUOS[i] -> nRec записи в соответствующей таблице.
Все записи аналитик лежат либо в SpKAU - это "Пользовательская аналитика", либо в соответствующих системных таблицах (см. их номера в поле KatKau.CoTable)

Re: Аналитики в сальдо за месяц

Добавлено: 20 май 2003, 14:49
IgorA
Это какой же запрос будет, если подключить
100 системных справочников плюс пользовательский спр.?

Re: Аналитики в сальдо за месяц

Добавлено: 20 май 2003, 15:26
DarkGreen
Дебильный, но мы не пользуемся сиквелом для Первасива, а работаем с базами Галактическими через Btrieve API ;)

Re: Аналитики в сальдо за месяц

Добавлено: 20 май 2003, 15:59
Goblin
Запроса не будет ...
потому как построить такой - невозможно ...
а галактика смотрит просто :
в логической табле фейса только обороты, план счетов, всякая настроечная мелочь типа корреспонденции,кодов аналитики по счетам ..

а вот само поле аналитики - это сумма функций получения имени по настройке в schetkau и katkau из того в что в kauos[i] и tblos[i] у saldmoun и oborot стоит . со здоровенным таким case'ом (если нет функций присвоения значения полю таблицы по ее коду) или не очень большим (если такие функции есть - но я их не знаю и доках не видел) ...

Re: Аналитики в сальдо за месяц

Добавлено: 26 май 2003, 10:11
stranger1970
Личный опыт

function GetKau(TabKau:word; RecKau:comp; VidKau:string[2]; LenKauCod:word;LenKauNam:word): String;
/***************************************************************************
Функция возращает код или наименование КАУ
****************************************************************************
TabKau Ссылка на группу КАУ
RecKau NREC КАУ
VidKau КАУ Код ("k") Имя ("i") Код+Имя ("ki")
LenKauCod Длинна Кода КАУ в символах
LenKauNam Длинна Имя КАУ в символах
***************************************************************************/
var
KauNames, KauCodes : String;
begin
KauNames:='';
KauCodes:='';
If(TabKau>=100)
{ if (modifier GetFirst SpKau where ((RecKau==SpKau.Nrec)) = tsOk)
{KauNames:=SpKau.Name; KauCodes:=Trim(SpKau.Code); }
else
{KauNames:=''; KauCodes:=''; }
}
else
{
Case TabKau of
1: {if (modifier GetFirst KatOrg where ((RecKau==KatOrg.Nrec)) = tsOk)
{KauNames:=Katorg.Name; KauCodes:=Trim(Katorg.Okpo); }
else
{KauNames:=''; KauCodes:=''; }
}
2: {if (modifier GetFirst KatPodr where ((RecKau==KatPodr.Nrec)) = tsOk)
{KauNames:=KatPodr.Name; KauCodes:=Trim(KatPodr.Kod); }
else
{KauNames:=''; KauCodes:=''; }
}
3: {if (modifier GetFirst Persons where ((RecKau==Persons.Nrec)) = tsOk)
{KauNames:=Substr(fios(Persons.FIO),1,14); KauCodes:=Replace(LPad(String(Persons.Tabnmb),5),' ','0'); }
else
{KauNames:=''; KauCodes:=''; }
}
4: {if (modifier GetFirst KatMc where ((RecKau==KatMc.Nrec)) = tsOk)
{KauNames:=KatMc.Name; KauCodes:=Trim(KatMc.BarKod);}
else
{KauNames:=''; KauCodes:=''; }
}
end; // case
}

GetKau:=''
Case Trim(VidKau) of
'k': GetKau:=Substr(KauCodes,1,LenKauCod);
'K': GetKau:=Substr(KauCodes,1,LenKauCod);
'i': GetKau:=Substr(KauNames,1,LenKauNam);
'I': GetKau:=Substr(KauNames,1,LenKauNam);
'ki': GetKau:=Substr(KauCodes,1,LenKauCod)+' '+Substr(Trim(KauNames),1,LenKauNam);
'KI': GetKau:=Substr(KauCodes,1,LenKauCod)+' '+Substr(Trim(KauNames),1,LenKauNam);
end;
end;