Имя: Пароль:
1C
1C 7.7
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
Спасибо, почитаю об этом)