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

Компиляция формы счет-фактуры

Добавлено: 06 май 2005, 10:41
sim
Как по-человечески это сделать в версии 7.11?
Подсказывают, что нужно делать через проект.
Просветите насчет проекта плз.

Добавлено: 06 май 2005, 10:59
DarkAngel27
Недавно похожая тема уже обсуждалась (по-поводу проекта)...
Пишешь vip.BAT в котором указываешь:

Код: Выделить всё

d:\gal711\exe\vip.exe %1 /B /R:c:\resurse.res
Если что-то не хватает поправьте...
Настраиваешь VIP.CFG, приблизительно так:

Код: Выделить всё

[HardWareKey]
   SharedPath= <Путь на папку обмена с аппаратным ключём>
[LicParam]
    LicFileName="<Путь на Lic файлик>"
[DataBase]
   DataBaseName=<Путь на БД>
[Files]
   TmpFilesDirectory=.\Temp\Vip
   FileHandles=220
[Compilers]
   IncludesPath= <Путь где лежать INCLUDE файлы>
   ErrorLevel=0
   Make=On
[System]
   OpenResources= <Подключаемые Ресурсники>
   OpenResources= <Подключаемые Ресурсники>
...
! Формировать листинги в результате компиляции
/L+
Далее создаёшь проектный файлик, к примеру, my_project.prj, в котором пишешь

Код: Выделить всё

#make "<путь+имя файла для компелирования>"
#make "<путь+имя файла для компелирования>"
...
В начале желательно подкючить константы...
Единственное, всё это будет работать только при наличии лицензии на VIP.
И в итоге производешь компеляцию "vip.bat my_project.prj" Получившийся ресурсник подключаешь к Галке.
А вообще можно скомпелировать и через SQL, либо прямо из Галактики.

Добавлено: 06 май 2005, 11:53
sim
ОК
Спасибо

А дело вот в чем:
в Гал 7.11 не компилируются FCOM-ом формы СФ.
Причина (цитирую ответ ДТП):

В формах счетов-фактур после установки этих патчей для получения информации о стране происхождения используется объектный интерфейс.
В форме это делается при помощи переменной

.var
iCountry: MCOriginCountry;
.endvar

Для компиляции счет-фактур можно использовать компилятор vip, если на него закуплена лицензия. Для этого следует создать проектный файл, куда включить исходный текст объектного интерфейса, находящего в присоединенном к этому письму файле, и исходный текст формы счет-фактуры.
Если на компилятор vip лицензии нет, то таким образом откомпилировать форму к сожалению не получится. В этом случае единственный выход состоит в отказе от использования объектного интерфейса и получения страны происхождения другими средствами (например, используя собственную логическую таблицу). Если же эта информация не нужна, то надо просто отказаться от ее получения в счет-фактуре.
конец цитаты

текст объектного интерфейса MCOriginCountry.vih:

#ifndef __MCORIGINCOUNTRY_VIH
#define __MCORIGINCOUNTRY_VIH

ObjInterface IMCOriginCountry;
function getCountryName(cMC: comp; cParty: comp): string;
function getGTDNumber(cParty: comp): string;
end;

VipInterface MCOriginCountry implements IMCOriginCountry;

#end

Добавлено: 06 май 2005, 12:26
DarkAngel27
А если через Галактику скомпелировать? Так не получается?

Добавлено: 06 май 2005, 12:37
m0p3e
Не знаю как в 7-ке, но в 5.82 для проверки функций объектного интерфейса достаточно при компиляции подключить ресурс в котором находится данный объектный фейс.
Серж. Попробуй в vip.cfg добавить:
[Forms]
/resources=<путь>\exe\*.res
Ресурсники от патчей или подключи отдельно или свали туда же.

Добавлено: 06 май 2005, 12:46
Maverick
В том то все и дело - начиная с 585 требуется лицензия на ВИП...
и соответственно для перекомилящии форм, содержащих OBJ-интерфейсы требуется лицензия на VIP

Добавлено: 06 май 2005, 13:34
sim
Серый, не...
не катит, ресурсники подключать само собой, пробовали
да и по F4 из Галки тоже не прется
нужно VIP-ом, однозначно, через проект
это где-то после оперфикса 11-го такое началось (см. ответ ДТП), некоторые формы СФ не стали компилиться, пришлось комментить строки с этим объектным фейсом, а сейчас (fix24) и это не помогает, и вообще ни одна не компиляется
ладно, сделаем VIP-ом, проблемов нет, он в наличии
только вот нужны нам такие заморочки?

Добавлено: 06 май 2005, 14:14
DarkAngel27
Только не забудь в проекте подключить #include MCOriginCountry.vih иначе ошибка останется.