|
запрос 1C в java | ☑ | ||
---|---|---|---|---|
0
Проф
15.02.18
✎
11:47
|
Не работает запрос, что не так делаю?
private void query() throws Exception{ DispatchPtr zapros = (DispatchPtr) ref.invoke("NewObject", "Запрос"); zapros.put("Текст", "ВЫБРАТЬ" + "|ФизическиеЛица.Ссылка" + "|ИЗ" + "|Справочник.ФизическиеЛица КАК ФизическиеЛица"); zapros.put("Текст", false); DispatchPtr rezult = (DispatchPtr) zapros.invoke("Выполнить"); Ole32.CoUninitialize(); ref.close(); } ошибка org.jawin.COMException: 80020009: ??????. at org.jawin.marshal.GenericStub.dispatchInvoke0(Native Method) at org.jawin.marshal.GenericStub.dispatchInvoke(GenericStub.java:201) at org.jawin.DispatchPtr.invokeN(DispatchPtr.java:587) at org.jawin.DispatchPtr.invokeN(DispatchPtr.java:555) at valueTable.query(valueTable.java:70) at valueTable.getQuery(valueTable.java:55) at class1.main(classNDFL.java:11) |
|||
1
Вафель
15.02.18
✎
11:51
|
может палочек в тексте не нужно?
|
|||
2
Проф
15.02.18
✎
11:52
|
(1) без них тоже побывал, таже ошибка.
|
|||
3
Вафель
15.02.18
✎
11:52
|
записши запрос в 1 строку
|
|||
4
Проф
15.02.18
✎
11:54
|
КОМ - работает,
выборку из справочника делает, запрос нет. |
|||
5
Shur1cIT
15.02.18
✎
11:57
|
(0) понимаю что вопрос не в тему, а для чего это? может проще сервис на стороне 1С поднять?
|
|||
6
бомболюк
15.02.18
✎
11:58
|
zapros.put("Текст", false); - а это точно нужно?
|
|||
7
Проф
15.02.18
✎
11:58
|
DispatchPtr zapros = (DispatchPtr) ref.invoke("NewObject", "Запрос");
zapros.put("Текст", "ВЫБРАТЬ ФизическиеЛица.Ссылка ИЗ Справочник.ФизическиеЛица КАК ФизическиеЛица"); не работает, таже ошибка. |
|||
8
Проф
15.02.18
✎
11:59
|
(5) цель выполнить запрос в яве
|
|||
9
Проф
15.02.18
✎
12:01
|
(3), (6) спасибо!
|
|||
10
Вафель
15.02.18
✎
12:02
|
Ну и посмотри как в яве многострочные строки формируются
|
|||
11
Проф
15.02.18
✎
13:30
|
рабочий вариант.
private void query() throws Exception{ DispatchPtr zapros = (DispatchPtr) ref.invoke("NewObject", "Запрос"); StringBuilder sb = new StringBuilder(); sb.append("ВЫБРАТЬ" + "\n"); sb.append("ФизическиеЛица.Наименование" + "\n"); sb.append("ИЗ" + "\n"); sb.append("Справочник.ФизическиеЛица КАК ФизическиеЛица" + "\n"); zapros.put("Текст", sb.toString()); DispatchPtr rezult = (DispatchPtr) zapros.invoke("Выполнить"); DispatchPtr viborka = (DispatchPtr) rezult.invoke("Выбрать"); while ((Boolean) viborka.invoke("Следующий")) { String NameKontr = (String) viborka.get("Наименование"); System.out.println(ref.invoke("String", NameKontr)); } Ole32.CoUninitialize(); ref.close(); } |
|||
12
mingw
15.02.18
✎
14:55
|
ТС извини конечно. Но как программист 1С. И как программист java.
Могу сказать что идиот. Кто то из нас. |
|||
13
mingw
15.02.18
✎
14:58
|
Твоя ОЛЯ в 2018 году. С 64 бит. Или на хитром фреше.
Или ломаться будет постоянно. Или просто не даст. |
|||
14
Shur1cIT
15.02.18
✎
15:07
|
(13) уже ему предлогал в посте (5) сервисы поднять в 1С как это обычно принято, его цель именно "выполнить запрос в яве"
|
|||
15
Asmody
15.02.18
✎
15:09
|
Запрос в 1С через COM из java?!
Только в гамаке стоя на лыжах. |
|||
16
Nyarlathotep
15.02.18
✎
15:17
|
(14) (15) Нормальный запрос, все работает, что вы пристали то к нему?
|
|||
17
Вафель
15.02.18
✎
15:18
|
может тс просто тренируется на яве писать
|
|||
18
mingw
15.02.18
✎
15:35
|
(17) не зная даже 1С
|
|||
19
Вафель
15.02.18
✎
15:41
|
(18) а что для этого сначала нужно 1с выучить?
|
|||
20
Shur1cIT
15.02.18
✎
15:51
|
(16) в наше время для обмена данными принято использовать api когда клиент не обязан знать внутреннее устройство самой базы (те через обстакцию работать).
|
|||
21
Shur1cIT
15.02.18
✎
15:52
|
обстакцию = абстракцию
|
|||
22
Проф
15.02.18
✎
20:12
|
(18) ты где это прочитал?
|
|||
23
Проф
15.02.18
✎
20:14
|
части аудитории на мисте, походу надоедает комменты на маил ру и рамблере писать про хохлов и амеров, они здесь ещё успевают.
|
|||
24
mingw
15.02.18
✎
20:55
|
(22) В твоем коде. В тупых ошибках.
Или ты текст запроса в 1С так же складываешь? С "|" когда стоят "+". |
|||
25
Fram
15.02.18
✎
21:05
|
(23) https://ru.wikipedia.org/wiki/Лучшая_практика
вот это тебе пытаются объяснить |
|||
26
Fram
15.02.18
✎
21:07
|
(25)+ и в твоем случае Лучшей практикой будет (5)
кстати, код в (7) вполне рабочий, если ты, конечно, строку (6) потом убрал |
|||
27
NorthWind
15.02.18
✎
22:06
|
(16) известно, что на российском форуме в качестве ответа на любой вопрос изначально будет куча реплик на тему какой ты... глупый человек и почему тебе не надо делать то что ты делаешь, и под конец, возможно, все-таки ответят по существу вопроса :)
|
|||
28
Tateossian
15.02.18
✎
22:26
|
Я писал dll на Native-API, с блоком API от ВК 1С и такую же внутри от jvm и средствами cpp эти две системы обменивались.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |