Пометка на удаление проведенного документа через COM соединение

1. user1343611 25.06.20 07:31 Сейчас в теме
Доброго времени суток! Есть такой вопрос: Из какой-то условной конфигурации, из формы документа, через COM соединение запускаю функцию в общем модуле БП 3.0, которая должна найти документ по переданной строке и пометить его на удаление. Не проведенный документ он без проблем помечает на удаление, но если документ проведен то выдает ошибку "Ошибка создания документа. {Документ.НекийДокумент.Форма.ФормаДокумента.Форма(3941)}: Ошибка при вызове метода контекста (ПометкаНаУдалениеДокументовСвязанныхСНесовершеннымиПодключен­иями): Произошла исключительная ситуация (1C:Enterprise 8.3.16.1224): {ОбщийМодуль.НекийОбщийМодуль.Модуль(35)}: Ошибка при вызове метода контекста (УстановитьПометкуУдаления)
Ошибка при выполнении обработчика - 'ОбработкаУдаленияПроведения'
{Документ.НекийДокумент.МодульОбъекта(582)}: Ошибка при вызове метода контекста (УдалитьДвиженияРегистратора)
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода УдалитьДвиженияРегистратора ().".
В свойствах модуля стоят галочки Сервер, Внешнее соединение.
Может кто сталкивался? Или может нельзя отменять проведение через COM?
По теме из базы знаний
Найденные решения
9. user1343611 25.06.20 10:10 Сейчас в теме
(3) Вы натолкнули меня на идею которая сработала. Минус в том что пришлось снять с полной поддержки общий модуль.
В общем, решение такое: у общего модуля ОбщегоНазначенияБПВызовСервера поставил галочку Внешнее соединение и все заработало!

Всем спасибо, тему можно считать закрытой, если только у Вас нет идей как ее решить без изменения типовых объектов)
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1343611 25.06.20 07:35 Сейчас в теме
(1) Собственно вот тот участок кода что отвечает за пометку на удаление:

Пока РезультатЗапроса.Следующий() Цикл
НайденныйДокумент = РезультатЗапроса.Ссылка.ПолучитьОбъект();
НайденныйДокумент.УстановитьПометкуУдаления(Истина);
КонецЦикла;
4. user705522_constantin_h 35 25.06.20 09:34 Сейчас в теме
(1)
Ошибка при выполнении обработчика - 'ОбработкаУдаленияПроведения'
{Документ.НекийДокумент.МодульОбъекта(582)}: Ошибка при вызове метода контекста (УдалитьДвиженияРегистратора)
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода УдалитьДвиженияРегистратора ().".

Com здесь ни причём. Посмотрите, что у вас в первом параметре процедуры УдалитьДвиженияРегистратора ()? Непосредственно в базе, к которой вы обращаетесь, вы можете пометить на удаление проведённый документ?
user1343611; +1 Ответить
5. user1343611 25.06.20 09:50 Сейчас в теме
(4) Пометить на удаление могу непосредственно из списка документа, "ОбщегоНазначенияБПВызовСервера.УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ);".
Получается первый параметр ЭтотОбъект
6. user705522_constantin_h 35 25.06.20 09:58 Сейчас в теме
(5)Только если прав не хватает. То есть вы пытаетесь пометить на удаление объект пользователем, которому к этому объекту запрещён доступ. Соответственно в поле ЭтотОбъект нет объекта.
7. user1343611 25.06.20 10:00 Сейчас в теме
(6) В том то и дело что все это я делаю под пользователем с полными правами
8. user705522_constantin_h 35 25.06.20 10:07 Сейчас в теме
(5)А из документа можете пометить на удаление проведенный документ?
10. user1343611 25.06.20 10:12 Сейчас в теме
3. DenisCh 25.06.20 08:47 Сейчас в теме
Где-то в модуле документа есть вызовы методов, которые недопустимы во внешнем соединении.
Точнее - даже в модулях НЗ регистров...
user1343611; +1 Ответить
9. user1343611 25.06.20 10:10 Сейчас в теме
(3) Вы натолкнули меня на идею которая сработала. Минус в том что пришлось снять с полной поддержки общий модуль.
В общем, решение такое: у общего модуля ОбщегоНазначенияБПВызовСервера поставил галочку Внешнее соединение и все заработало!

Всем спасибо, тему можно считать закрытой, если только у Вас нет идей как ее решить без изменения типовых объектов)
11. soft_wind 25.06.20 11:34 Сейчас в теме
хм, не проведенные документы легко помечаются на удаление, а проведенные нет...
что же делать? что же делать? что же делать? что же делать?
а-а-а-а, эврика!!!!
Прежде чем пометит на удаление проведенный документ, его сначала надо распровести!!!!
ура,ура,ура!!!!
(детский сад какой-то)
12. DenisCh 25.06.20 11:47 Сейчас в теме
(11) А смысл? Всё равно модуль регистра вызовется, в котором может косяк быть...
13. soft_wind 25.06.20 12:12 Сейчас в теме
(12) не факт, сама запись документа с режимом отмена проведения, своими средствами чистит движения
14. user1343611 26.06.20 04:10 Сейчас в теме
(11) Я так и сделал сначала, но ошибка таже, так как (еще раз повторю для особо умных) модуль, что вызывается при распроведении (к твоему сведению и при пометке на удаление происходит распроведение и вызывается этот модуль) нельзя было вызвать через внешнее соединение.
15. user1343611 26.06.20 04:17 Сейчас в теме
(11) А если ты имеешь ввиду распроводить вручную чтобы потом пометить на удаление программно то смысл сего мероприятие теряется
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот