TXO API для бюджета, у кого есть опыт?
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 645
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"
TXO API для бюджета, у кого есть опыт?
Ни у кого опыта нет в вопросе этом? как-то в доке мало написано в этом плане. Может где здесь обсуждали?
Нужно исходя из того, что привязано к договору (внешняя классификация) при разноске сопроводительных документов этого договора делать разноску на определенную аналитику статьи.
Нужно исходя из того, что привязано к договору (внешняя классификация) при разноске сопроводительных документов этого договора делать разноску на определенную аналитику статьи.
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
При написании ТХО АПИ нужно учитывать то, что если хочешь подключать какие-то КАУ (пользовательские - в вашем случае это статьи?), то нужно их заполнять прямо в випе командой: TxoBodyAddKau(hTxo, wFlKau_Mode0, Hozobor.TBLOS[1], SpKaud.Nrec), при чём Spkau должна быть спозиционирована нужным образом на нужную запись.
Если КАУ совпадёт, проводки склеятся.
Ну и в настройке не забыть указать циклическую обработку спецификаций по вашим статьям.
Если КАУ совпадёт, проводки склеятся.
Ну и в настройке не забыть указать циклическую обработку спецификаций по вашим статьям.
-
- Местный житель
- Сообщения: 1357
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: СПб, ЭП-Аудит
- Контактная информация:
Нет так не пойдет!
Если сделать при помощи TxoBodyAddKau, то придется прописывать как будут грузиться суммы и прочие другие аналитики.
Ест вариант на много проще:
Я так полагаю что по отношению к проводимому документу аналитика в бюджете будет формироваться не циклически!
Если так - то то лучше написать режим формирования аналитики, в данном случае статею бюджетов. В таком случае суммы вы сможете вытаскивать стандартными идентификаторами, а аналитику собственным режимом! При помощи ObjTxoMenuPlugin и ObjTxoExtractKauPlugin.
И статьи там не пользовательские!
Если сделать при помощи TxoBodyAddKau, то придется прописывать как будут грузиться суммы и прочие другие аналитики.
Ест вариант на много проще:
Я так полагаю что по отношению к проводимому документу аналитика в бюджете будет формироваться не циклически!
Если так - то то лучше написать режим формирования аналитики, в данном случае статею бюджетов. В таком случае суммы вы сможете вытаскивать стандартными идентификаторами, а аналитику собственным режимом! При помощи ObjTxoMenuPlugin и ObjTxoExtractKauPlugin.
И статьи там не пользовательские!
-
- Местный житель
- Сообщения: 645
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"
Что-то взял исходники примеров, а они не компилируются для 7 11.
Пришлось подцепить типы, так как описание типов не подинклюдено в исходниках...или чего-то не то делаю?
Сейчас компилируется, но неужели надо менять код, чтобы скмпилировать примеру?
Мне кажется я как-то неверно понимаю вообще возможнотси API.
Я так понимаю, что алгоритм написанный на ВИПе вызывается в ходе привязки оборота к документу (обработка ТХО, в которой в алгоритме стоит &VIP....
В данном алгоритме я могу подцепить исходя из знания Nrec-а разносимого документа любую информацию, связанную с ним в БД.
Делая этот анализ я могу - подцепить к обороту аналитику, пересчитать сумму оборота и другие его атрибуты. Так?
Теперь уже идет к статье бюджета. Аналитика привязывается также к обороту, как и в случае с обычный оборотом? И вроде правильно написали, что используется функция записи аналитики. Только я не понял, что с чем должно совпадать и почему второй автор все это отмел
Может у кого есть примеры или в опыте?
Пришлось подцепить типы, так как описание типов не подинклюдено в исходниках...или чего-то не то делаю?
Сейчас компилируется, но неужели надо менять код, чтобы скмпилировать примеру?
Мне кажется я как-то неверно понимаю вообще возможнотси API.
Я так понимаю, что алгоритм написанный на ВИПе вызывается в ходе привязки оборота к документу (обработка ТХО, в которой в алгоритме стоит &VIP....
В данном алгоритме я могу подцепить исходя из знания Nrec-а разносимого документа любую информацию, связанную с ним в БД.
Делая этот анализ я могу - подцепить к обороту аналитику, пересчитать сумму оборота и другие его атрибуты. Так?
Теперь уже идет к статье бюджета. Аналитика привязывается также к обороту, как и в случае с обычный оборотом? И вроде правильно написали, что используется функция записи аналитики. Только я не понял, что с чем должно совпадать и почему второй автор все это отмел
Может у кого есть примеры или в опыте?
Некоммерческое общение в форуме
-
- На пенсии
- Сообщения: 797
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: г. Тюмень
- Контактная информация:
Писал недавно Тхо (712) по складским ордерам, чтобы аналитика (организация) проставлялась из накладной. Причем ссылка на накладую через внешний атрибут.
Shift + F3 Режимы формирования аналитики
Реализация режима.
Кстате, обещают в 712 патч через месяца два, который решит как эту проблему, так и позволит передавать значение аналитики в определенный режим. А так же расширит функционал, связанный с внешними атрибутами (coTxoGetAttr).
Shift + F3 Режимы формирования аналитики
Код: Выделить всё
#include TxoApi.vih
VipInterface TxoMenu_MFGetOrg implements ObjTxoMenuPlugin;
Interface TxoMenu_MFGetOrg;
create view
var
wNone: Word;
;
procedure OnMakeMenu(hMenu : ObjTxoMenuServer);
{ // добавить два режима 5000 и 5001 для счета и аналитики
hMenu.AddTxoMenu(mnuFlUserKau, 0, 0, 'separator', '');
hMenu.AddTxoMenu(mnuFlUserKau, 0, 5600,
'Организация из накладной - [Тюмбит-АСУ]', '<авто - Организация из накладной - [Тюмбит-АСУ]>');
}
procedure OnSetEnableMenu(hMenu : ObjTxoMenuServer; TiDkGal, SysOper : word);
{ //определить доступность добавленных нами режимов
var flag: Boolean;
flag := (TiDkGal = Word(160)) or (TiDkGal = Word(260)) or
(TiDkGal = Word(150)) or (TiDkGal = Word(250));
if flag hMenu.EnableMenu(mnuFlUserKau, 0, 5600)
else hMenu.DisableMenu(mnuFlUserKau, 0, 5600)
}
end.
Код: Выделить всё
#include TxoApi.vih
VipInterface Txo_MFGetOrg implements ObjTxoIdentPlugin;
Interface Txo_MFGetOrg;
create view
var
cAttrNam: Comp;
as select
AttrNam.Name
from
AttrNam(Readonly);
function GetInfo: String;
{
GetInfo := 'Получить Организацию из накладной по ссылке, заданной во вн. атрибуте складского ордера';
}
function ParamGen: String;
{
var Result: String;
PackFields;
ParamGen := '';
}
function ParamMaster: String;
{
ParamMaster := '';
}
const
sSklOrder_cSopr = 'Ссылка на накладную';
end;
procedure StoreCycles(hTxo: Longint; Buf: TTxoApiInfoDoc);
{
var wParser: Word;
var wi: Word;
var wX: Word;
var cSopr: Comp;
var cOrg: Comp;
cAttrNam := '';
if (Buf.TiDkGal <> Word(160)) and (Buf.TiDkGal <> Word(260)) and
(Buf.TiDkGal <> Word(150)) and (Buf.TiDkGal <> Word(250))
{
TxoDebugMsg(hTxo, 'MFGetOrg - [Тюмбит-АСУ]', 'Функция работает только со складским ордером');
exit;
}
cSopr := Comp(0);
cOrg := Comp(0);
if GetFirst AttrNam where ((coSklOrder == AttrNam.wTable and
sSklOrder_cSopr == AttrNam.Name)) = tsOK
{
if GetFirst AttrVal where ((coSklOrder == AttrVal.wTable and
Buf.cSoprDoc == AttrVal.cRec and
AttrNam.nRec == AttrVal.cAttrNam)) = tsOK
{
cSopr := AttrVal.vComp;
if GetFirst KatSopr where ((cSopr == KatSopr.nRec)) = tsOK
{
cOrg := KatSopr.cOrg;
}
}
}
TxoDebugMsg(hTxo, 'MFGetOrg - [Тюмбит-АСУ]', '[Ссылка на накладную:' + cSopr + ']');
TxoDebugMsg(hTxo, 'MFGetOrg - [Тюмбит-АСУ]', '[Ссылка на организацию:' + cOrg + ']');
TxoHeadAddKau(hTxo, 5600, cgKau_KatOrg, cOrg);
TxoDebugMsg(hTxo, 'MFGetOrg - [Тюмбит-АСУ]', '---<****>---');
}
end.
-
- Местный житель
- Сообщения: 1357
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: СПб, ЭП-Аудит
- Контактная информация:
Вот создание режима формирования аналитики грузополучатели/отправителя:
Данный режим можно вызвать по Ctrl+F3 в аналитике по контрам.
Суммы же в свою очередь формируются стандартными идентификаторами.
Самая большая беда что такой режим не написать для циклицеских аналитик. Ну например для МЦ по спецификации накладной, так как аналитика по отношению к хозоперации будет циклическая.
Код: Выделить всё
#include TxoApi.vih
VipInterface TxoMenu_OrgGruz implements ObjTxoMenuPlugin;
Interface TxoMenu_OrgGruz
create view;
procedure OnMakeMenu(hMenu : ObjTxoMenuServer);
{
hMenu.AddTxoMenu(mnuFlUserKau, 0 , 0, 'separator', '');
hMenu.AddTxoMenu(mnuFlUserKau, 0 , 5560, 'Грузоотправитель', '<Грузоотправитель>');
hMenu.AddTxoMenu(mnuFlUserKau, 0 , 5561, 'Грузополучатель', '<Грузополучатель>');
}
procedure OnSetEnableMenu(hMenu : ObjTxoMenuServer; TiDkGal, SysOper : word);
{
var flag : boolean;
flag := false;
case TiDkGal of
101,111,201,211:
flag := true;
end;
if(flag)
{
hMenu.EnableMenu(mnuFlUserKau, 0 , 5560);
hMenu.EnableMenu(mnuFlUserKau, 0 , 5561);
}
else
{
hMenu.DisableMenu(mnuFlUserKau, 0 , 5560);
hMenu.DisableMenu(mnuFlUserKau, 0 , 5561);
}
}
end.
VipInterface TxoKau_OrgGruz implements ObjTxoExtractKauPlugin;
Interface TxoKau_OrgGruz;
const ifcName = 'TxoKau_OrgGruz';
end;
create view
var
CurSoprDoc : comp;
as select
*
from
Katsopr
where
((
CurSoprDoc == KatSopr.Nrec
))
;
procedure OnRegisterKauExtractor(hKau : ObjTxoExtractKauServer);
{
//Регистрируем типы документов
hKau.InsertTxoExtKauRegister(cgDoc_0101,ifcName); // Накладная на прием МЦ
hKau.InsertTxoExtKauRegister(cgDoc_0111,ifcName); // Акт на закупку услуг
hKau.InsertTxoExtKauRegister(cgDoc_0201,ifcName); // Накладная на отпуск МЦ
hKau.InsertTxoExtKauRegister(cgDoc_0211,ifcName); // Акт на оказание услуг
}
procedure OnExtractKau(hTxo : longint; TiDkGal : word; cSoprHoz, cSoprDoc : comp);
{
CurSoprDoc := cSoprDoc;
if (getfirst KatSopr = tsOk)
{
TxoHeadAddKau(hTxo, 5560, cgKau_KatOrg, KATSOPR.CGRUZFROM);
TxoHeadAddKau(hTxo, 5561, cgKau_KatOrg, KATSOPR.CGRUZTO);
}
}
end.
Суммы же в свою очередь формируются стандартными идентификаторами.
Самая большая беда что такой режим не написать для циклицеских аналитик. Ну например для МЦ по спецификации накладной, так как аналитика по отношению к хозоперации будет циклическая.
-
- Местный житель
- Сообщения: 645
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"
Во..я написал, как последний автор...только я привязывался не к системной, а к пользовательской аналитике и к разным режимам (ну тем, что по shift+f3), поэтому у меня не cgКауKatOrg, а просто код аналитики 10000 - это первый код пользовательской аналитики. И регистрировал я только 1 документ..другие не нужны были.
Так вроде работает все. С циклической я не пробывал, т.к. мне нужно было по документу, а не по спецификации.
А почему не работает циклическая...ведь теоретически надо просто подчеркивание поставить там и должно работать. Да и команды есть вроде. Это просто глючит или нет такой функциональности (что сомнительно). Давайте разберемся до конца.
Так вроде работает все. С циклической я не пробывал, т.к. мне нужно было по документу, а не по спецификации.
А почему не работает циклическая...ведь теоретически надо просто подчеркивание поставить там и должно работать. Да и команды есть вроде. Это просто глючит или нет такой функциональности (что сомнительно). Давайте разберемся до конца.
Некоммерческое общение в форуме
-
- Местный житель
- Сообщения: 645
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"
Еще вопрос по API
Еще возник вопрос ао API
У меня в документе нет циклических полей(спецификации) ,т.е. циклическую операцию я в ТХО задать не могу( если я правильно пнимаю). Но мне надо, чтобы по документу было создано много обротов с различными аналитическими признаками.
Могу ли я это сделать с помощью инструментов TXO API или нет (НЕТ я имею ввиду то, что API позвоняет только уточнять аналитику в хозоперации, суммы и т.д., но создавать новые обороты ОНА НЕ МОЖЕТ)? .
Мне надо по одному регистру учета чтобы было.
У меня в документе нет циклических полей(спецификации) ,т.е. циклическую операцию я в ТХО задать не могу( если я правильно пнимаю). Но мне надо, чтобы по документу было создано много обротов с различными аналитическими признаками.
Могу ли я это сделать с помощью инструментов TXO API или нет (НЕТ я имею ввиду то, что API позвоняет только уточнять аналитику в хозоперации, суммы и т.д., но создавать новые обороты ОНА НЕ МОЖЕТ)? .
Мне надо по одному регистру учета чтобы было.
-
- Местный житель
- Сообщения: 783
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва
- Контактная информация:
Re: Еще вопрос по API
Почему нет???ecasoft писал(а): У меня в документе нет циклических полей(спецификации) ,т.е. циклическую операцию я в ТХО задать не могу( если я правильно пнимаю). Но мне надо, чтобы по документу было создано много обротов с различными аналитическими признаками.
Если вы в теле процедуры StoreCycles организуете цикл по любым таблицам, из которых можно взять аналитические признаки с соответствующими им суммами и при этом в настройках шаблона ТХО в полях "Циклическая обработка по" выберете нужные вам группы аналитики, то этого вполне достаточно.
В принципе, даже можно создать временную таблицу и в процессе работы выводить ее на экран. А на экране ее заполнять. После заполнения проходиться по ней и выдавать в StoreCycles нужные суммы из нее и соответствующие аналитические признаки из нее же. Это похоже на создание оборотов, только их будет создавать сама ТХО на потоке ваших данных
-
- Местный житель
- Сообщения: 645
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"
спасибо за информацию, хотя так и не попробывал. Переключился на другую срочную задачу, а это ждет.
Если я правильно понял, то в ТХО указываешь аналитики в полях циклической аналитики. Затем в алгоритме по циклу выполнешь заполнение и в результате выполнения такако алгоритма получим количество оборотов равное количеству циклов. Попробую.
Если я правильно понял, то в ТХО указываешь аналитики в полях циклической аналитики. Затем в алгоритме по циклу выполнешь заполнение и в результате выполнения такако алгоритма получим количество оборотов равное количеству циклов. Попробую.
Некоммерческое общение в форуме