Страница 1 из 3
Интерфейс GetBuhSchet
Добавлено: 04 мар 2004, 22:08
Deinis
Народ, подскажите пожалуйста параметры интерфейса 'GetBuhSchet'.
Хочу сделать множественный выбор счетов/субсчетов. Как при запуске отчета "Аналитика по группам счетов".
Знаю, что 2-ой параметр - NRec плана счетов. А как сделать выбор?
И куда записывается этот выбор? Подскажите плиз...
Re: Интерфейс GetBuhSchet
Добавлено: 05 мар 2004, 08:12
Spvl
'GetSubSch' - выбор субсчета счета бухгалтерского учета
параметры
myPlansNo : comp // план счетов (UserTune.cPlansSch или SystDate.cPlansSch)
mySchet : string[20] // счет
mySubSch : string[20] // субсчет счета
Множественный выбор через нее не сделать
если только чего то свое городить.
Групповой выбор счета-субсчета я чего то не нашел.
Re: Интерфейс GetBuhSchet
Добавлено: 05 мар 2004, 09:23
Goblin
Первый параметр в GetBuhSchet - тип пометки в интерфейсе, третий и четвертый - счет и субсчет выбранные соответсвенно ... для множественного выбора сусбчетов и счетов нужно запускать RunInterface('GetBuhSchet',3,<NRec плана счетов>) ... 3-4-ые параметры можно опустить
все пишется в таблицу PickBuh ... притом там есть как записи выделенных счетов без субсчетов, так записи с субсчетами :
счета без субсчетов PickBuh.KodTable=65532
счета с субсчетами PickBuh.KodTable=65531
Re: Интерфейс GetBuhSchet
Добавлено: 05 мар 2004, 09:30
Goblin
по поводу первого параметра - откопал в аське беседу с одним из разработчиков и в ней нашел пояснение состава этого параметра:
по нему в зависимости от битовых значений определяется функционал интерфейса ...
0 - Просто просмотр без выбора
1 - Режим выбора
2 - Множественный выбор (комбинировать с 1)
256 - Выбор только субсчетов по переданному счету
512 - выбор только счетов
Re: Интерфейс GetBuhSchet
Добавлено: 05 мар 2004, 12:03
Deinis
Спасибо большое откликнувшимся, особенно Туманову О.В.
Добавлено: 23 ноя 2009, 10:12
istrebitel
в продолжение темы. а как реализовать то же самое в 810?
Добавлено: 23 ноя 2009, 11:12
Алексей
наверное так:
F_BUHSCHET::GETBUHSCHET
Добавлено: 23 ноя 2009, 11:20
istrebitel
я имею ввиду таблицу pickbuh, так как ее не стало
Добавлено: 23 ноя 2009, 11:21
istrebitel
как мне вытащить выбранные из интерфейса счет и субсчет
Добавлено: 23 ноя 2009, 11:39
edward_K
теперь это объект
PickBuh.Vih
в принципе вы можете попробовать его подрубить в свой фейс и использовать pickbuh прямо
Код: Выделить всё
#ifndef _PickBuh_vih_Included
#define _PickBuh_vih_Included
#ifdef ComponentVersion
#Component "F_BuhRep"
#end
#ifdef Gal8_1
!-------------------------------------------------------------------------------
Table struct PickBuh
(
KodTable : word "таблица"
,PickRec : tNRec "номер элемента в списке"
,PickKod : tSchet3 "код или NRec элемента"
,Schet : tSchet3 "бухг.счет"
,SubKau : tSchet3 "субсчет/КАУ"
,Name : tName "имя фильтра"
,Pick : integer "порядок выбора"
,PickKol : double "количество"
)
with index
(
PickBuhRec = KodTable + PickRec
,PickBuhKod = KodTable + PickKod
,PickBuhSch = KodTable + Schet + PickKod
,PickBuhPck = KodTable + Pick
);
!-------------------------------------------------------------------------------
#end
!-------------------------------------------------------------------------------
#doc
Серфисные функции для работы с таблицей PickBuh
#end
ObjInterface ObjPickBuh;
!-------------------------------------------------------------------------------
#doc
Подсчет количесва записей по коду таблицы
#end
function GetCountItem (wTab : word) : word;
!-------------------------------------------------------------------------------
#doc
Существуют ли записи по коду таблицы
#end
function FoundInPick (wTab : word) : boolean;
!-------------------------------------------------------------------------------
#doc
Вернуть PickRec первой найденной по коду таблицы записи
#end
function FoundInPick_GetRec
(wTab : word) : comp;
!-------------------------------------------------------------------------------
#doc
Вернуть PickKod первой найденной по коду таблицы записи
#end
function FoundInPick_GetKod
(wTab : word) : tSchet3;
!-------------------------------------------------------------------------------
#doc
Вернуть Schet первой найденной по коду таблицы записи
#end
function FoundInPick_GetSchet(wTab : word) : tSchet3;
!-------------------------------------------------------------------------------
#doc
Существуют ли запись по коду таблицы и PickKod
#end
function FoundInPickByKod (wTab : word; sKod : tSchet3) : boolean;
!-------------------------------------------------------------------------------
#doc
Существуют ли запись по коду таблицы и PickRec
#end
function FoundInPickByRec (wTab : word; cRec : comp) : boolean;
!-------------------------------------------------------------------------------
// приходится искать _Loop - ом, надо это дело как то грохать
#doc
Есть ли субсчет
#end
function FoundSubSch (Sch : tSchet3; Sub : tSubSch) : boolean;
!-------------------------------------------------------------------------------
#doc
Найти первый попавшийся субсчет и вернуть его и его счет
#end
function FoundFirstSub (var Sch : tSchet3;
var Sub : tSubSch) : boolean;
!-------------------------------------------------------------------------------
#doc
Есть ли в PickBuh субсчета указанного счета
#end
function FoundSubForSchet (Sch : tSchet3) : boolean;
!-------------------------------------------------------------------------------
#doc
Очистка таблицы
#end
function DeletePickBuh : boolean;
!-------------------------------------------------------------------------------
#doc
Удаление по коду таблицы
#end
function DeleteItem (wTbl : word) : boolean;
!-------------------------------------------------------------------------------
#doc
Удаление по коду таблицы и PickRec
#end
function DeleteItemByRec (wTab : word; cRec : comp) : boolean;
!-------------------------------------------------------------------------------
#doc
Удаление по коду таблицы и Счету
#end
function DeleteItemBySchet (wTab : word; Sch : tSchet3) : boolean;
!-------------------------------------------------------------------------------
#doc
Скопировать записи и вернуть количество
#end
function CopyItem (wOld, wNew : word) : word;
!-------------------------------------------------------------------------------
#doc
Перенести записи на новый код таблицы и вернуть количество
#end
function MoveItem (wOld, wNew : word) : word;
!-------------------------------------------------------------------------------
#doc
Вставить запись (все поля)
#end
function InsertFullRecord (wTbl : word;
cRec : comp;
sKod, sSch, sSub, sName : string;
iPick : integer;
dPick : double) : boolean;
!-------------------------------------------------------------------------------
#doc
Вставить запись (все поля для аналитики)
#end
function InsertAnRecord (wTbl : word;
cRec : comp;
sKod, sName : string;
iPick : integer) : boolean;
!-------------------------------------------------------------------------------
end;
!-------------------------------------------------------------------------------
VipInterface PickBuh implements ObjPickBuh #Licensed_Free;
!-------------------------------------------------------------------------------
#end // _PickBuh_vih_Included
есть еще pickbuhnew
Добавлено: 23 ноя 2009, 11:40
edward_K
Код: Выделить всё
#ifndef _PickBuhNew_vih_Included
#define _PickBuhNew_vih_Included
#ifdef ComponentVersion
#Component "F_BuhRep"
#end
!-------------------------------------------------------------------------------
Table struct PickBuhNew
(
lEntity : longint "насятройка, хранящая данные"
,KodTable : word "таблица"
,PickRec : tNRec "номер элемента в списке"
,PickKod : tSchet3 "код или NRec элемента"
,Schet : tSchet3 "бухг.счет"
,SubKau : tSchet3 "субсчет/КАУ"
,Name : tName "имя фильтра"
,Pick : integer "порядок выбора"
,PickKol : double "количество"
)
with index
(
PickBuhNewRec = lEntity + KodTable + PickRec
,PickBuhNewKod = lEntity + KodTable + PickKod
,PickBuhNewSch = lEntity + KodTable + Schet + PickKod
,PickBuhNewPck = lEntity + KodTable + Pick
);
!-------------------------------------------------------------------------------
//------------------------------------------------------------------------------
#doc
Обьектный интерфес работы с таблицей PickBuhNew. Аналог PickBuh,
но для работы с несколькими экземплярами одновременно.
#end
ObjInterface ObjPickBuhNew;
//------------------------------------------------------------------------------
#doc
Подсчет количесва записей по коду таблицы
#end
function GetCountItem (lEntity: longint; wTab: word): word;
//------------------------------------------------------------------------------
#doc
Существуют ли записи по коду таблицы
#end
function FoundInPick (lEntity: longint; wTab: word): boolean;
//------------------------------------------------------------------------------
#doc
Вернуть PickRec первой найденной по коду таблицы записи
#end
function FoundInPick_GetRec (lEntity: longint; wTab: word): comp;
//------------------------------------------------------------------------------
#doc
Вернуть PickKod первой найденной по коду таблицы записи
#end
function FoundInPick_GetKod (lEntity: longint; wTab: word): tSchet3;
//------------------------------------------------------------------------------
#doc
Вернуть Schet первой найденной по коду таблицы записи
#end
function FoundInPick_GetSchet (lEntity: longint; wTab: word): tSchet3;
//------------------------------------------------------------------------------
#doc
Существуют ли запись по коду таблицы и PickKod
#end
function FoundInPickByKod (lEntity: longint; wTab: word; sKod: tSchet3): boolean;
//------------------------------------------------------------------------------
#doc
Существуют ли запись по коду таблицы и PickRec
#end
function FoundInPickByRec (lEntity: longint; wTab: word; cRec: comp): boolean;
//------------------------------------------------------------------------------
#doc
Есть ли субсчет
#end
function FoundSubSch (lEntity: longint; Sch: tSchet3; Sub: tSubSch): boolean;
//------------------------------------------------------------------------------
#doc
Найти первый попавшийся субсчет и вернуть его и его счет
#end
function FoundFirstSub (lEntity: longint; var Sch: tSchet3; var Sub: tSubSch): boolean;
//------------------------------------------------------------------------------
#doc
Есть ли в PickBuh субсчета указанного счета
#end
function FoundSubForSchet (lEntity: longint; Sch: tSchet3): boolean;
//------------------------------------------------------------------------------
#doc
Очистка таблицы
#end
function DeletePickBuh (lEntity: longint): boolean;
//------------------------------------------------------------------------------
#doc
Удаление по коду таблицы
#end
function DeleteItem (lEntity: longint; wTbl: word): boolean;
//------------------------------------------------------------------------------
#doc
Удаление по коду таблицы и PickRec
#end
function DeleteItemByRec (lEntity: longint; wTab: word; cRec: comp): boolean;
//------------------------------------------------------------------------------
#doc
Удаление по коду таблицы и Счету
#end
function DeleteItemBySchet (lEntity: longint; wTab: word; Sch: tSchet3): boolean;
//------------------------------------------------------------------------------
#doc
Скопировать записи и вернуть количество
#end
function CopyItem (lEntity: longint; wOld, wNew: word): word;
//------------------------------------------------------------------------------
#doc
Перенести записи на новый код таблицы и вернуть количество
#end
function MoveItem (lEntity: longint; wOld, wNew: word): word;
//------------------------------------------------------------------------------
#doc
Вставить запись (все поля)
#end
function InsertFullRecord (lEntity: longint;
wTbl: word;
cRec: comp;
sKod,
sSch,
sSub,
sName: string;
iPick: integer;
dPick: double): boolean;
//------------------------------------------------------------------------------
#doc
Вставить запись (все поля для аналитики)
#end
function InsertAnRecord (lEntity: longint;
wTbl: word;
cRec: comp;
sKod,
sName: string;
iPick: integer): boolean;
//------------------------------------------------------------------------------
#doc
Создать старый PickBuh из нового PickBuhNew
#end
procedure MakePickBuh (lEntity: longint);
//------------------------------------------------------------------------------
#doc
Создать старый PickBuh из нового PickBuhNew, но только для wTab
#end
procedure MakePickBuhItem (lEntity: longint; wTab: word);
//------------------------------------------------------------------------------
#doc
Создать PickBuhNew из старого PickBuh
#end
procedure GetPickBuh (lEntity: longint);
//------------------------------------------------------------------------------
#doc
Создать PickBuhNew из старого PickBuh, но только для wTab
#end
procedure GetPickBuhItem (lEntity: longint; wTab: word);
//------------------------------------------------------------------------------
end;
//------------------------------------------------------------------------------
VipInterface PickBuhNew implements ObjPickBuhNew #Licensed_Free;
//------------------------------------------------------------------------------
#end // _PickBuhNew_vih_Included
Добавлено: 23 ноя 2009, 11:50
istrebitel
не получается его найти. где искать? есть ли он в стандартной поставке?
Добавлено: 23 ноя 2009, 11:56
edward_K
неа. Эти файлы давно не менялись, а vih стали подкладывать с 2008 года и только измененные.
Добавлено: 23 ноя 2009, 11:59
istrebitel
что мне делать? не догоняю
Добавлено: 23 ноя 2009, 12:14
edward_K
забрать указанный код в указаннык файлы, разместить их вместе с остальными галактическими vih, подцепить pickbuh.vih в своем фейсе без переделки остального, попробовать , сообщить результат, при отрицательном привести код тестового фейса. Мне лень пробовать самому, да и есть чем другим заняться.
. Наскока помню pickbuh ушел еще в 712 - вроде там у меня фейс с выбором работал. На 810 пока никто аналогичного не просил.