|
v7: Изменение реквизитов документа в базе по OLE |
☑ |
0
nesterov
10.07.19
✎
15:50
|
Задача: установить программно ссылку на карточку регистрации Исходящего документа в карточке регистрации Входящего документа.
Что делаю:
1. получаю Входящий документ по номеру, используя метод "FindByNum". Объект найден, в лог вывожу значения некоторых его реквизитов.
2. изменяю для проверки не ссылку, а реквизит "Комментарий"
3. вызываю метод "Write" и получаю org.jawin.COMException: 80020009: Ошибка. С указанием на строку вызова данного метода.
В чём может быть причина и как изменить документ?
|
|
1
Builder
10.07.19
✎
16:14
|
С телевизора запускаете? Или с телефона?
Тут телепаты все в отпуске.
|
|
2
nesterov
10.07.19
✎
16:22
|
Окружение настроено на локальной машине:
- windows 10 x64
- 1C 7.7 сетевая версия
Веб-сервис реализован на Java, используется библиотека jawin.
Код по изменению реквизитов:
DispatchPtr documentRef = findDocumentEntryByNumber(app, incomingDocumentNumber, date, INCOMING_DOCUMENT).orElseThrow(() -> new RuntimeException("Incoming document not found"));
documentRef.put(COMMENT, "new comment");
documentRef.invoke(WRITE);
|
|
3
Ёпрст
гуру
10.07.19
✎
16:31
|
забить на оле, через прямой доступ к табличкам меняй, что хочешь
|
|
4
Ёпрст
гуру
10.07.19
✎
16:32
|
и.. есть уверенность, что в documentRef будет объект дока ? Если findDocumentEntryByNumber эквивалент НайтиПоНомеру, то в 7.7 там число будет, 0 или 1.
|
|
5
nesterov
10.07.19
✎
16:36
|
Что в documentRef будет объект дока есть уверенность, так как в в лог вывожу значения некоторых его реквизитов. Как получить прямой доступ к таблицам?
|
|
6
Ёпрст
гуру
10.07.19
✎
16:38
|
(5) да хоть через ado пиши запрос, далее select/insert/update/delete
|
|
7
Ёпрст
гуру
10.07.19
✎
16:40
|
а с оле, она для разового переноса, а не на постоянке с чем-то обмениваться.
То соединения нет, то таймаут ловишь из-за длительной операции
|
|
8
nesterov
10.07.19
✎
16:42
|
Спасибо, почитаю об этом)
|
|