forum.bitel.ru http://forum.bitel.ru/ |
|
Компиляция динамического кода не проходит (CRM) http://forum.bitel.ru/viewtopic.php?f=51&t=11526 |
Страница 1 из 1 |
Автор: | Arcad77 [ 15 апр 2016, 23:18 ] |
Заголовок сообщения: | Компиляция динамического кода не проходит |
Задача 2 - Отслеживание должников по Абонентской плате (ТП - КабТВ аналог) - Создание списка для обзвона - создание списка для отключения --??? установил классы (динамический код) но они компилируются с ошибкой Источник http://wiki.bitel.ru/index.php/%D0%9E%D ... 0%A2%D0%92 Результат компиляции: Errors (2): /opt/BGCRM/dyn/ru/bgcrm/dyn/cabtv/KtvDebtManager.java:319:43 cannot find symbol symbol: method searchLinkProcessList(ru.bgcrm.model.SearchResult<ru.bgcrm.model.Pair<java.lang.String,ru.bgcrm.model.process.Process>>,int) location: variable processDao of type ru.bgcrm.dao.process.ProcessDAO /opt/BGCRM/dyn/ru/bgcrm/dyn/cabtv/KtvDebtManager.java:350:54 cannot find symbol symbol: method searchLinkProcessList(ru.bgcrm.model.SearchResult<ru.bgcrm.model.Pair<java.lang.String,ru.bgcrm.model.process.Process>>,java.lang.String,int,java.util.Set<java.lang.Integer>,<nulltype>,<nulltype>,<nulltype>) location: class ru.bgcrm.dao.process.ProcessDAO Warnings (1): Supported source version 'RELEASE_6' from annotation processor 'org.tuckey.web.filters.urlrewrite.annotation.UrlRewriteAnnotationProcessor' less than -source '1.8' Куда копать? |
Автор: | Администратор [ 19 апр 2016, 00:39 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит |
Смотреть в API документацию. Данный метод переехал сюда: http://www.bgcrm.ru/doc/3.0/javadoc/ru/ ... nkDAO.html |
Автор: | Arcad77 [ 27 апр 2016, 02:59 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит |
Чето я не то или не так поправил! Ошибок теперь 3 шт. Может поправите Саму статью в ВИКИ Errors (3): /opt/BGCRM/dyn/ru/bgcrm/dyn/cabtv/KtvDebtManager.java:317:57 incompatible types: ru.bgcrm.dao.process.ProcessLinkDAO cannot be converted to ru.bgcrm.dao.process.ProcessDAO /opt/BGCRM/dyn/ru/bgcrm/dyn/cabtv/KtvDebtManager.java:319:43 cannot find symbol symbol: method searchLinkProcessList(ru.bgcrm.model.SearchResult<ru.bgcrm.model.Pair<java.lang.String,ru.bgcrm.model.process.Process>>,int) location: variable processDao of type ru.bgcrm.dao.process.ProcessDAO /opt/BGCRM/dyn/ru/bgcrm/dyn/cabtv/KtvDebtManager.java:350:58 method searchLinkProcessList in class ru.bgcrm.dao.process.ProcessLinkDAO cannot be applied to given types; required: ru.bgcrm.model.SearchResult<ru.bgcrm.model.Pair<java.lang.String,ru.bgcrm.model.process.Process>>,int found: ru.bgcrm.model.SearchResult<ru.bgcrm.model.Pair<java.lang.String,ru.bgcrm.model.process.Process>>,java.lang.String,int,java.util.Set<java.lang.Integer>,<nulltype>,<nulltype>,<nulltype> reason: actual and formal argument lists differ in length Warnings (1): Supported source version 'RELEASE_6' from annotation processor 'org.tuckey.web.filters.urlrewrite.annotation.UrlRewriteAnnotationProcessor' less than -source '1.8' |
Автор: | Arcad77 [ 27 апр 2016, 15:47 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит |
Вроде все исправил, осталось только Предупреждение. Errors (0): Warnings (1): Supported source version 'RELEASE_6' from annotation processor 'org.tuckey.web.filters.urlrewrite.annotation.UrlRewriteAnnotationProcessor' less than -source '1.8' Класс вроде выполняется но в логе какой-то отказ от базы данных. 04-27/12:02:07 INFO [Thread-6] Scheduler - Running scheduled task: ru.bgcrm.plugin.bgbilling.creator.CustomerCreator@508338f1 04-27/12:02:07 INFO [pool-9-thread-4] Config - Loaded 2 param group rules. 04-27/12:02:07 INFO [pool-9-thread-4] ServerCustomerCreator - Creating server creator for: bg 04-27/12:02:07 ERROR [pool-9-thread-4] CustomerCreator - java.lang.NullPointerException at ru.bgcrm.plugin.bgbilling.creator.CustomerCreator.run(CustomerCreator.java:48) at ru.bgcrm.Scheduler$1.run(Scheduler.java:164) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 04-27/12:02:07 INFO [pool-9-thread-4] Scheduler - Task ru.bgcrm.plugin.bgbilling.creator.CustomerCreator@508338f1 finished. Executing time: 2 ms. 04-27/12:02:56 INFO [http-bio-9088-exec-15] UserNewsCache - Full flushing cache.. 04-27/12:04:56 INFO [http-bio-9088-exec-15] UserNewsCache - Full flushing cache.. 04-27/12:06:57 INFO [http-bio-9088-exec-1] UserNewsCache - Full flushing cache.. 04-27/12:08:58 INFO [http-bio-9088-exec-1] UserNewsCache - Full flushing cache.. 04-27/12:09:24 INFO [Thread-10] KtvDebtManager - Started 04-27/12:09:24 ERROR [Thread-10] KtvDebtManager - DROP command denied to user 'bill'@'localhost' for table 'balance_dump' com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: DROP command denied to user 'bill'@'localhost' for table 'balance_dump' at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) |
Автор: | Администратор [ 27 апр 2016, 22:55 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит |
Собственно, всё написано здесь: Код: 04-27/12:09:24 ERROR [Thread-10] KtvDebtManager - DROP command denied to user 'bill'@'localhost' for table 'balance_dump'
|
Автор: | Arcad77 [ 03 май 2016, 03:13 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит |
Права пользователя в БД поправил - ошибка ушла, в инструкции сказано что нужен только доступ для чтения В логах теперь все скромно Started и Finished - это если запуск по расписанию производить, а если через Динамич.Код то ошибка! Код: 05-03/02:16:40 INFO [pool-9-thread-3] KtvDebtManager - Started 05-03/02:16:41 INFO [pool-9-thread-3] KtvDebtManager - Finished 05-03/02:18:01 INFO [http-bio-9088-exec-6] UserNewsCache - Full flushing cache.. 05-03/02:18:24 INFO [Thread-13] KtvDebtManager - Started 05-03/02:18:24 ERROR [Thread-13] KtvDebtManager - На запрос пользователя null биллинг bg вернул ошибку: Неправильный пароль. ru.bgcrm.model.BGMessageException: На запрос пользователя null биллинг bg вернул ошибку: Неправильный пароль. at ru.bgcrm.plugin.bgbilling.TransferData.checkDocumentStatus(TransferData.java:709) at ru.bgcrm.plugin.bgbilling.TransferData.postData(TransferData.java:459) at ru.bgcrm.plugin.bgbilling.proto.dao.ContractParamDAO.getParameterListWithDir(ContractParamDAO.java:129) at ru.bgcrm.plugin.bgbilling.proto.dao.ContractParamDAO.getParameter(ContractParamDAO.java:177) at ru.bgcrm.plugin.bgbilling.proto.dao.ContractParamDAO.getTextParam(ContractParamDAO.java:170) at ru.bgcrm.dyn.cabtv.KtvDebtManager.processContracts(KtvDebtManager.java:233) at ru.bgcrm.dyn.cabtv.KtvDebtManager.run(KtvDebtManager.java:129) at java.lang.Thread.run(Thread.java:745) 05-03/02:18:24 INFO [Thread-13] KtvDebtManager - Finished 05-03/02:20:02 INFO [http-bio-9088-exec-7] UserNewsCache - Full flushing cache.. 05-03/02:20:26 INFO [Thread-14] KtvDebtManager - Started 05-03/02:20:26 ERROR [Thread-14] KtvDebtManager - На запрос пользователя null биллинг bg вернул ошибку: Неправильный пароль. ru.bgcrm.model.BGMessageException: На запрос пользователя null биллинг bg вернул ошибку: Неправильный пароль. at ru.bgcrm.plugin.bgbilling.TransferData.checkDocumentStatus(TransferData.java:709) at ru.bgcrm.plugin.bgbilling.TransferData.postData(TransferData.java:459) at ru.bgcrm.plugin.bgbilling.proto.dao.ContractParamDAO.getParameterListWithDir(ContractParamDAO.java:129) at ru.bgcrm.plugin.bgbilling.proto.dao.ContractParamDAO.getParameter(ContractParamDAO.java:177) at ru.bgcrm.plugin.bgbilling.proto.dao.ContractParamDAO.getTextParam(ContractParamDAO.java:170) at ru.bgcrm.dyn.cabtv.KtvDebtManager.processContracts(KtvDebtManager.java:233) at ru.bgcrm.dyn.cabtv.KtvDebtManager.run(KtvDebtManager.java:129) at java.lang.Thread.run(Thread.java:745) 05-03/02:20:26 INFO [Thread-14] KtvDebtManager - Finished 05-03/02:20:40 INFO [Thread-6] Scheduler - Running scheduled task: ru.bgcrm.dyn.cabtv.KtvDebtManager@10a652df 05-03/02:20:40 INFO [pool-9-thread-1] KtvDebtManager - Started 05-03/02:20:41 INFO [pool-9-thread-1] KtvDebtManager - Finished 05-03/02:22:03 INFO [http-bio-9088-exec-3] UserNewsCache - Full flushing cache.. 05-03/02:24:04 INFO [http-bio-9088-exec-4] UserNewsCache - Full flushing cache.. 05-03/02:24:40 INFO [Thread-6] Scheduler - Running scheduled task: ru.bgcrm.dyn.cabtv.KtvDebtManager@77e550ff 05-03/02:24:40 INFO [pool-9-thread-2] KtvDebtManager - Started 05-03/02:24:41 INFO [pool-9-thread-2] KtvDebtManager - Finished 05-03/02:26:04 INFO [http-bio-9088-exec-10] UserNewsCache - Full flushing cache.. И откуба он пользователя Null берет ведь у bg все четко прописано! Ну и обещанные процессы не генерируются. Строчки с константами к соответствию приведены! лимиты выставлены! |
Автор: | zavndw [ 03 май 2016, 17:19 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит |
ну так вы секцию с пользователем исправили? Код: protected static final User BILLING_USER = new User( "bitel", "bgbilling@bitel.ru" ); null значит тользователя bitel нет:) Из под этого пользователя идет выгрузка, не может подключится и не будет ни чего создавать |
Автор: | Arcad77 [ 04 май 2016, 00:28 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит |
Обижаете! Логин был правильно поставлен! Оказывается что и почта нужна!? странная форма авторизации?!?! В описании ни про константы ни про авторизацию ни чего не сказано! Теперь на таблицу жалуется. table balance_dump already exists |
Автор: | zavndw [ 04 май 2016, 02:43 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит |
Почта это пароль:) это вроде временная таблица. Ее скорее теперь надо удались, скрипт не корректно запускался. |
Автор: | Arcad77 [ 04 май 2016, 14:44 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит |
Автор этого скрипта еще жив? Может он доработает и обновит статью. Или у кого есть альтернативное решение? |
Автор: | zavndw [ 06 май 2016, 04:43 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит |
Конечно, под меня его делали. Что в данный момент не работает? |
Автор: | Arcad77 [ 06 май 2016, 10:55 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит |
Очень приятно познакомится! Нет видимого результата в очереди процессов. В логе пишет: Код: 05-06/09:35:41 INFO [pool-9-thread-3] KtvDebtManager - Finished 05-06/09:40:41 INFO [Thread-6] Scheduler - Running scheduled task: ru.bgcrm.dyn.cabtv.KtvDebtManager@302daccc 05-06/09:40:41 INFO [pool-9-thread-1] KtvDebtManager - Started 05-06/09:40:41 ERROR [pool-9-thread-1] KtvDebtManager - Table 'balance_dump' already exists com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'balance_dump' already exists at sun.reflect.GeneratedConstructorAccessor89.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.Util.getInstance(Util.java:381) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1605) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1524) at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) at ru.bgcrm.dyn.cabtv.KtvDebtManager.run(KtvDebtManager.java:123) at ru.bgcrm.Scheduler$1.run(Scheduler.java:164) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 05-06/09:40:41 INFO [pool-9-thread-1] KtvDebtManager - Finished Код: query = "CREATE TEMPORARY TABLE bgcrmtmp.balance_dump( UNIQUE(cid) ) " + "SELECT cid, MAX(yy*12+(mm-1))%12 + 1 AS mm, " + "FLOOR(MAX(yy*12+(mm-1)) / 12) AS yy " + "FROM contract_balance GROUP BY cid"; Пробовал в SQL (phpmyadmin) выполнять CREATE - результат выполнен но не виден, а от SELECT все отрабатывает, все 2856 должника. С мигрирующими функциями я разобрался! processDao.searchLinkProcessList BGCRM v 3.0 build 1137 from 27.04.2016 18:52:13 Started: 28.04.2016 00:19:39 Uptime: 8 d 09:30:53 |
Автор: | zavndw [ 06 май 2016, 14:38 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит |
Попробую статью актуализировать, попробуйте удалить balance_dump и запустить скрипт. Должен отработать |
Автор: | Arcad77 [ 06 май 2016, 22:48 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит |
Три точки присутствия Balance_dump Код: query = "DROP TABLE IF EXISTS bgcrmtmp.balance_dump"; conBilling.createStatement().executeUpdate( query ); query = "CREATE TEMPORARY TABLE bgcrmtmp.balance_dump( UNIQUE(cid) ) " + "SELECT cid, MAX(yy*12+(mm-1))%12 + 1 AS mm, " + "FLOOR(MAX(yy*12+(mm-1)) / 12) AS yy " + "FROM contract_balance GROUP BY cid"; conBilling.createStatement().executeUpdate( query ); ..... String query = "SELECT contract.id, contract.title, contract.gr, (balance.summa1+balance.summa2-balance.summa3-balance.summa4) AS rest " + "FROM contract " + "INNER JOIN bgcrmtmp.balance_dump AS dump ON contract.id=dump.cid " + "INNER JOIN contract_balance AS balance ON dump.cid=balance.cid AND dump.yy=balance.yy AND dump.mm=balance.mm "; pd.addQuery( query ); Такое удаление сделал: Код: //query = "DROP TABLE IF EXISTS bgcrmtmp.balance_dump"; // conBilling.createStatement().executeUpdate( query ); query = // "CREATE TEMPORARY TABLE bgcrmtmp.balance_dump( UNIQUE(cid) ) " + "SELECT cid, MAX(yy*12+(mm-1))%12 + 1 AS mm, " + "FLOOR(MAX(yy*12+(mm-1)) / 12) AS yy " + "FROM contract_balance GROUP BY cid"; conBilling.createStatement().executeUpdate( query ); ..... String query = "SELECT contract.id, contract.title, contract.gr, (balance.summa1+balance.summa2-balance.summa3-balance.summa4) AS rest " + "FROM contract " + // "INNER JOIN bgcrmtmp.balance_dump AS dump ON contract.id=dump.cid " + "INNER JOIN contract_balance AS balance ON dump.cid=balance.cid AND dump.yy=balance.yy AND dump.mm=balance.mm "; pd.addQuery( query ); Результат теперь такой: Код: 05-06/21:40:41 INFO [pool-9-thread-4] KtvDebtManager - Finished
05-06/21:41:42 INFO [http-bio-9088-exec-5] UserNewsCache - Full flushing cache.. 05-06/21:42:36 INFO [http-bio-9088-exec-9] DynamicClassManager - Successfully recompiled dyn classess. 05-06/21:42:38 INFO [Thread-22] KtvDebtManager - Started 05-06/21:42:38 ERROR [Thread-22] KtvDebtManager - Can not issue SELECT via executeUpdate(). java.sql.SQLException: Can not issue SELECT via executeUpdate(). at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1564) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1524) at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) at ru.bgcrm.dyn.cabtv.KtvDebtManager.run(KtvDebtManager.java:124) at java.lang.Thread.run(Thread.java:745) 05-06/21:42:38 INFO [Thread-22] KtvDebtManager - Finished 05-06/21:43:45 INFO [http-bio-9088-exec-4] UserNewsCache - Full flushing cache.. 05-06/21:45:41 INFO [Thread-6] Scheduler - Running scheduled task: ru.bgcrm.dyn.cabtv.KtvDebtManager@5975d204 05-06/21:45:41 INFO [pool-9-thread-3] KtvDebtManager - Started 05-06/21:45:41 ERROR [pool-9-thread-3] KtvDebtManager - Table 'balance_dump' already exists com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'balance_dump' already exists at sun.reflect.GeneratedConstructorAccessor105.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.Util.getInstance(Util.java:381) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1605) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1524) at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) at ru.bgcrm.dyn.cabtv.KtvDebtManager.run(KtvDebtManager.java:123) at ru.bgcrm.Scheduler$1.run(Scheduler.java:164) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 05-06/21:45:41 INFO [pool-9-thread-3] KtvDebtManager - Finished 05-06/21:45:46 INFO [http-bio-9088-exec-12] UserNewsCache - Full flushing cache.. |
Автор: | Arcad77 [ 06 май 2016, 22:55 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит |
На 42 минуте это результат "Скомпилировать все, Выполнить" на 45 минуте это результат "#Выборка должников scheduler.task.2.class=ru.bgcrm.dyn.cabtv.KtvDebtManager scheduler.task.2.minutes=0,5,10,15,20,25,30,35,40,45,50,55 #scheduler.task.2.hours=7" |
Автор: | avk [ 23 мар 2018, 19:34 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит (CRM) |
Я избавился от манипуляций с таблицей balance_dump изменив SQL запрос на вот такой: Код: String query =
"SELECT contract.id, contract.title, contract.gr, (balance.summa1+balance.summa2-balance.summa3-balance.summa4) AS rest " + "FROM contract " + "JOIN contract_balance AS balance ON balance.cid=contract.id " + "JOIN (SELECT max(cast(concat(yy,'.',mm,'.','01') as date)) maxdate, cid FROM contract_balance GROUP BY cid) AS current_balance ON current_balance.maxdate=cast(concat(balance.yy,'.',balance.mm,'.','01') as date) AND current_balance.cid=contract.id "; |
Автор: | Arcad77 [ 23 мар 2018, 21:37 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит (CRM) |
О круто! Будем смотреть! Спасибо! |
Автор: | avk [ 27 мар 2018, 19:26 ] |
Заголовок сообщения: | Re: Компиляция динамического кода не проходит (CRM) |
У меня вот такое в логах. Код: 03-27/16:02:00 DEBUG [main] DynamicClassManager - Add loaded class: ru.bgcrm.dyn.sofit.KtvDebtManager /usr/local/BGCRM/dyn/ru/bgcrm/dyn/KtvDebtManager.java:353:58 searchLinkedProcessList(ru.bgcrm.model.SearchResult<ru.bgcrm.model.Pair<java.lang.String,ru.bgcrm.model.process.Process>>,java.lang.String,int,java.util.Set<java.lang.Integer>,java.util.Set<java.lang.Integer>,java.lang.String,java.lang.Boolean) in ru.bgcrm.dao.process.ProcessLinkDAO has been deprecated ProcessLinkDAO устарел, что использовать ? |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |