![]() |
|
КД 2.0 Правила очистки. | ☑ | ||
---|---|---|---|---|
0
SpitfireIX
05.09.17
✎
14:50
|
Добрый день.
Настраиваю обмен между двумя базами УТ. Конфигурации, можно считать, что одинаковые. Конфигурация УТ 11.1. База на MS SQL Использую БСПшную подсистему обмена данными. Создал план обмена, создал правила обмена, регистрации и т.д. Все работает. Не работает только один момент, очистки данных. Например, создаем документ который проходит по правилам регистрации, запускаем обмен. Документ приезжает в приемник, все нормально. Потом этот же документ, меняем организацию, запускаем обмен, и падает исключение: https://image.prntscr.com/image/PUYDQWh-Sj6u2IGzuFBQpQ.png Ошибка падает как при запуске вручную из клиента, так и при работе регламентного задания(не понятно причем там клиент, если обмен выполняется в регламентном задании, и подключение к приемнику происходит через СОМ). Методом тыка, понял что ошибка падает в подписке на событие "ОчиститьЗаданияПередУдалениемДокумента"(её код ниже). Подскажите, пожалуйста, как решить данную проблему? |
|||
1
SpitfireIX
05.09.17
✎
14:52
|
Забыл, версия конфигурации 11.1.10.185
// Производится очистка измерения "Документ" по регистрам "Задания..", // где в текущих записях используется удаляемый документ. // Вызывается из подписки на события "ОчиститьЗаданияПередУдалениемДокумента", // выполняется только в главном узле РИБ. Процедура ОчиститьЗаданияПередУдалениемДокумента(Источник, Отказ) Экспорт Если ПланыОбмена.ГлавныйУзел() <> Неопределено Тогда Возврат; КонецЕсли; Запрос = Новый Запрос(" |ВЫБРАТЬ | Задания.Месяц КАК Месяц, | Задания.НомерЗадания КАК НомерЗадания, | НЕОПРЕДЕЛЕНО КАК Документ |ИЗ | РегистрСведений.ЗаданияКРасчетуСебестоимости КАК Задания | | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗаданияКРасчетуСебестоимости КАК Дубли | ПО Задания.Месяц = Дубли.Месяц | И Задания.НомерЗадания = Дубли.НомерЗадания | И НЕОПРЕДЕЛЕНО = Дубли.Документ |ГДЕ | Задания.Документ = &Ссылка | И Дубли.Документ ЕСТЬ NULL |"); Запрос.УстановитьПараметр("Ссылка", Источник.Ссылка); Результат = Запрос.Выполнить(); ЗаданияКОчистке = РегистрыСведений.ЗаданияКРасчетуСебестоимости.СоздатьНаборЗаписей(); ЗаданияКОчистке.Отбор.Документ.Установить(Источник.Ссылка); ЗаданияКОчистке.Записать(Истина); ЗаданияКЗаписи = РегистрыСведений.ЗаданияКРасчетуСебестоимости.СоздатьНаборЗаписей(); ВыборкаЗаписей = Результат.Выбрать(); Пока ВыборкаЗаписей.Следующий() Цикл КЗаписи = ЗаданияКЗаписи.Добавить(); ЗаполнитьЗначенияСвойств(КЗаписи, ВыборкаЗаписей); КонецЦикла; Попытка Если ЗаданияКЗаписи.Количество() <> 0 Тогда ЗаданияКЗаписи.Записать(Ложь); КонецЕсли; Исключение Отказ = Истина; ЗаписьЖурналаРегистрации(НСтр("ru = 'Удаление помеченных объектов'"), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); КонецПопытки; КонецПроцедуры Обработчик находится в модуле закрытие месяца,с галками сервер и везов сервера. |
|||
2
SpitfireIX
06.09.17
✎
11:28
|
Ап
|
|||
3
SpitfireIX
07.09.17
✎
13:27
|
Проблема решилась установкой галки "Внешнее соединение" в общем модуле, в котором лежит обработчик подписки.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |