Страница 2 из 2
Добавлено: 19 фев 2010, 22:01
KATZ
Догадываюсь, в чем было дело. Ресурс с описаниями функций называется одинаково в EXTFUN.RES и в EXTFUN_WT.RES, использоваться будет какой-нибудь один из них. Вероятно, EXTFUN_WT.RES перекрывал EXTFUN.RES, а в нем точно нет ни PutHotCommand, ни xl...
Попутно вопрос к Screw: почему списки функций разбросаны по двум файлам, чем был бы плох единый список?
Добавлено: 22 фев 2010, 23:21
Screw
Если не ошибаюсь, то перечни зарегистрированных функций друг друга не перекрывают, а дополняют. Правду, полагаю, откроет Мэв, опубликовав свои конфигурации. Но перекрываться могут только описания отдельных функций.
В EXTFUN_WT лежат методы для работы с табелем учета рабочего времени (от Working Table). Декомпозиция же был сделана для сокращения сроков поставки обновлений и уменьшения зависимостей между ними. По идее он должен поставляться одновременно с выходом свежих доработок в wt.dll.
Добавлено: 26 фев 2010, 09:49
Maverick
в общем по порядку подключения ресурсов:
был такой бардак
Код: Выделить всё
COMPDATA.RES
L_PLANPR.RES
L_PHONECARD.RES
L_OSTATKI.RES
L_NALNAKL.RES
L_NALOG.RES
L_MOVECELL.RES
L_MOL.RES
L_MCU.RES
L_MARKET.RES
L_MAKENAKL.RES
L_MAKEDO.RES
L_KONTRBAL.RES
L_KATPARTY.RES
L_KATORG.RES
L_KATNAZNA.RES
L_KASSA.RES
L_GRSOPR.RES
L_GRSCH.RES
L_GRPLAT.RES
L_DOVER.RES
L_DOGOVOR.RES
L_CRM.RES
L_CONSIG.RES
L_COMMON.RES
L_CESSIA.RES
L_CALCUSL.RES
L_BOX.RES
L_BASEDOC.RES
L_ADVREP.RES
L_WOOD.RES
L_NIOKR.RES
L_VPR.RES
L_VAL.RES
L_UKSPLANS.RES
L_UKS.RES
L_TTNDOC.RES
L_SPEXCH.RES
L_SOPRDOC.RES
L_SMETA.RES
L_SKLAD.RES
L_SKID.RES
L_SF.RES
L_SERIALN.RES
L_SALDOMTR.RES
L_ROZN.RES
L_RETTARA.RES
L_RESERVE.RES
L_REPOPER.RES
L_REPBASEDOC.RES
L_REMONT.RES
L_REALTING.RES
L_PRNSOPR.RES
L_PRICES.RES
C_WEBSERVICES.RES
C_USERMANUAL.RES
C_TREETUNE.RES
C_TREE.RES
C_STATLINE.RES
C_PARTNER.RES
C_OLAP.RES
C_MAILER.RES
C_JOIN.RES
C_EXPIMP.RES
C_CHECKOPER.RES
C_CHECKKBU.RES
C_EXTCLASS.RES
C_TUNE.RES
C_COMMON.RES
C_CORPO.RES
GALHELP.RES
GALINFO.RES
Z_SREDN.RES
Z_ZAR.RES
Z_STAFFRECRUITING.RES
Z_CALC.RES
Z_MP.RES
Z_PAYREP.RES
Z_STAFFBUILDER.RES
Z_STAFFREPORTS.RES
Z_STATIS.RES
Z_NDFL.RES
Z_FOT.RES
Z_STAFFDOPREPORTS.RES
Z_MENU.RES
Z_WT.RES
Z_TARSTAV.RES
Z_STAFFTEST.RES
Z_STAFFCAT.RES
Z_STAFF.RES
EXTFUN_WT.RES
EXTFUN.RES
Z_PFREP.RES
Z_MGTS.RES
Z_LSCHET.RES
Z_KATPODR.RES
Z_CALENDAR.RES
M_UP.RES
M_TRANSP.RES
M_TPP.RES
M_SKLPLAN.RES
M_SERV.RES
M_SCRIPTS.RES
M_QUALITY.RES
M_MNPLAN.RES
M_DVS.RES
M_GETPOTR.RES
M_EIXML.RES
M_CONTROL.RES
F_XLSREP.RES
F_VZACHET.RES
F_VEKS.RES
F_VEDOM.RES
F_VALUTDOC.RES
F_UTILS.RES
F_USERREPORT.RES
F_TXOAPI.RES
F_TXO.RES
F_TREENEW.RES
F_TEMPLATE.RES
F_TAXES.RES
F_SOPRHOZ.RES
F_SHTRAF.RES
F_SFO.RES
F_SALDO.RES
F_RTXO.RES
F_POST.RES
F_PODOT.RES
F_PLPORREP.RES
F_PLPOR.RES
F_PLANSSCH.RES
F_PAT.RES
F_OSREP.RES
F_OSOPER.RES
F_OSINVCARD.RES
F_OS.RES
F_OFP.RES
F_OBOROT.RES
F_NALOGREG.RES
F_MBPPUB.RES
F_MBP.RES
F_KATKOD.RES
F_KATDOC.RES
F_ISKI.RES
F_GETAN.RES
F_FPOBOROT.RES
F_FPKATH.RES
F_FPHASHAN.RES
F_FPCATALOG.RES
F_FPBUDGET.RES
F_FPADDFLD.RES
F_FILIAL.RES
F_FA.RES
F_EXTAN.RES
F_DRAGM.RES
F_DOCOB.RES
F_DISTPL.RES
F_DIFFRATE.RES
F_CONSOL.RES
F_COMMON.RES
F_CLOSCH.RES
F_CASHBANK.RES
F_BUHSCHET.RES
F_BUHREP.RES
F_BANKDOCF.RES
F_BACKLOG.RES
F_AVIZO.RES
F_APLAN.RES
F_AN.RES
F_ALG.RES
ATLHELP.RES
вспомнил, что в свое время тоже что-то не собиралось, поднял старые CFG-шники и нашел что след. комбинация удовлетворяет моим условиям
стало
Код: Выделить всё
atlHelp.res
C_CheckKBU.res
C_CheckOper.res
C_Common.res
C_Corpo.res
C_ExpImp.res
C_ExtClass.res
C_Join.res
C_Mailer.res
C_OLAP.res
C_Partner.res
C_StatLine.res
C_Tree.res
C_TreeTune.res
C_Tune.res
C_UserManual.res
C_WebServices.res
compdata.res
EXTFUN.RES
ExtFun_WT.res
F_Alg.res
F_An.res
F_APlan.res
F_Avizo.res
F_BackLog.res
F_BankDocF.res
F_BuhRep.res
F_BuhSchet.res
F_CashBank.res
F_CloSch.res
F_Common.res
F_Consol.res
F_DiffRate.res
F_DistPl.res
F_DocOb.res
F_DragM.res
F_ExtAn.res
F_FA.res
F_Filial.res
F_FpAddFld.res
F_FpBudget.res
F_FpCatalog.res
F_FpHashAn.res
F_FpKatH.res
F_FpOborot.res
F_GetAn.res
F_Iski.res
F_KatDoc.res
F_KatKod.res
F_MBP.res
F_MBPPub.res
F_NalogReg.res
F_Oborot.res
F_OFP.res
F_OS.res
F_OSInvCard.res
F_OSOper.res
F_OsRep.res
F_Pat.res
F_PlansSch.res
F_PlPor.res
F_PlPorRep.res
F_PoDot.res
F_Post.res
F_RTXO.res
F_Saldo.res
F_SFO.res
F_Shtraf.res
F_SoprHoz.res
F_Taxes.res
F_Template.res
F_TreeNew.res
F_TXO.res
F_TXOAPI.res
F_UserReport.res
F_UTILS.res
F_ValutDoc.res
F_Vedom.res
F_Veks.res
F_VZachet.res
F_XlsRep.res
GalHelp.RES
GalInfo.res
L_AdvRep.res
L_BaseDoc.res
L_Box.res
L_CalcUsl.res
L_Cessia.res
L_Common.res
L_Consig.res
L_CRM.res
L_Dogovor.res
L_Dover.res
L_GrPlat.res
L_GrSch.res
L_GrSopr.res
L_Kassa.res
L_KatNazna.res
L_KatOrg.res
L_KatParty.res
L_KontrBal.res
L_MakeDO.res
L_MakeNakl.res
L_Market.res
L_MCU.res
L_MOL.res
L_MoveCell.res
L_NalNakl.res
L_Nalog.res
L_NIOKR.res
L_Ostatki.res
L_PhoneCard.res
L_PlanPR.res
L_Prices.res
L_PrnSopr.res
L_Realting.res
L_Remont.res
L_RepBaseDoc.res
L_RepOper.res
L_Reserve.res
L_RetTara.res
L_Rozn.res
L_SaldoMtr.res
L_SerialN.res
L_SF.res
L_Skid.res
L_Sklad.res
L_Smeta.res
L_SoprDoc.res
L_SpExch.res
L_TTNdoc.res
L_UKS.res
L_UksPlans.res
L_Val.res
L_VPr.res
L_Wood.res
M_Control.res
M_DVS.res
M_EIXML.res
M_GetPotr.res
M_MnPlan.res
M_Quality.res
M_Scripts.res
M_Serv.res
M_SklPlan.res
M_TPP.res
M_Transp.res
M_UP.res
supFilials.res
support.res
Z_Calc.res
Z_Calendar.res
Z_FOT.res
Z_KATPODR.res
Z_Lschet.res
Z_Menu.res
Z_MGTS.res
Z_MP.res
Z_NDFL.res
Z_PAYREP.res
Z_PFREP.res
Z_Rlist.res
Z_SREDN.res
Z_Staff.res
Z_StaffBuilder.res
Z_StaffCat.res
Z_StaffDopReports.res
Z_StaffIerRep.res
Z_StaffMenu.res
Z_StaffNastr.res
Z_StaffRecruiting.res
Z_StaffReports.res
Z_StaffTest.res
Z_Statis.res
Z_TarStav.res
Z_WT.res
Z_ZAR.res
Z_ZarNastr.res
по всей видимости нужно подключать ресурсы в алфавитном порядке следования компонент.
хотя мей би я не прав...
Добавлено: 26 фев 2010, 10:22
edward_K
compdata.res никогда не подключайте!!!
ресы нужно подключать в том порядке, как они в галактике в отчете о рабочей станции - так надежней, хотя с ведением компонентной принадлежности уже не так актуально, но все могет быть.
Добавлено: 27 фев 2010, 10:32
Maverick
compdata.res никакого криминала в себе не несет, никогда не мешал, а даже (счас точно не помню где) - без него даже чота не компилилось
Добавлено: 27 фев 2010, 11:22
KATZ
Screw писал(а):Если не ошибаюсь, то перечни зарегистрированных функций друг друга не перекрывают, а дополняют... перекрываться могут только описания отдельных функций.
Если бы это было так, то наличие EXTFUN.RES гарантировало бы нормальную компиляцию, независимо от других подключенных файлов и от места EXTFUN.RES в их списке. А раз результат зависит от порядка перечисления RES-файлов - значит, перечни функций не дополняются, а перекрываются целиком.
Добавлено: 27 фев 2010, 11:41
edward_K
да. а PutHotCommand нет ужо в vipprogr.chm - могли и вообще убрать. Но это нужно смотреть всю сборку extfun.res, а в каталоге FRM\CompSrc\ExtFun\ExtFun\vip\ не все файлы, да и там только то что лежит в dll, то что определяется на уровне атлантиса там нет. Если уж очень надо, то попробуйте поискать dll, где она есть и объявить аналогично. А лучше заменить на PutCommand.
У меня впрочем компилиться нормально, патчи вчера ставил.
Вот смущает что без compdata не комплится - vip если лежит в каталоге сапорта или галки сам его подключает. Вообще добавте /r в строку компиляции - запустится сам vip после отработки строчного компилятора - и там поглядите отчет о рабочей станции.
Добавлено: 27 фев 2010, 12:13
Maverick
Ребят, еще раз повторюсь - после "метода научного тыка", заключавшегося в перетасовке порядка подключения ресурсников (см. выше пост о порядке подключения ресов) проблема исчезла.
Всем спасибо.
Добавлено: 27 фев 2010, 14:39
Screw
Долго пытался поднять упавшую на пол челюсть, просматривая список
Братцы, сборка Галактики обходится подключением пары-тройки ресурсов с заголовками внешних функций и базовыми интерфейсами для наследования. И всё! Ну еще ради базовых форм можно ресурс подключить, но весь же набор! Хотя мне конечно сложно оценить условия работы стороннего разработчика, поэтому я воздержусь от критики.
А по существу имею сказать следующее: скорее всего, существенной оказалась перестановка EXTFUN.RES и EXTFUN_WT.RES. Если у кого сейчас есть возможность, то проверьте, пожалуйста, сию теорию. Есть у меня одна безумная догадка, но я не буду ее пока озвучивать...
Добавлено: 27 фев 2010, 15:12
Maverick
Screw писал(а):Долго пытался поднять упавшую на пол челюсть, просматривая список
Братцы, сборка Галактики обходится подключением пары-тройки ресурсов с заголовками внешних функций и базовыми интерфейсами для наследования. И всё! Ну еще ради базовых форм можно ресурс подключить, но весь же набор! ...
Виталиq, а может быть потому и возникают новые дыры при латании старых?
У меня закрадывается смутное сомнение, что большинство появляющихся новых дырок, там, где их никогда не было - как раз в том что "пара-тройка и усё"...
но опять таки - это сугубо предположения
Добавлено: 01 мар 2010, 14:51
Screw
Лучший выход из любой ситуации - принимать решения, основанные на четком понимании ситуации, принципов, механизмов. "Пара-тройка..." - пример такого решения. Необходимые и достаточные. А вот касательно того, как распоряжается заголовками компилятор у меня точной информации нет. Если судить по тому, как реализовано подключение в Галактике, то перекрываются только декларации отдельных функций. Если судить по общим для любых ресурсных файлов правилам, то перекрываться должны наборы заголовков, и тогда поведение компилятора вполне объяснимо, и становится ясно, что для Галактики была разработана специальная версия метода подключения. Уточню - сообщу.
Re: Косяк с PutHotCommand
Добавлено: 22 июн 2012, 09:28
RAJAH
Приветствую!
Такая проблема возникла: при компиляции строчником cnf-файла получаю сообщение "Потеряли функцию "PUTHOTCOMMAND"!".
Код батника:
Код: Выделить всё
<<Каталог Галактики>>vip.exe iBornDateinLS.cnf /linc=ddd /c:VIP.cfg /resources:<<Каталог Галактики>>Z_Lschet.res
Результат выполнения:
Код: Выделить всё
Путь_запуска><<Каталог Галактики>>vip.exe iBornDateinLS.cnf /linc=d
dd /c:VIP.cfg /resources:<<Каталог Галактики>>Z_Lschet.res
Interface compiler. Версия 5.4.38.5 (c) 1992-2012, корпорация "Галактика"
Считывается словарь ████████████████████████████████
Идет загрузка таблицы X$FILES<!> из базы.(|)
Путь_запуска\iBornDateinLS.cnf(0)
Потеряли функцию "PUTHOTCOMMAND"!
Продолжить выполнение?
(Нет - выход из программы, Отмена - не сообщать о дальнейших ошибках) [ Y-да N-н
ет ESC-отмена ] : да.
Путь_запуска\iBornDateinLS.cnf(53)
Путь_запуска\iBornDateinLS.cnf(53)
Путь_запуска\iBornDateinLS.cnf
Время компиляции 4.6 сек.
Что это значит, чем грозит и как победить?
Re: Косяк с PutHotCommand
Добавлено: 22 июн 2012, 10:08
KATZ
1). В VIP.CFG есть ссылка на ресурс со списком функций EXTFUN.RES?
2). Даже если один файл компилируется, всё равно лучше делать через PRJ. Когда-то давно была у меня ситуация: файл не компилировался, но стоило всего лишь создать проект с этим единственным файлом, как всё пошло. С тех пор - только через проекты.
Re: Косяк с PutHotCommand
Добавлено: 22 июн 2012, 10:13
RAJAH
Сделал проект - то же самое. В проекте #setcurenv "galnet" написал, и ключ /resources не нужен.
Ага, нужен, оказывается: /resources: ExtFun.res указал, и ошибка исчезла, хотя ExtFun.res в репозитарии уже подключён к системе "galnet".
Re: Косяк с PutHotCommand
Добавлено: 22 июн 2012, 10:37
KATZ
RAJAH писал(а):В проекте #setcurenv "galnet" написал, и ключ /resources не нужен.
Где-то уже обсуждалось раньше. Есть два файла с описаниями функций: EXTFUN.RES и EXTFUN_WT.RES. Список функций в обоих файлах имеет одинаковое имя. Если оба файла подключены, то фактически только один список будет доступен, а не оба. Ваша функция есть в первом списке, но отсутствует во втором. Приоритет у обоих файлов одинаковый, в каком порядке они грузятся - хз. Я бы попробовал убрать
#setcurenv и явно подключить
только нужные ресурсы.
Добавлено:
Только сейчас заметил, что в этой же теме и обсуждалось.