Dynamics GP eConnect: получить данные (в отличие от создания / обновления)?

Я использую eConnect для создания и обновления различных элементов в Dynamics GP, но я не могу найти, как использовать его для чтения данных из GP.

Например, я хотел бы получить списки поставщиков и учетных записей от GP. Есть ли способ сделать это из eConnect? Должен ли я использовать SQL?

2 ответа

Вам не нужно использовать SQL; ты можешь использовать eConnectOut для получения данных, но наборы результатов несколько ограничены из коробки. В конце концов я обнаружил, что просто иметь дело с SQL было для меня легче, потому что eConnectOut не дает вам доступа ко всем данным GP без манипуляции с таблицей eConnect_Out_Setup, которая в лучшем случае громоздка.

В таблице eConnect_Out_Setup имеется длинный список DOCTYPE для уже существующих eConnectOut Запросы, если вы заинтересованы. DOCTYPE, который вы, вероятно, ищете, это Vendor (который находится в таблице PM00200, если вы используете SQL).

Вот пример eConnectOut используя C#: http://msdn.microsoft.com/en-us/library/ff623639.aspx

Если вы используете XML для транзакций eConnect, вот пример этого:

<?xml version="1.0" encoding="utf-8" ?>
<eConnect xmlns:dt="urn:schemas-microsoft-com:datatypes">
    <RQeConnectOutType>
        <eConnectProcessInfo>
            <Outgoing>TRUE</Outgoing>
            <MessageID>Customer</MessageID>
        </eConnectProcessInfo>
            <eConnectOut>
                <DOCTYPE>Customer</DOCTYPE>
                <OUTPUTTYPE>2</OUTPUTTYPE>
                <INDEX1TO>346710</INDEX1TO>
                <INDEX1FROM>346710</INDEX1FROM>
                <FORLOAD>0</FORLOAD>
                <FORLIST>1</FORLIST>
                <ACTION>0</ACTION>
                <ROWCOUNT>0</ROWCOUNT>
                <REMOVE>0</REMOVE>
            </eConnectOut>
        </RQeConnectOutType>
</eConnect>

Больше документации по eConnectOut можно найти на MSDN.

Я использую gpwebservice для этого

использовать метод веб-сервиса wsDynamicsGP.GetVendorList();

В качестве альтернативы вы можете использовать следующий запрос

выберите VendorId,VENDname в качестве VendorName из PM00200

Другие вопросы по тегам