|
Ошибка при обмене | ☑ | ||
---|---|---|---|---|
0
lomanos
10.01.12
✎
11:15
|
Здравствуйте. Подскажите, где можно обратиться к таблице зарегистрированных для обмена объектов?
Возникла ошибка при обмене, ругается на накладную, хочу ее найти. Текст ошибки: "Ошибка при чтении изменений при обмене РИБ: {ОбщийМодуль.ОбменДанными(1290)}: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка при выполнении обработчика - '{Документ.Накладная(1731)}: Значение не является значением объектного типа (Метаданные)'" |
|||
1
Tumakota
10.01.12
✎
11:19
|
Вроде если память не изменяет РегистрСведений - Соответсвие объектов для обмена
|
|||
2
Kreont
10.01.12
✎
11:20
|
Операции-ПланОбмена-"своитипобмена"-потом "мониторчик" вверху на панели, показать ...
|
|||
3
kosts
10.01.12
✎
11:25
|
(0) Лучше в отладчике, остановки при ошибке "текст ошибки"
|
|||
4
lomanos
10.01.12
✎
12:45
|
(1) Регистр не поможет, мне необходимо найти конкретный документ.
(2) Спасибо за наводку, "мониторчик" не нашел, но запустил "прочитать изменения" из файла обмена, жду результата, может данный инструмент мне и поможет "дебажить" данную ошибку. (3) Это уже на крайний случай, потому что для этого мне нужно будет обновить конфигурацию, просто сейчас он мне выводит в исключении функцией ОписаниеОшибки(). |
|||
5
Maxus43
10.01.12
✎
12:49
|
в конструкторе запросов же есть доступ к таблицам изменений. все зарегистрированые там видно
|
|||
6
Kreont
10.01.12
✎
13:23
|
(4) Операции -> "Планы обмена" -> "ПоОрганизации" -> "Мониторчик" (Зарегистрированные изменения) :)
|
|||
7
lomanos
11.01.12
✎
04:38
|
(5) так в том то и дело, что не в конструкторе запросов, не в консоли запросов, данную таблицу изменений я не нашел. Может мы говорим о разных платформах? У меня платформа 8.1. Может конечно я и ошибаюсь и не там ищу, не могли бы просветить где искать данную таблицу изменений? И раз уж речь зашла о данной таблицы, то есть ли какие-то инструменты для обращения к ней, с целью изменения значений?
(6) ну вот нет у меня "мониторчика", хотел PrintScreen приложить к сообщению, но не знаю как. Из дозволенных действий для работы с элементами плана обмена (помимо добавления/удаления/изменения/отбора и т.д.) есть только 4-и действия: "Создать начальный образ..", "Записать изменения..", "Прочитать изменения.." и "Групповой обмен". Ничего похожего на "Зарегистрированные изменения" нет :( |
|||
8
Гот
11.01.12
✎
04:43
|
Мониторчик - это не платформенное решение, это в типовых копка для вызова формы обрботки, или общей формы, "Регистрация измений" по моему называется. Если план обмена рукотворный - то в форме списка мониторчика не будет.
Можете в типовом выдрать, только тут не в плане обмена проблема, а в XML правилах, поэтому отладчиком, если в КД ошибку не видите. |
|||
9
lomanos
11.01.12
✎
04:56
|
(8) все верно, проблемма не в плане обмена, но таблица зарегистрированных объектов для обмена привязана к элементу плана обмена, поэтому я и предположил, что логично отталкиваться от него. В (4) я писал, что отладчик не могу вызвать, так как ошибка отображается служебным сообщением, которое отображается при исключении, но это уже не важно - смог вызвать отладчик используя инструмент "Прочитать изменения.." из файла обмена.
Нашел документ и сразу возник вопрос, стандартная функция ПередУдалением() в модуле документа разве вызывается при обмене? В принципе ошибочный документ я уже нашел, но на будущее все таки хотелось бы разобраться и найти таблицу изменений при обмене, я думаю данный вопрос возникает у многих :) |
|||
10
Гот
11.01.12
✎
04:58
|
(9) У вас модуль плана обмена не пустой случайно?
|
|||
11
lomanos
11.01.12
✎
05:05
|
(10) модуль не пустой, но там определены только процедуры: ЗаписатьСообщениеСИзменениями, ПрочитатьСообщениеСИзменениями, ПриОтправкеДанныхПодчиненному, ПриПолученииДанныхОтГлавного, ПолучитьИмяФайлаОбмена, ПриПолученииДанныхОтПодчиненного и ПриОтправкеДанныхГлавному.
Нашел обработку "РегистрацияИзмененийДляОбмена", сейчас пока копаюсь в ней. Спасибо за "наводку". |
|||
12
Гот
11.01.12
✎
05:16
|
(11) Если процедуры пустые - смотри, как сделано в типовых планах обмена. Можешь оттуда скопировать модуль.
|
|||
13
lomanos
11.01.12
✎
06:04
|
(12) нет, процедуры не пустые, но уже не важно, обработки "РегистрацияИзмененийДляОбмена" хватило с лихвой. Данная обработка позволяет работать с зарегистрированными объектами, в том числе и удаление из регистрации и просмотр.
А вообще, если кому пригодится, у плана обмена, как оказалось, есть стандартная функция "ПланыОбмена.ВыбратьИзменения(", в которой указываем узел и данные, которые нам нужны. Она возвращает выборку зарегистрированных данных, из которой уже можно делать с этими данными все, что угодно :) Всем спасибо! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |