![]() |
![]() |
![]() |
|
Ошибка при загрузке данных | ☑ | ||
---|---|---|---|---|
0
falselight
31.01.17
✎
15:18
|
Тестируется обмен данными
Сервис->Прочие обмены данными->Все настройки обмена данными. Обмен ведется по правилам (галка обмен по правилам обмена). У имеющихся правил задан только код, задающий фильтр по подразделениям, на вкладке основной. Меняю 2 документа РТиУ, один документ РТиУ и СчетФактураВыданная не перегружаются, так как в них установлено не нужно е подразделение. Перегружается 1 документ с нужным подразделением, без счет фактуры выданной. Выгрузка ведется через текстовый файл. При выгрузке ошибок не возникает. При загрузке же в базу приемник, выгруженный документ РТиУ обновляется, но выходит ошибка. От куда она может идти вообще? счет фактура не перегружается в этот раз. И там написано Обработчик = ПередКонвертациейОбъекта (глобальный). А он вроде вообще не используется!!! | Ошибка в глобальном обработчике события ПередКонвертациейОбъекта (конвертация) ПКО = СчетФактураВыданный (Документ: Счет-фактура выданный) Объект = Счет-фактура выданный СВ0000000074 от 06.08.2016 23:25:30 (Документ объект: Счет-фактура выданный) Обработчик = ПередКонвертациейОбъекта (глобальный) ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(7,6)}: Переменная не определена (Объект) ПозицияМодуля = Обработка.ОбменДаннымиXML.МодульОбъекта(9886) КодСообщения = 64 Ошибка при выгрузке данных для узла плана обмена ТипОбъекта = Документ объект: Счет-фактура выданный Объект = Счет-фактура выданный СВ0000000074 от 06.08.2016 23:25:30 ОписаниеОшибки = Ошибка в глобальном обработчике события ПередКонвертациейОбъекта (конвертация) ПКО = СчетФактураВыданный (Документ: Счет-фактура выданный) Объект = Счет-фактура выданный СВ0000000074 от 06.08.2016 23:25:30 (Документ объект: Счет-фактура выданный) Обработчик = ПередКонвертациейОбъекта (глобальный) ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(7,6)}: Переменная не определена (Объект) ПозицияМодуля = Обработка.ОбменДаннымиXML.МодульОбъекта(9886) КодСообщения = 64 ПозицияМодуля = Обработка.ОбменДаннымиXML.МодульОбъекта(1617) КодСообщения = 72 УзелПланаОбмена = Центральная база |
|||
1
falselight
31.01.17
✎
15:19
|
(0+) У имеющихся правил задан только код, задающий фильтр по подразделениям, на вкладке основной, Перед выгрузкой объекта.
|
|||
2
quest
31.01.17
✎
15:21
|
ПередКонвертациейОбъекта (глобальный) - там нет объекта по моему. Должен быть источник. КД под рукой нет, но ты можешь в описании обработчиков прочитать точнее
|
|||
3
falselight
31.01.17
✎
15:25
|
(2) да так и есть! Но я не использую вообще ПередКонвертациейОбъекта!! Я делаю все в Перед выгрузкой объекта и использую Объект.
От куда и на что эта ошибка идет мне не понятно ( |
|||
4
quest
31.01.17
✎
15:27
|
Система тебе ясно говорит - косяк в обработчике ПередКонвертациейОбъекта (глобальный)
Проверь правила которые у тебя в системе и которые ты отлаживаешь, проверь базы - может попутал их, попей чайку и начни по новой |
|||
5
falselight
31.01.17
✎
15:31
|
(4) Я понимаю,по этому и задал вопрос.Так как мне не понятно что смотреть.
В правилах ПередКонвертациейОбъекта, что на вкладке основной, весь код закоментирован так как не используется. Есть код в правилах ПередВыгрузкойОбъекта, он используется. И ругается же не на выгрузке. А на загрузке!!! В ПередКонвертациейОбъекта (глобальный) точно закомментирован код!!!!! Как отловить эту ошибку? |
|||
6
falselight
31.01.17
✎
15:50
|
Если я покажу printscreen с правила ПередКонвертациейОбъекта (глобальный) тот что на вкладке основной, вы же сами увидите что там все закоментировано, и не может использоваться!!!!
И я перегружаю именно эти правила. |
|||
7
MaxS
31.01.17
✎
16:18
|
Какие базы, то? В базе приемнике есть свои правила из базы источника и приемника.
|
|||
8
quest
31.01.17
✎
16:43
|
смотри что там у тебя в правилах для конвертации кореспонтента. Чудес не бывает.
|
|||
9
falselight
01.02.17
✎
05:38
|
(7)(8) В конвертации данных 2.1, убираю все из всех обработчиков (там был закомментированый код). Оставляю только код в обработчике Перед выгрузкой объекта. Отн отвечает за фильтрацию выгружаемых данных по подразделениям.
Сохраняю правила. Выгружаю .xml в каталог. В источнике, меняю количество в 2х документах, что бы выгрузился 1 РТиУ, а 1 РТиУи его СФ не были выгружены, так как отфильтровываются. Открываю правила обмена, загружаю туда правила. Выгружаю. (8) Да там ничего нет, никакого своего кода, все было создано мастером. (7) Бызы почти идентичные, на 99% наверное. Вот! На это я не обращал внимания. Обновляя правила в источнике не обновлял в приемнике. Слелал это сейчас. Ошибки той не стало. НО! Выгрузилась счет фактура по РТиУ которая не прошла фильтр! До этого она не выгружалась!!! Сейчас не понятл почему она выгрузилась! |
|||
10
falselight
01.02.17
✎
06:04
|
Если у меня стоят подобные условия фильтрации в обработчике ПередВыгрузкойОбъекта, -
//этот должен не пропустить реализацию товаров услуг Если Объект.Метаданные().Реквизиты.Найти("Подразделение") <> Неопределено Тогда Если ЗначениеЗаполнено(Объект.Подразделение) Тогда Если НЕ(Объект.Подразделение.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.бит_аэро_Подразделение = ПодразделениеФильтр) Тогда Сообщить("|"); Сообщить("---Объект пропущен " +СТРОКА(Объект)+"--ПВО--"); Сообщить("|"); Отказ = Истина; КонецЕсли; КонецЕсли; //этот должен не пропустить счет фактуру выданную ИначеЕсли Объект.Метаданные().Реквизиты.Найти("РК_ПодразделениеОрганизации") <> Неопределено Тогда Если ЗначениеЗаполнено(Объект.РК_ПодразделениеОрганизации) Тогда Если НЕ(Объект.РК_ПодразделениеОрганизации.ПринадлежитЭлементу(ПодразделениеФильтр) ИЛИ Объект.РК_ПодразделениеОрганизации = ПодразделениеФильтр) Тогда Сообщить("|"); Сообщить("---Объект пропущен " +СТРОКА(Объект)+"--ПВО--"); Сообщить("|"); Отказ = Истина; КонецЕсли; КонецЕсли; Оно же не должно пропускать документ к выгрузке? Этому способствует Отказ = Истина; Или нужно ещё делать Продолжить; ? Я замечал что неоднократно СФ не выгружалась как и РТиУ к которой она относится, но сейчас вот стала, не пойму что этому способствует? |
|||
11
MaxS
01.02.17
✎
09:21
|
Объект может выгружаться по ссылке, при этом код перед выгрузкой не используется.
Запрет лучше ставить в правилах регистрации. |
|||
12
falselight
01.02.17
✎
10:26
|
Объект может выгружаться по ссылке,
|| это значит чт оесли у объекта в реквизите ссылка на другой документ, то его нельзя тут проверить в обработчике ПередВыгрузкойОбъекта (но можно проверить в обработчике ПередКонвертациейОбъекта)? || при этом код перед выгрузкой не используется. || какой код не используется? подскажите как добраться до этих правил регистрации? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |