Имя: Пароль:
1C
1С v8
Удаление СомОбъектов
,
0 JuliaT99
 
26.11.18
15:33
Уважаемые специалисты!Имеем ссылку на документ в подключенной базе тип СомОбъект - ДокСом.
Надо его пометить на удаление;
ДокСом.ПолучитьОбъект() - не работает. Вопрос: КАК?
1 Ненавижу 1С
 
гуру
26.11.18
15:48
возможно ссылка пустая или там вообще не ссылка
2 JuliaT99
 
28.11.18
14:42
Из подключенной базы в запросе достаю документ.ссылка разумеется. Получаем Тип ДокСом -СомОбъект. Все простые реквизиты определяются. ДокСом.номер например ="000643" и т.д. Т.е документ достали. Нужно его удалить. а ДокСом.ПолучитьОбъект() ругается на метод.
3 ZDenis
 
28.11.18
14:45
(2) Как звучит ошибка, желательно не своими словами
4 ZDenis
 
28.11.18
14:46
Включи "остановку по ошибке" в отладчике и что в этот момент в ДокСом
5 JuliaT99
 
28.11.18
14:47
3-Ошибка при вызове метода контекста (ПолучитьОбъект)
6 JuliaT99
 
28.11.18
14:48
(4) включала конечно. Вижу (2)
7 youalex
 
28.11.18
14:49
(5) а дальше?  полный текст ошибки
8 ZDenis
 
28.11.18
14:53
(6) База надеюсь хоть восьмерочная?
9 JuliaT99
 
28.11.18
14:55
(7) по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.12.1685): Ошибка инициализации модуля: Документ.РасчетРейсокомплекта.МодульОбъекта
{Документ.РасчетРейсокомплекта.МодульОбъекта(12,17)}: Переменная не определена (глСоединениеРейсокомплект)
////////////
соединение определено на этот момент.
10 JuliaT99
 
28.11.18
14:56
6 - конечно 8
11 JuliaT99
 
28.11.18
14:56
(8) конечно 8
12 JuliaT99
 
28.11.18
14:58
Я на этих подключенных базах живу. До фига всего приходилось делать. Но вот удаляю СОМ первый раз.
13 youalex
 
28.11.18
15:00
(9) глСоединениеРейсокомплект - судя по всему глобальная переменная на клиенте, которую Connector, понятно, не видит.
Что делает эта переменная в модуле документа, другой вопрос
14 JuliaT99
 
28.11.18
15:00
(7) Документ.РасчетРейсокомплекта.МодульОбъекта(12,17)}: Переменная не определена (глСоединениеРейсокомплект)
{ВнешняяОбработка.СозданиеДокументовРасчетРейсокомплекта.Форма.Форма.Форма(379)}: Ошибка при вызове метода контекста (ПолучитьОбъект)
                                ОбъектДляУдаления=ТекСсылка.ПолучитьОбъект();
15 youalex
 
28.11.18
15:05
Наверное, самое простое (и кривое) решение - подключаться через Application, а не через ComConnector
16 JuliaT99
 
28.11.18
15:05
(13) глобальную переменную сделала сама для того, чтобы в обработке и при проведении документа из подключенной базы(а там тоже регистры задействованы из двух баз) база подключалась один раз. Иначе работать будет очень долго. Тут все правильно. Говорю же что не первый раз за мужем.
17 youalex
 
28.11.18
15:07
(16) тогда все нормально - с этой переменной работает(на самом деле нет) очень быстро
18 JuliaT99
 
28.11.18
15:08
(15) Обработка много чего делает с подключенной базой с целой сворой документов. А удалять не хочет. Что же из-за этого я должна гадать как подключаться?
19 sandal_r
 
28.11.18
15:10
(18) оно не удалять не хочет, а объект не хочет получать.
у других документов проходит ПолучитьОбъект() через СОМ?
20 JuliaT99
 
28.11.18
15:11
(19)да но от этого не легче
21 JuliaT99
 
28.11.18
15:14
(19) вернее это первый объект в обработке, на котором этот метод и вываливается. До других не дошло.
22 JuliaT99
 
28.11.18
15:18
(19) сейчас посмотрела свои обработки. Вообще получитьОбъект() к найденному документу в другой базе применялся.
Ох, не знаю что делать. Может правда с соединением проблема.
23 JuliaT99
 
28.11.18
15:20
(22) но там я глобальное соединение не использовала.
24 y88
 
28.11.18
15:22
Права доступа на изменение?
25 JuliaT99
 
28.11.18
15:27
(24) полные
26 ZDenis
 
28.11.18
15:44
(25) Бредовая мысль меня посетила, может база к которой соединяешься только под толстым клиентом работает? Возможно модуль объекта там не предназначен на внешнее соединение
27 sandal_r
 
28.11.18
15:47
(26) скорее глобальная переменная не инициализируется в модуле внешнего соединения, а для получения объекта она нужна
28 JuliaT99
 
28.11.18
16:51
Сделала соединение через обычную переменную. Все прошло. Скорее всего да, прав (27). ГлСоединение было определено в модуле обычного приложения в обеих базах. Если обработку нужно гонять из одной базы в другую и наоборот, но скорее всего Глсоединение нужно прописывать и в модуле обычного приложения и в модуле внешнего соединения в обеих базах. Не знаю как получится. Буду пробовать. Главное понятно стало откуда ноги растут. Спасибо всем.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн