AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.06.2018, 14:04   #1  
Natali77 is offline
Natali77
Участник
 
39 / 10 (1) +
Регистрация: 05.09.2016
Ошибка в методе createDocument класса SGM_DPMergeWord_With_XML
Добрый день.

Помогите, пожалуйста, разобраться с проблемой печати документов.
Dynamics AX 4.0, MS SQL 2012.

Не можем понять причину ошибки по шаблону Трудового договора на прием.
В шаблоне меняли индекс и адрес Банка, после изменения закачали шаблон. Но при распечатке выдает ошибку:

"Ошибка времени выполнения: XMLDocument Объект не имеет метода finalize " (не получилось вставить скрин изображения)

"Проверьте настройки шаблона. Присоединяемая схема не содержит корневого элемента "ТД_новый_2.""

Все настройки проверены, корневой элемент «ТД_новый_2» присутствует.

Были перепробованы все способы – создавался новый шаблон, новая схема, новые пункты меню, обновлялись связи, схемы ничего не помогло.
Фактически изменены только два слова в тексте шаблона.

Не могли бы подсказать в чем может быть причина и как можно решить данную проблему?

Ранее при возникновении такой ошибки, проблема решалась пересозданием шаблона (повторное присоединение схемы), что в данном случае не помогло.

Последний раз редактировалось Natali77; 22.06.2018 в 14:44.
Старый 22.06.2018, 15:05   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
SGM_DPMergeWord_With_XML - это нестандартный класс.
Старый 22.06.2018, 21:09   #3  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Сделайте инкрементную компиляцию класса SGM_DPMergeWord_With_XML, возможно и некоторых других, задействованных в процессе.
Если ошибок компиляции не выявлено, поставьте точку останова в методе infolog.add() и ведите отладку.
__________________
// no comments
За это сообщение автора поблагодарили: Natali77 (1).
Старый 25.06.2018, 06:38   #4  
Natali77 is offline
Natali77
Участник
 
39 / 10 (1) +
Регистрация: 05.09.2016
Цитата:
Сообщение от dech Посмотреть сообщение
Сделайте инкрементную компиляцию класса SGM_DPMergeWord_With_XML, возможно и некоторых других, задействованных в процессе.
Если ошибок компиляции не выявлено, поставьте точку останова в методе infolog.add() и ведите отладку.
Здравствуйте. Спасибо за отклик. инкрементная компиляция прошла без ошибок. Но в классе SGM_DPMergeWord_With_XM нет метода infolog.add()
Старый 25.06.2018, 07:16   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Natali77 Посмотреть сообщение
в классе SGM_DPMergeWord_With_XM нет метода infolog.add()
https://blogs.msdn.microsoft.com/mfp...t-in-info-add/
Старый 25.06.2018, 07:56   #6  
Natali77 is offline
Natali77
Участник
 
39 / 10 (1) +
Регистрация: 05.09.2016
Цитата:
Спасибо за отклик. Понятно, так мы ставили так точку останова и трассировали. Отличие было в том, что строка запроса для поиска корневых элементов интегрируемого элемента была так \\ns0...
В шаблонах без ошибки идет \\ns2, \\ns4, \\ns8.

Последний раз редактировалось Natali77; 25.06.2018 в 08:52.
Старый 25.06.2018, 08:29   #7  
Natali77 is offline
Natali77
Участник
 
39 / 10 (1) +
Регистрация: 05.09.2016
Во вложении скрины ошибки
Миниатюры
Нажмите на изображение для увеличения
Название: Error1.JPG
Просмотров: 344
Размер:	81.7 Кб
ID:	11958  
Изображения
 
Старый 25.06.2018, 08:44   #8  
Natali77 is offline
Natali77
Участник
 
39 / 10 (1) +
Регистрация: 05.09.2016
Пункты меню
Миниатюры
Нажмите на изображение для увеличения
Название: Error3.JPG
Просмотров: 309
Размер:	245.6 Кб
ID:	11961  
Старый 25.06.2018, 09:15   #9  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Ну все ясно. Переменная wordDoc типа XMLDocument не имеет метода finalize(). Закомментируйте вызов этого метода и посмотрите, возникает ли ошибка с элементом ТД_новый_2. Если да, то уберите в шаблоне точку в конце названия элемента.
__________________
// no comments

Последний раз редактировалось dech; 25.06.2018 в 10:16.
Старый 25.06.2018, 12:42   #10  
Natali77 is offline
Natali77
Участник
 
39 / 10 (1) +
Регистрация: 05.09.2016
Цитата:
Сообщение от dech Посмотреть сообщение
Ну все ясно. Переменная wordDoc типа XMLDocument не имеет метода finalize(). Закомментируйте вызов этого метода и посмотрите, возникает ли ошибка с элементом ТД_новый_2. Если да, то уберите в шаблоне точку в конце названия элемента.
Точка стояла в коде, ее убрали, закомментили метод finalize, но все равно выдает такую же ошибку, только без точки.
Миниатюры
Нажмите на изображение для увеличения
Название: Коди_Ифолог.PNG
Просмотров: 340
Размер:	2.5 Кб
ID:	11962   Нажмите на изображение для увеличения
Название: Снимок.PNG
Просмотров: 287
Размер:	16.9 Кб
ID:	11963  

Старый 25.06.2018, 13:20   #11  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Access rights?
Старый 25.06.2018, 15:22   #12  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Сообщения об ошибке, особенно для внешних (по отношению к Axapta) приложений, не всегда адекватные. Т.е. не всегда соответствуют реальной ошибке

В данном случае ошибка может быть следствием того, что файл просто не удалось открыть. Это может быть по причине того, что для этой операции недостаточно прав. Например, файл лежит где-нибудь в общей папке со специфическими правами доступа. А на новый файл эти права не распространяются

Вообще, Вы не там ищете. Насколько я понимаю, метод Finilaze был вызван как раз по причине того, что произошла ошибка. Судя по трассировке, Вам надо смотреть на метод

SGM_DPMergeWord_With_XM.createDocument()

Там, похоже, выполняется ветка обработки ошибки. Вот и надо смотреть, почему Вы в эту ветку попали. Какие условия привели к этому месту кода
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 26.06.2018, 06:18   #13  
Natali77 is offline
Natali77
Участник
 
39 / 10 (1) +
Регистрация: 05.09.2016
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Сообщения об ошибке, особенно для внешних (по отношению к Axapta) приложений, не всегда адекватные. Т.е. не всегда соответствуют реальной ошибке

В данном случае ошибка может быть следствием того, что файл просто не удалось открыть. Это может быть по причине того, что для этой операции недостаточно прав. Например, файл лежит где-нибудь в общей папке со специфическими правами доступа. А на новый файл эти права не распространяются

Вообще, Вы не там ищете. Насколько я понимаю, метод Finilaze был вызван как раз по причине того, что произошла ошибка. Судя по трассировке, Вам надо смотреть на метод

SGM_DPMergeWord_With_XM.createDocument()

Там, похоже, выполняется ветка обработки ошибки. Вот и надо смотреть, почему Вы в эту ветку попали. Какие условия привели к этому месту кода
Здравствуйте. Спасибо за отклик.

Новый шаблон (файл) это копия старого шаблона, в котором были изменения в тексте. И права у них одинаковые. Старый шаблон отрабатывает без ошибок. Если же загрузить копию старого шаблона без изменений, то отрабатывает без ошибок.

Касательно SGM_DPMergeWord_With_XM.createDocument() - при трассировке заходит в метод Finilaze, т.к. if (nodeListWord.length()>0) в методе createDocument().
У нас, к сожалению, не все системные классы доступны для просмотра, в том числе XMLNodeList.
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок2.PNG
Просмотров: 354
Размер:	11.3 Кб
ID:	11965  
Старый 26.06.2018, 11:28   #14  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Без программиста Вы так долго будете искать причину Нам же здесь не видно, что это за класс такой и как он устроен.

Из приведенного фрагмента кода видно, что ошибка возникает когда nodeListWord.length() == 0. Но как объект nodeListWord формируется и наполняется и почему его длина получилась равна нулю - это проще под отладчиком пройтись.

В системные классы лезть не обязательно. Видно же, что не происходит наполнение этих классов. А вот почему - это надо код класса анализировать. Стек вызова и ошибка - это уже следствие. Далеко не факт, что причина ошибки будет в методах этого стека.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 27.06.2018, 07:02   #15  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Ведите отладку. Нужно понять, почему nodeListWord не содержит ни одного элемента.
Попросите помощи у ведущего или более опытного программиста, который может вам помочь на месте. Здесь мы можем только направить в нужном направлении.
__________________
// no comments
Старый 27.06.2018, 08:17   #16  
Natali77 is offline
Natali77
Участник
 
39 / 10 (1) +
Регистрация: 05.09.2016
Цитата:
Сообщение от dech Посмотреть сообщение
Ведите отладку. Нужно понять, почему nodeListWord не содержит ни одного элемента.
Попросите помощи у ведущего или более опытного программиста, который может вам помочь на месте. Здесь мы можем только направить в нужном направлении.

Отладка ведется, но не понятно что не так. По каким критериям не соответствует. По хорошему бы посмотреть нужный системный класс.
Старый 27.06.2018, 13:14   #17  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от Natali77 Посмотреть сообщение
Отладка ведется, но не понятно что не так. По каким критериям не соответствует. По хорошему бы посмотреть нужный системный класс.
Системный класс вы никак не посмотрите. Если только не работаете в M$.
__________________
// no comments
Теги
печатные формы

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
kurthatlevik: AX suggestion: XML Columns and XML indexes Blog bot DAX Blogs 0 28.10.2015 20:11
kurthatlevik: AX suggestion: XML Columns and XML indexes Blog bot DAX Blogs 0 28.08.2015 13:11
Ошибка XML в "Таблица" Причина: Ошибочное значение Poleax DAX: Программирование 7 08.10.2009 16:45
Ошибка класса XMLDocument simply2double DAX: Программирование 2 27.11.2007 10:04
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:11.