forum.bitel.ru http://forum.bitel.ru/ |
|
Вопрос разработчикам. RegisterTask(). http://forum.bitel.ru/viewtopic.php?f=19&t=1836 |
Страница 1 из 3 |
Автор: | skandinav [ 22 янв 2009, 14:24 ] |
Заголовок сообщения: | Вопрос разработчикам. RegisterTask(). |
С неделю уже закопался в скрипты BGBilling... и восхищен документированностью API... в частности класса RegisterTask. не соблаговолят ли уважаемые разработчики поделиться несколько более детальным описанием методов и свойств этого класса, а так же поделиться примером работы с ним. совершенно неясно, например, как в новой задаче заполнить поля "город, квартал, улица, дом". предполагаю что с помощью метода setAddressParamID() или setAddressObjectId(). но в описании этим методам требуется в качестве параметра передать некое Interger. вопрос как это целое получить корректно? или я вообще не в туда смотрю. обьясните пожалуйста. |
Автор: | skn [ 22 янв 2009, 20:46 ] |
Заголовок сообщения: | |
setAddressParamID() передается код адресного параметра из договора (id из таблицы contract_parameters_pref) setAddressObjectId() аналогично если используется адрес из объекта в договоре |
Автор: | skandinav [ 23 янв 2009, 06:01 ] |
Заголовок сообщения: | |
А позвольте поинтересоваться, есть ли у вас в планах некоторое увеличение документированности API BGBS? |
Автор: | skandinav [ 23 янв 2009, 12:24 ] |
Заголовок сообщения: | |
идем дальше. заполнить поля "город, квартал, улица, дом" в CRM задаче скриптом так и не получилось. как не получается заполнить поле "исполнитель"... код: Код: cpu = new ContractParamUtils ( con ); capv = cpu.getAddressParam(cid,ADDR); rtm = new RegisterTaskManager(con); ... ... ... query = "SELECT * FROM register_executor"; re = con.prepareStatement(query); re = re.executeQuery(); while (re.next()) { if (capv.getAddress().indexOf(re.getString(2)) != -1) { lst.add(re.getInt(1)); } nt.setExecutors(lst); и дальше Код: ... ... nt.setContractID(cid); nt.setTypeID(TYPE_ID); rtm.updateTask("new", nt); Подскажите, в каком месте я дурак. в ява программизме я неофит. |
Автор: | skn [ 23 янв 2009, 13:25 ] |
Заголовок сообщения: | |
skandinav писал(а): идем дальше. заполнить поля "город, квартал, улица, дом" в CRM задаче скриптом так и не получилось.
заполнить их в задаче нельзя, в задаче можно только сделаеть ссылку на адрес в договоре или в объекте договора |
Автор: | skn [ 23 янв 2009, 13:33 ] |
Заголовок сообщения: | |
Код: while (re.next()) {
if (capv.getAddress().indexOf(re.getString(2)) != -1) { lst.add(re.getInt(1)); } nt.setExecutors(lst); у вас тут со скобками все в порядке? не вижу где while закрывается |
Автор: | skandinav [ 23 янв 2009, 13:35 ] |
Заголовок сообщения: | |
как это: skn писал(а): setAddressParamID() передается код адресного параметра из договора (id из таблицы contract_parameters_pref) setAddressObjectId() аналогично если используется адрес из объекта в договоре и это: skn писал(а): skandinav писал(а): идем дальше. заполнить поля "город, квартал, улица, дом" в CRM задаче скриптом так и не получилось. заполнить их в задаче нельзя, в задаче можно только сделаеть ссылку на адрес в договоре или в объекте договора между собой согласуется? |
Автор: | skandinav [ 23 янв 2009, 13:37 ] |
Заголовок сообщения: | |
skn писал(а): Код: while (re.next()) { if (capv.getAddress().indexOf(re.getString(2)) != -1) { lst.add(re.getInt(1)); } } nt.setExecutors(lst); у вас тут со скобками все в порядке? не вижу где while закрывается весь код скрипта постить не стал. там больше ста строк. так что фигурные скобки могут где то и не закрываться ![]() |
Автор: | skn [ 23 янв 2009, 13:40 ] |
Заголовок сообщения: | |
skandinav писал(а): А позвольте поинтересоваться, есть ли у вас в планах некоторое увеличение документированности API BGBS?
планы есть, времени нет пока. |
Автор: | skandinav [ 26 янв 2009, 06:58 ] |
Заголовок сообщения: | |
вероятно ответов не будет... ![]() |
Автор: | skn [ 26 янв 2009, 13:19 ] |
Заголовок сообщения: | |
1) Есть договора 2) в договорах есть параметры в том числе и адрессные 3) адресные параметры храняться в таблице contract_param_type_2 4) первичный ключ в этой таблице cid (код договора) и pid (код параметра) 5) в задаче АДРЕСС не вводиться в делается ССЫЛКА на параметр в договоре 6) ССЫЛКА в задаче задается вот этими двумя параметрами setContractId() и setAddressParamID() |
Автор: | skn [ 26 янв 2009, 13:21 ] |
Заголовок сообщения: | |
skandinav писал(а): skn писал(а): Код: while (re.next()) { if (capv.getAddress().indexOf(re.getString(2)) != -1) { lst.add(re.getInt(1)); } } nt.setExecutors(lst); у вас тут со скобками все в порядке? не вижу где while закрывается весь код скрипта постить не стал. там больше ста строк. так что фигурные скобки могут где то и не закрываться ![]() насколько я понимаю этот код то скобка уже должна была закрытся, если вы конечно код из середины не вырезали... |
Автор: | skandinav [ 26 янв 2009, 21:03 ] |
Заголовок сообщения: | |
skn писал(а): 1) Есть договора
2) в договорах есть параметры в том числе и адрессные 3) адресные параметры храняться в таблице contract_param_type_2 4) первичный ключ в этой таблице cid (код договора) и pid (код параметра) 5) в задаче АДРЕСС не вводиться в делается ССЫЛКА на параметр в договоре 6) ССЫЛКА в задаче задается вот этими двумя параметрами setContractId() и setAddressParamID() знаете... у нас есть возможность, вас, или кого то из вас, как разработчиков продукта, купленного нашей компанией, как уже ранее случалось, пустить к нам в билинг, с тем что бы на месте поправить скрипт так как надо... видите ли, я совершенно не понимаю, почему то, что я неединожды опробовав многими разными способами не работает, вы выставляете как очевидное... |
Автор: | skandinav [ 26 янв 2009, 21:06 ] |
Заголовок сообщения: | |
skn писал(а): skandinav писал(а): skn писал(а): Код: while (re.next()) { if (capv.getAddress().indexOf(re.getString(2)) != -1) { lst.add(re.getInt(1)); } } nt.setExecutors(lst); у вас тут со скобками все в порядке? не вижу где while закрывается весь код скрипта постить не стал. там больше ста строк. так что фигурные скобки могут где то и не закрываться ![]() насколько я понимаю этот код то скобка уже должна была закрытся, если вы конечно код из середины не вырезали... код вырезан из середины. о чем уже было сказано. там после закрытия if() следует еще насколько строк. о чем опять же было сказано. пожалуйста, не нужно придираться к копипасту. |
Автор: | skn [ 26 янв 2009, 21:23 ] |
Заголовок сообщения: | |
skandinav писал(а): знаете... у нас есть возможность, вас, или кого то из вас, как разработчиков продукта, купленного нашей компанией, как уже ранее случалось, пустить к нам в билинг, с тем что бы на месте поправить скрипт так как надо...
Не проблема... если у вас есть договор на тех. поддержку. |
Автор: | skn [ 26 янв 2009, 21:25 ] |
Заголовок сообщения: | |
skandinav писал(а): код вырезан из середины. о чем уже было сказано. там после закрытия if() следует еще насколько строк. о чем опять же было сказано. пожалуйста, не нужно придираться к копипасту.
не очень понимаю смысл публикации кода, если он нарезан из десятка кусков слепленных вместе.... |
Автор: | skn [ 27 янв 2009, 13:00 ] |
Заголовок сообщения: | |
1) если есть договор на тех. поддержку пишите в хелпдеск. 2) скрипт есть - хорошо, что нужно сделать - тоже, а в чем проблема? |
Автор: | skandinav [ 27 янв 2009, 17:44 ] |
Заголовок сообщения: | |
skn писал(а): 1) если есть договор на тех. поддержку пишите в хелпдеск.
2) скрипт есть - хорошо, что нужно сделать - тоже, а в чем проблема? проблема в крайне отвратительной документированности API BGBS. вам не составляет труда язвить на форуме, а на внятный ответ сил и времени уже не хватает. может быть вы как то перераспределите ресурсы? вам, как разработчику, прочитать скрипт и добавить, возможно, пару строк, с комментариями, не должно представляться сложным. в дальнейшем же, ваш ответ поможет избежать кучи вопросов. учитывая, что CRM модуль весьма важная компонента вашего продукта. |
Автор: | skn [ 27 янв 2009, 18:09 ] |
Заголовок сообщения: | |
Хорошо, Вы пишете полунамеками, я должен читать между строк, догадываться, что вы хотите, тратить на это время. Хотите получить ответ, пожалуйста. Код: nt.setAddressParamID(ADDR); Код: rtm.updateExecutorList(nt, "коды исполнителей через запятую");
|
Автор: | skandinav [ 27 янв 2009, 18:53 ] |
Заголовок сообщения: | |
воот. хотя бы так. |
Автор: | skandinav [ 27 янв 2009, 18:56 ] |
Заголовок сообщения: | |
skn писал(а): Код: rtm.updateExecutorList(nt, "коды исполнителей через запятую"); ни где не документировано ""коды исполнителей через запятую"" P.S. в тему |
Автор: | Victor [ 28 янв 2009, 07:45 ] |
Заголовок сообщения: | |
не в тему Цитата: ООО "Подряд" является зарегистрированным пользователем данного аддикта.
они и сюда добрались ![]() |
Автор: | dimOn [ 28 янв 2009, 14:19 ] |
Заголовок сообщения: | |
skandinav Если всё документировать (да ещё и вычитывать потом документацию) - то получится больше и дольше, чем написание самой программы. А кто, собственно, тогда сам код будет писать? Это не оправдание, конечно, и кто же спорит, документированность - это хорошо, и всё делается для повышения её качества, по возможности, конечно (придётся поверить на слово). Кто-то справляется и с существующей документацией, а если у Вас возникли проблемы - уже сказали - обращайтесь в техподдержку (helpdesk). |
Автор: | skandinav [ 28 янв 2009, 14:53 ] |
Заголовок сообщения: | |
skn писал(а): Код: rtm.updateExecutorList(nt, "коды исполнителей через запятую"); кстати, мегазачетный подход к программированию... в одном месте список исполнителей передается как массив целых чисел, и тут же рядом для подобной цели необходимо через-задний-проход-в-ухо сформировать строку из целых чисел... создается впечатление, что разработчики представления не имеют о системах автоматизации разработки, контроля версий, документирования... и процесс разработки прет по принципу "-как бох на душу положит, без оглядки на соседей"... |
Автор: | skn [ 28 янв 2009, 15:00 ] |
Заголовок сообщения: | |
Могу вас порадовать, алгоритм работы этого метода еще круче.... Код: rtm.updateExecutorList(nt, "коды исполнителей через запятую"); в текстовой строке передается список исполнителей которых надо удалить, а список новых исполнителей передается через nt.setExecuters(List<Integer>) так что для ваших целей можете использовать Код: rtm.updateExecutorList(nt, "");
|
Автор: | skandinav [ 28 янв 2009, 15:06 ] |
Заголовок сообщения: | |
dimOn писал(а): skandinav
Если всё документировать (да ещё и вычитывать потом документацию) - то получится больше и дольше, чем написание самой программы. А кто, собственно, тогда сам код будет писать? Это не оправдание, конечно, и кто же спорит, документированность - это хорошо, и всё делается для повышения её качества, по возможности, конечно (придётся поверить на слово). Кто-то справляется и с существующей документацией, а если у Вас возникли проблемы - уже сказали - обращайтесь в техподдержку (helpdesk). проблемы только от надменности некоторых товарищей. за почти два десятилетия работы в IT индустрии я привык идти путем "документация -> форумы (фидошное время эхи соотв направления) -> поисковик -> вопросы". данный тред создан уже после того, как все возможные пути были исчерпаны. а по поводу документации... давно уже не считается хорошим тоном после написания функции/объекта набросать пару строк о том, что именно он делает, какие параметры принимает, и как взаимодействует с другими объектами. не смотря на то, что разработана неимоверная куча разного уровня удобства RADов... что есть печально... |
Автор: | skandinav [ 28 янв 2009, 15:13 ] |
Заголовок сообщения: | |
skn писал(а): Могу вас порадовать, алгоритм работы этого метода еще круче....
Код: rtm.updateExecutorList(nt, "коды исполнителей через запятую"); в текстовой строке передается список исполнителей которых надо удалить, а список новых исполнителей передается через nt.setExecuters(List<Integer>) так что для ваших целей можете использовать Код: rtm.updateExecutorList(nt, ""); Ну конечно! Это же очевидно! |
Автор: | skn [ 28 янв 2009, 15:29 ] |
Заголовок сообщения: | |
Насчет документации спорить не буду... это отдельный вопрос (чужие недочеты всегда виднее своих...) А Вам бы посоветовал на будущее ПРАВИЛЬНО формулировать вопросы, если хотите получить БЫСТРЫЙ и ТОЧНЫЙ ответ. 1) Подробно расписать, что хотите сделать и для чего 2) Что и как делали и привести код, логи и т.п. 3) Какие проблемы возникли Посмотри сколько сообщений в этой теме, вот на такие вещи время и уходит.... ![]() |
Автор: | dimOn [ 28 янв 2009, 15:51 ] |
Заголовок сообщения: | |
skandinav писал(а): проблемы только от надменности некоторых товарищей. за почти два десятилетия работы в IT индустрии я привык идти путем "документация -> форумы (фидошное время эхи соотв направления) -> поисковик -> вопросы". данный тред создан уже после того, как все возможные пути были исчерпаны. Ну, хорошо, Вы уже почти убедили меня, что я (в том числе) живу за печкой, и ни о каких таких системах-контроля-версий знать не знаю, итд; но Вы поймите, что форум - это не техподдержка, это всё добровольное.
а по поводу документации... давно уже не считается хорошим тоном после написания функции/объекта набросать пару строк о том, что именно он делает, какие параметры принимает, и как взаимодействует с другими объектами. не смотря на то, что разработана неимоверная куча разного уровня удобства RADов... что есть печально... А по поводу неправильной разработки - ну тут сказать нечего. Всегда находятся люди которые работают на чём-то и всем довольны (хотя всеми аспектами чего-либо быть довольным в этой области нельзя, Вы это как человек с двумя десятилетиями в IT-индустрии должны прекрасно понимать) или недовольства свои решают доступными средствами. И с другой стороны, я покажу кучу людей, которые расскажут Вам, что Микрософт неправильно всё разрабатывает, не так документирует и вообще там все ламеры. Это всё склоки и благоприятная почва для холиваров, не более. |
Страница 1 из 3 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |