Страница 1 из 1
Я лошадь или опять "недокладывают мяса"?
Добавлено: 16 апр 2010, 17:02
Maverick
1. Накатили последние патчи (все апрельские какие есть)
2. Пытаюсь элементарно модифнуть линкформу "Отчет кассира" (KO4report , прототип dayuchved, компонента F_BuhRep). Для этого как обычно ищу последнюю модификацию в FRM соответствующих форм. Естественно не нахожу. Беру релизную DayUchRus.frn и по ее структуре ваяю себе линк-форму.
3. При компиляции ругается на отсутствие в форме-прототипе идентификатора OkFilDch (строка .if OkFilDch), т.е. несовпадение структуры линка и прототипа
4. По F4 достать последний линк не могу - нет FCENMAIN в лицензионном файле, хотя лицензия на ВИП есть. Через консоль администратора - тоже невозможно достать - тупо в нужном интерфейсе формы нет. там я так понял только FRF-формы светятся...
ВОПРОС: Каким образом и ГДЕ можно ГАРАНТИРОВАННО получить последние версии FRM?
Актуальность: СРОЧНО, еще вчера!!!
В натуре, "тигру в клетку не докладывают мяса" (с) Г.Хазанов
Добавлено: 16 апр 2010, 17:37
Masygreen
Код: Выделить всё
//------------------------------------------------------------------------------
// (c) Корпорация ГАЛАКТИКА
//------------------------------------------------------------------------------
// Галактика 5.8 - ФРО
// Кассовая книга, валютная касса, ежедневный учет по счету
//------------------------------------------------------------------------------
// Внимание! Существует slk-отчет по Ежедневному учету (копии всех присоединенных форм)
#doc
Базовая форма отчета "Кассовая книга, валютная касса, ежедневный учет по счету"
#end
.set name = 'DayUchVed'
!---------------------
! Кассовая книга рублевая
!---------------------
!.group 'DayUchRub_f1'
!.group 'DayUchRub_f2'
!.group 'DayUchRub_f3'
!.group 'KassaRus_f1'
!.group 'KassaBel_f1'
!---------------------
! Кассовая книга валютная
!---------------------
!.group 'DayUchVal_f1'
!.group 'DayUchVal_f2'
!.group 'DayUchVal_f3'
!.group 'DayUchBel'
!---------------------
! Ежедневный учет
!---------------------
!.group 'DayUch51_f1'
!.group 'DayUch51_f1'
!.group 'DayUch51_f1'
!---------------------
.nameinlist 'Базовая форма'
.hide
.var
ShowDigit : word
wKau : tTabKau
cKau : tGetKau
iSchet26 : ShowSchet26
BudjSchet : string
Compatibility: boolean;
.endvar
.begin
ShowDigit := wGetTune('Fin.ShowDigit');
end.
.fields
! интервал
ИнтерДат
! месяц
МесяцДаты : integer
! дата DD mon YYYY
ДатаКассы
! счет и его имя
НомОсСчета ИмяОсСчета
! наименование кассы/раздела расчетного счета
ИмяРаздела
! наименование валюты (для валютной кассы)
ИмяТекВал
! субсчет и его имя (для валютной кассы)
НомОсСуб ИмяОсСуб
! символы НДЕ и БВ
СимвНДЕ СимвБВ
! наименование НДЕ и БВ
ИмяНДЕ ИмяБВ
! номер очередного листа с начала года
НомЛиста : integer
! количество листов с начала месяца
КолЛистов : integer
c1f1
c2f1 c2f2
!----------------------------------------------
! символ валют по страницам
СимвНДЕ_П СимвБВ_П СимвНДЕ_Р СимвБВ_Р
! входящее сальдо
ДатаВхСал
ВхСалНДЕ : double
ВхСалВал : double
ВхСалБВ : double
БюджВхСалНДЕ : double
БюджВхСалВал : double
БюджВхСалБВ : double
ПропущеноДней
ВалютаГруппир КурсВалГруппир
! обороты
OborotNRec НоДок СодОпер SchetKs КорСчет КорСуб ПлатПол
! аналитика
KauKsTbl1 : word KauKsNrec1 : comp
KauKsTbl2 : word KauKsNrec2 : comp
KauKsTbl3 : word KauKsNrec3 : comp
KauKsTbl4 : word KauKsNrec4 : comp
KauKsTbl5 : word KauKsNrec5 : comp
KauKsTbl6 : word KauKsNrec6 : comp
ПрихНДЕ : double
ПрихВал : double
ПрихБВ : double
РасхНДЕ : double
РасхВал : double
РасхБВ : double
БюджПрихНДЕ : double
БюджПрихВал : double
БюджПрихБВ : double
БюджРасхНДЕ : double
БюджРасхВал : double
БюджРасхБВ : double
! суммы
! СумНДЕ_П СумВал_П СумБВ_П СумНДЕ_Р СумВал_Р СумБВ_Р
!----------------------------------------------
! итоговые суммы (приход-расход-остаток)
ИсхПрихНДЕ : double
ИсхПрихВал : double
ИсхПрихБВ : double
ИсхРасхНДЕ : double
ИсхРасхВал : double
ИсхРасхБВ : double
ИсхСалНДЕ : double
ИсхСалВал : double
ИсхСалБВ : double
! итоговые суммы по внебюджету (приход-расход-остаток)
БюджИсхПрихНДЕ : double
БюджИсхПрихВал : double
БюджИсхПрихБВ : double
БюджИсхРасхНДЕ : double
БюджИсхРасхВал : double
БюджИсхРасхБВ : double
БюджИсхСалНДЕ : double
БюджИсхСалВал : double
БюджИсхСалБВ : double
! на зарплату (только для кассы)
ЗарплНДЕ : double
ЗарплВал : double
ЗарплБВ : double
БюджЗарплНДЕ : double
БюджЗарплВал : double
! кол-во документов (только для кассы)
КолДок_1 КолДок_2 КолДок_3
КолДокПрих КолДокРасх
ФИОКассира ГлавБух РукПред ДолжРук
.endfields
ИнтерДат ^
МесяцДаты ^
ДатаКассы ^
НомОсСчета ^
ИмяОсСчета ^
ИмяРаздела ^
ИмяТекВал ^
НомОсСуб ^
ИмяОсСуб ^
СимвНДЕ ^
СимвБВ ^
ИмяНДЕ ^
ИмяБВ ^
НомЛиста ^
КолЛистов ^
!Фильтры
.if OkFilDch
.{
c1f1 ^
.{
c2f1 ^
c2f2 ^
.}
.}
.end
! нумерация страниц
.{
Лист @np@
! Цикл по валютам
.begin
// ПИР 102.53967
// установим параметр в нужное значение непосредственно перед переводом страницы
// (из-за чего и существует проблема) и восстановим сразу после.
// т.к. могут прервать формирование отчета, и параметр может не восстановиться
Compatibility := GetBooleanParameter('Forms', 'Compatibility', 0);
SetBooleanParameter('Forms', 'Compatibility', 0, false);
end.
.{
.[h
СимвНДЕ_П ^
СимвБВ_П ^
СимвНДЕ_Р ^
СимвБВ_Р ^
.]h
.if KassaVhSaldoDay
ДатаВхСал ^
ВхСалНДЕ ^
ВхСалВал ^
ВхСалБВ ^
БюджВхСалНДЕ ^
БюджВхСалВал ^
БюджВхСалБВ ^
ПропущеноДней ^
ВалютаГруппир ^
КурсВалГруппир ^
.end
! Цикл по документам
.{
OborotNRec ^
НоДок ^
СодОпер ^
SchetKs ^
КорСчет ^
КорСуб ^
ПлатПол ^
KauKsTbl1 ^ KauKsNrec1 ^
KauKsTbl2 ^ KauKsNrec2 ^
KauKsTbl3 ^ KauKsNrec3 ^
KauKsTbl4 ^ KauKsNrec4 ^
KauKsTbl5 ^ KauKsNrec5 ^
KauKsTbl6 ^ KauKsNrec6 ^
! Бюджетный счет
.begin
#ifdef Atl51
wKau[1] := KauKsTbl1;
wKau[2] := KauKsTbl2;
wKau[3] := KauKsTbl3;
wKau[4] := KauKsTbl4;
wKau[5] := KauKsTbl5;
wKau[6] := KauKsTbl6;
cKau[1] := KauKsNRec1;
cKau[2] := KauKsNRec2;
cKau[3] := KauKsNRec3;
cKau[4] := KauKsNRec4;
cKau[5] := KauKsNRec5;
cKau[6] := KauKsNRec6;
BudjSchet := iSchet26.ShowSchetBU(SchetKs, КорСуб, wKau, cKau);
#else
BudjSchet := iSchet26.ShowSchetBU(SchetKs, КорСуб, KauKsTbl1, KauKsTbl2, KauKsTbl3, KauKsTbl4, KauKsTbl5, KauKsTbl6,
KauKsNRec1, KauKsNRec2, KauKsNRec3, KauKsNRec4, KauKsNRec5, KauKsNRec6)
#endif
end.
ПрихНДЕ ^
ПрихВал ^
ПрихБВ ^
РасхНДЕ ^
РасхВал ^
РасхБВ ^
БюджПрихНДЕ ^
БюджПрихВал ^
БюджПрихБВ ^
БюджРасхНДЕ ^
БюджРасхВал ^
БюджРасхБВ ^
.}
-----------------------------------------------------------------
! итоговые суммы по ведомости
ИсхПрихНДЕ ^
ИсхПрихВал ^
ИсхПрихБВ ^
ИсхРасхНДЕ ^
ИсхРасхВал ^
ИсхРасхБВ ^
ИсхСалНДЕ ^
ИсхСалВал ^
ИсхСалБВ ^
БюджИсхПрихНДЕ ^
БюджИсхПрихВал ^
БюджИсхПрихБВ ^
БюджИсхРасхНДЕ ^
БюджИсхРасхВал ^
БюджИсхРасхБВ ^
БюджИсхСалНДЕ ^
БюджИсхСалВал ^
БюджИсхСалБВ ^
ЗарплНДЕ ^
ЗарплВал ^
ЗарплБВ ^
БюджЗарплНДЕ ^
БюджЗарплВал ^
.if BreakPage
.end
.[f
@np@
.]f
.}
.begin
SetBooleanParameter('Forms', 'Compatibility', 0, Compatibility);
end.
! итого по страницам
КолДок_1 ^
КолДок_2 ^
КолДок_3 ^
КолДокПрих ^
КолДокРасх ^
ФИОКассира ^
ГлавБух ^
РукПред ^
ДолжРук ^
.if duPrintPage
.end
! нумерация страниц
.}
.endform
Добавлено: 16 апр 2010, 17:38
Masygreen
оно ??
Добавлено: 16 апр 2010, 17:57
edward_K
это по F4
вообще скорей всего у вас рес соотв.не подключен.
Код: Выделить всё
.LinkForm 'KO4REPORT' Prototype is 'DAYUCHVED'
.Group 'kassarus_f1'
.NameInList 'Отчет кассира (форма КО-4)'
.p 80
.var
СумСтрНДЕПрих:Double
СумСтрНДЕРасх:Double
СтраницМес:Integer
СтраницГод:Integer
.endvar
.function PRINTSUMMA(Sum : double) : string;
begin
case ShowDigit of
0 : PrintSumma := DoubleToStr(Sum,'\0p[|-]3666''666''666''666''666');
1 : PrintSumma := DoubleToStr(Sum,'\1p[|-]3666''666''666''666''666.8');
2 : PrintSumma := DoubleToStr(Sum,'\2p[|-]3666''666''666''666''666.88');
3 : PrintSumma := DoubleToStr(Sum,'\3p[|-]3666''666''666''666''666.888');
4 : PrintSumma := DoubleToStr(Sum,'\4p[|-]3666''666''666''666''666.8888');
end;
end.
.function PRINTSUMMAZERO(Sum : double) : string;
begin
if Abs(Sum) > 0.005 then
PrintSummaZero := PrintSumma(Sum);
else
PrintSummaZero := ' ';
end.
.fields
c1f1
c2f1
c2f2
ДатаКассы
ВхСалНДЕ
НоДок
СодОпер
КорСчет
КорСуб
ПрихНДЕ
РасхНДЕ
PrintSumma(СумСтрНДЕПрих)
PrintSumma(СумСтрНДЕРасх)
PrintSumma(ИсхПрихНДЕ)
PrintSumma(ИсхРасхНДЕ)
PrintSumma(ИсхСалНДЕ)
ЗарплНДЕ
'true':'s'
if(МесяцДаты=12,
'Листов за месяц: '+ UpCase(trim(NumToString(СтраницМес,''))) +'. Листов за год: ' + UpCase(trim(NumToString(СтраницГод,'')))+'.',
'Листов за месяц: ' + UpCase(trim(NumToString(СтраницМес,'')))+'.'
)
ФИОКассира
UpCase(КолДокПрих)
UpCase(КолДокРасх)
ГлавБух
.endfields
.if OKFILDCH
Применен фильтр...
.{
^
.{
^ ^
.}
.}
.else
.end
.begin
СтраницГод := НомЛиста-1;
СтраницМес := КолЛистов;
end.
Отчет кассира за ^ г.
.{
.[H
Лист @np@
.]H
.{
.[H
.begin
СумСтрНДЕПрих := 0;
СумСтрНДЕРасх := 0;
end.
────────┬──────────────────────────────────────────────────────────────┬────────────┬─────────────────┬─────────────────
│ │ Номер кор- │ │
Номер │ От кого получено │ респонди- │ Приход, │ Расход,
докумен-│ или кому выдано │ рующего │ руб.коп │ руб.коп
та │ │ счета │ │
│ │ субсчета │ │
────────┼──────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────────────
1 │ 2 │ 3 │ 4 │ 5
────────┼──────────────────────────────────────────────────────────────┼────────────┼─────────────────┼─────────────────
.]H
.if KASSAVHSALDODAY
│ Остаток на начало дня │&'&&&&&&&&&&&&&&&│ X
├──────────────────────────────────────────────────────────────┬────────────┼─────────────────┼─────────────────
.else
.end
.{
.begin
СумСтрНДЕПрих := СумСтрНДЕПрих + ПрихНДЕ;
СумСтрНДЕРасх := СумСтрНДЕРасх + РасхНДЕ;
end.
@@@@@@@@│ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@│ @@@@@ @@@@ │&#'&&&&&&&&&&&&&&│&#'&&&&&&&&&&&&&&
.[F
────────┴──────────────────────────────────────────────────────────────┴────────────┼─────────────────┼─────────────────
Перенос │&'&&&&&&&&&&&&&&&│&'&&&&&&&&&&&&&&&
└─────────────────┴─────────────────
.begin
СтраницГод := СтраницГод+1;
СтраницМес := СтраницМес+1;
end.
.]F
.}
────────────────────────────────────────────────────────────────────────────────────┬─────────────────┬─────────────────
│ │
Итого за день │&'&&&&&&&&&&&&&&&│&'&&&&&&&&&&&&&&&
├─────────────────┼─────────────────
Остаток на конец дня │&'&&&&&&&&&&&&&&&│ X
├─────────────────┼─────────────────
в том числе на заработную плату, выплаты │ │
социального характера и стипендии │&'&&&&&&&&&&&&&&&│ X
└─────────────────┴─────────────────
.if BREAKPAGE
^
.else
.end
.}
.if DUPRINTPAGE
^
.else
.end
Кассир ___________________ ^
подпись расшифровка подписи
Записи в кассовой книге проверил и документы в
количестве @~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ приходных и
------------------------------------------------------
@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ расходных
-----------------------------------------------------------------
получил.
Бухгалтер ___________________ ^
подпись расшифровка подписи
.}
.endform
Добавлено: 19 апр 2010, 10:54
Maverick
данный отчетец живет в f_buhrep.res
он подключен.
его атрибуты: размер 3 986 074 байт, от 29.03.10 17:21
Добавлено: 19 апр 2010, 11:27
KATZ
Стоит именно этот F_BUHREP, исходник от 2006 года был взят из старинного GalFrm.rar, всё нормально компилируется. Прототип либо совсем не менялся, либо изменения не затронули топологию. Ищите причину где-то еще (например, версию VIP.EXE посмотрите).
Добавлено: 19 апр 2010, 11:29
Maverick
edward_K писал(а):это по F4
вообще скорей всего у вас рес соотв.не подключен.
если бы соотв. ресурс не был подключен, ругань была бы аля "не найдена форма-прототип"...
приведенную выше форму компилил - она 1 в 1 как у меня... получал ту же ошибку - "не определен идентификатор".
Добавлено: 19 апр 2010, 13:43
Maverick
Видимо, все-таки я лошадь, но все равно непонятно...
опытным путем разобрался с проблемой... но все равно осталось легкое недоумение.
итак
изначально было так:
а) в одном файле имелось 2 линк-формы
б) в файле проекта было #make '\*.frm'
Код: Выделить всё
. linkform form1 prototype platdocs
...
.endform
....
.linkform form2 prototype DAYUCHVED
...
.endform
разнес линк-формы по разным файлам, в проекте явно прописал
скомпилировалось на ура...
похоже что для 1 исходника одновременно подключается только 1 ресурсник.. как-то так...