Страница 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 в своем фейсе без переделки остального, попробовать , сообщить результат, при отрицательном привести код тестового фейса. Мне лень пробовать самому, да и есть чем другим заняться. 8). Наскока помню pickbuh ушел еще в 712 - вроде там у меня фейс с выбором работал. На 810 пока никто аналогичного не просил.