Вернуться   Андрей Панько. Заметки про Dynamics NAV > Dynamics NAV (Navision)
Справка Пользователи Календарь Поиск Сообщения за день Все разделы прочитаны

Dynamics NAV (Navision) Заметки про Dynamics NAV (ранее Navision) и аддон LS Retail

Ответ
 
Опции темы Поиск в этой теме
  #1  
Старый 08.12.2008, 13:11
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
XMLPort

Нашел секретные функции объекта XMLPort

[{Ok} :=] IMPORT(Number, InStream [, ResponseOutStream])

SETRESPONSE(OutStream)

GETRESPONSE(InStream)

В онлайновой справке C/SIDE Reference Guide про параметр ResponseOutStream приведена одна фраза, а про остальные две функции - просто тишина.


Решил проверить версию 2009 и его справочную систему. Выяснил, что эти функции в версии 2009 не поддерживаются (в смысле их просто нет).

Так, что если кто-то знал как они работают и использовал в своих решениях - время подумать о замене.
Ответить с цитированием
  #2  
Старый 09.01.2009, 13:00
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Выгрузил в XML две таблицы:
Customer и Vendor

Именно в таком порядке:
Код:
<?xml version="1.0" encoding="UTF-16" standalone="no"?> <mega> <cust> <no>49858585</no> <name>Hotel Pferdesee</name> </cust> <vend> <no>49989898</no> <name>JB-Spedition</name> </vend> </mega>

Удалил элементы в справочниках NAV и поменял местами теги в файле.

Код:
<?xml version="1.0" encoding="UTF-16" standalone="no"?> <mega> <vend> <no>49989898</no> <name>JB-Spedition</name> </vend> <cust> <no>49858585</no> <name>Hotel Pferdesee</name> </cust> </mega>

Выяснил, что XMLPort очень трепетно относится к порядку тегов.

Другими словами, файл с неправильным порядком тегов загрузить не удалось.

Пишет либо:
Цитата:

Элемент <cust> ожидается по знач. Min Occurs: Once.

А если в XMLPort установить значение Zero в свойстве Min Occurs для элемента Cust, то пишет:
Цитата:

Элемент <cust> не ожидается.
Ответить с цитированием
  #3  
Старый 25.02.2009, 09:49
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Вот ссылка с примером использования XMLDOM для чтения XML файлов (англ.) http://blogs.technet.com/gediminb/ar...utomation.aspx
Ответить с цитированием
  #4  
Старый 13.03.2009, 20:20
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Представим себе XMLport который загружает заказы продажи.
В строках заказа продажи указана дата отгрузки.
Если дата отгрузки раньше рабочей даты, то система будет говорить примерно следующее:
Цитата:
Дата Отгрузки 18.01.08 раньше рабочей даты 31.01.08
Тем не менее записи будут импортированы.
Причина - триггер Shipment Date - OnValidate() таблицы 37 Sales Line, там стоит специальная проверка.

Победить можно двумя способами:
1. Установить очень маленькую рабочую дату.
или
2. Изменить немного XMLPort. Для этого требуется выполнить следующие шаги:
2.1. Открыть XMLPort в XMLPort Designer
2.2. Найти строку где TagType= Element, SourceType= Table, DataSource= Sales Line(Sales Line)
2.3. Нажать F9
2.4. C/AL Editor будет спозиционирован на триггере Import::OnAfterInitRecord()
2.5. Добавить в этот триггер код: "Sales Line".SetHideValidationDialog(TRUE);
Ответить с цитированием
Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 08:17.

Контакты: e-mail, телефон: +7(926)1805967 - Архив - Вверх

Microsoft Most Valuable Professional
vBulletin v3.5.4, Copyright ©2000-2018, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co
Права на все материалы, опубликованные на блогофоруме принадлежат Андрею Панько, если в самом материале не указано иное.
Рейтинг@Mail.ru Rambler's Top100