Каталог решений - Доработка конвертации данных КД2 (версии 2.1). Расширенная диагностическая информация при выгрузке по правилам из 1С 7.7 и при загрузке в 1С 7.7

Доработка конвертации данных КД2 (версии 2.1). Расширенная диагностическая информация при выгрузке по правилам из 1С 7.7 и при загрузке в 1С 7.7

Доработка конвертации данных КД2 (версии 2.1). Расширенная диагностическая информация при выгрузке по правилам из 1С 7.7 и при загрузке в 1С 7.7

В наличии

Есть очень неприятная особенность при настройке обмена по правилам КД2 в момент отладки на стороне 1С 7.7, как при выгрузке из 1С 7.7, так и при загрузке в 1С 7.7. Непонятно, в каком конкретно месте формирования или разбора данных XML файла в какой именно момент споткнулась программа (произошел сбой). Я нашел способ вывода дополнительной диагностики, теперь точно известно, на каком элементе данных XML споткнулся модуль выгрузки V77Exp.ert (модуль загрузки V77Imp.ert). Теперь отладка правил обмена на стороне 1С 7.7 стала простой, выполняется на порядок проще.

Категория:

Описание

Допустим мы где-то в правилах допустили опечатку в коде на встроенном языке.

В этом случаепри открытии формы обработки "V77Exp.ert" мы получим сообщение об ошибке:

Сообщать<<?>>("Способ задания цены =" + Значение)
{….\CONVERSION\V77EXP.ERT(12199)}: Процедура не обнаружена (Сообщать)

Тут все понятно по-русски написано, открыв модуль сразу ясно что и где исправлять. В реальной же жизни отлаживать правила конвертации сложно. Ошибка в модуле выгрузки V77EXP.ERT или загрузки V77IMP.ERT, когда алгоритм не спотыкается, а просто ругнется на каком-то одном неизвестном объекте или свойстве где-нибудь в середине XML-файла, или вообще не покажет ошибку. Куда смотреть — не понятно. Трассировать? {….\CONVERSION\V77EXP.ERT(12199)} — трассировать можно до утра, эти модули довольно объемные и трассировать их не всегда приемлемо.

Чаще всего при отладке правил конвертации происходит ошибка логическая, и она может проявляться не у всех элементов, а на каком-то неизвестном элементе данных в зависимости от сложившейся последовательности предыдущих итераций обработчиков цепочки разбора XML. Детерминировать такую ошибку мешает отсутствие подробной диагностической информации о происходящих в обработке событиях. Поясняю на примере.

Прежде всего смоделируем решаемую проблему.

Намеряно внесем в конвертацию ошибку, от которой выгрузка данных прервется с непонятным сообщением об ошибке. Пусть в некотором алгоритме не передается ожидаемый элемент структуры во входящие данные.

Где-то в другом обработчике этот элемент должен был использоваться но теперь уже программа работает не правильно, создает нам бракованную XML-ку, и теперь прийдется повозиться, чтобы выяснить где собака порылась. Ведь робот на комментарии скуп, "  — Значение не представляет агрегатный объект (Код)" и всё.

 

has been added to your cart:
Оформление заказа