Создаем на диске папку с проектом. Папка называется "An_Sld".edd писал(а):И как описать таблицу в проекте?
#Include путь_к_файлу_с_таблицей\сам_файл
#make "путь_к_FRM\Frm"
Больше ничего добавлять не надо или я что-то не так написал? Не видит таблицу и всё...
В папке An_Sld создаем файл vip.cfg следующего содержания:
Код: Выделить всё
#INCLUDE \\GalMSK\D585$\vip.cfg
[System]
// для компиляции формы аналитики по группам счетов
OpenResources=\\Galmsk\Gal58502$\EXE\Buh.res
[Compilers]
IncludesPath = INC
OutputResourceName=D:\RES\An_Sld.res
В этой же папке создаем файл vip.bat следующего содержания:
Код: Выделить всё
Del Vip_Res.log
\\GalMSK\Gal58502$\EXE\vip.exe /c=vip.cfg An_Sld.prj /E=2 /L+
Del atlantis.res
Del leakage.log
Del *.tmp
RD HwDir
Здесь же создаем еще один файл An_Sld.prj следующего содержания:
Код: Выделить всё
// подключим описание типов данных для некоторых таблиц в памяти (table struct)
#INCLUDE DicTypes.def
// подключим описание самих таблиц в памяти (table struct)
#INCLUDE DefTables_An_Sld.vpp
CONST
coSaldoNM = 8002 ; // системный код таблицы SaldoNM
cgPick_Schet = 65532; // счета без субсчетов, сохраняемые при выборе в PickBuh.KodTable
cgPick_SubSch = 65531; // счета с субсчетами, сохраняемые при выборе в PickBuh.KodTable
// Вид оборотов
VidOb_Db = 1 ; // Записи в SaldoNM по ДЕБЕТУ (SaldoNM.ViOb)
VidOb_Kr = 2 ; // Записи в SaldoNM по КРЕДИТУ (SaldoNM.ViOb)
#INCLUDE KauConst.inc
// действия, производимые интерфейсом 'DefTables_An_Sld' с таблицами в памяти
InitTables = 1 ;
ClearTables = 2 ;
END
#MAKE '*.vip'
#MAKE '*.rtf'
Код: Выделить всё
Interface DefTables_An_Sld 'Инициализация/очистка таблиц в памяти (Table Struct)' AlwaysReturn ;
// AlwaysReturn - вернуть значения, даже если интерфейс завершился командой Abort
create view
Var Action : word ; // действие с таблицами в памяти
as select *
from
mtKatOrg
,mtDogovor
;
Parameters Action ;
HandleEvent
cmInit : {
case Action of
InitTables : {
DELETE All From mtKatOrg ;
DELETE All From mtDogovor ;
mtChangeRefCount( #mtKatOrg , 1 );
mtChangeRefCount( #mtDogovor, 1 );
}
ClearTables : {
DELETE All From mtKatOrg ;
DELETE All From mtDogovor ;
mtChangeRefCount( #mtKatOrg , -1 );
mtChangeRefCount( #mtDogovor, -1 );
}
end; // case
// mtChangeRefCount - увеличение/уменьшение кол-ва ссылок на мои Table struct - таблицы в памяти,
// увеличение кол-ва ссылок - чтобы таблицами можно было пользоваться во всех других интерфейсах
// уменьшение кол-ва ссылок - "грохнуть" таблицы из оперативной памяти
Abort; // Чтобы не открывалось окошко интерфейса
}
End;
END.
Код: Выделить всё
.begin
RunInterface('DefTables_An_Sld',InitTables);
end.
Код: Выделить всё
.begin
RunInterface('DefTables_An_Sld',ClearTables);
end.