Giter Club home page Giter Club logo

business-central-php's People

Contributors

dependabot[bot] avatar exeque avatar fichtme avatar pazion avatar vassard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

business-central-php's Issues

create

What is the structure of code to create an entry ? have you got a example ?

Question

Hey, first of all thanks for the great work done here!

I have a quick question, does it also work with On-premise deployments?

On premise issue building models

Hi.

I finally got to testing the SDK on on-premise test environment.
I was able to get connection working after modifying SDK.php file line 80 from
'base_uri' => "https://api.businesscentral.dynamics.com/v2.0/$this->tenant/$this->environment/ODataV4/",
to
'base_uri' => "$this->tenant/ODataV4/",
and passing on-prem service url while starting instance and removing cloud prefix alltogether.

But I'm having issues building models and populating entities.md and was hoping you could help me out a bit.

First I tried post-autoload-dump script. I failed passing credentials from composer.json. Composer simply did not validate json. Then I tried defining default variable values at Constructor.php buildModels function. Then the script ran but ended up with error:
Script BusinessCentral\Constructor::buildModels handling the post-autoload-dump event terminated with an exception [ErrorException] Object of class Composer\Script\Event could not be converted to string

Finnaly tried building models directly from php script by calling
BusinessCentral\Constructor::buildModels( 'server:port/instance', 'username', 'password' );
And got buntch of undefined index errors and failing:
Undefined index: NAV in C:\wamp64\www\ekodumaja\vendor\coolrunner\business-central-sdk\src\Schema.php on line 59 Undefined index: @attributes in C:\wamp64\www\ekodumaja\vendor\coolrunner\business-central-sdk\src\Schema.php on line 40 Undefined index: Namespace in C:\wamp64\www\ekodumaja\vendor\coolrunner\business-central-sdk\src\Schema.php on line 40 Undefined index: NAV.ComplexTypes in C:\wamp64\www\ekodumaja\vendor\coolrunner\business-central-sdk\src\Schema.php on line 55 Invalid argument supplied for foreach() in C:\wamp64\www\ekodumaja\vendor\coolrunner\business-central-sdk\src\Schema.php on line 55

Am I missing something obvious here?
Maybe you can provide me sample of your working composer.json in case i'm not including something important there.

If I get some time I will make a fork and make pull request regarding on-premise tenant URL fix.

api call upon initiating

I noticed that when instantiating a Model/Entity it does a call to the API , this is triggered from
EntityCollection::__construct.

When setting the limit high, this fetches a lot of data.

I had a look, but the propagate is really dependent in the construct functionality.

I also thought about limiting the construct to 1, but believe this has consequences for the pagination?

Error: An item with the same key has already been added. when requesting the ODataV4/$metadata

Hi

I'm sorry for asking this here as I'm sure this is a problem with my Business Central set-up and not with this project. I don't know much about Business Central but I've followed some instructions on the web and got Azure AD OAuth configured and working with a trial Business Central set-up in the cloud. I've done some searching but I've not been able to find a solution to my problem.

The SDK appeared to work fine for the fist request but subsequent requests have generated this error:

Server error: `GET https://api.businesscentral.dynamics.com/v2.0/afcd4d86-327b-4160-baad-c45589c7eddb/production/ODataV4/$metadata` resulted in a `500 Internal Server Error` response:
{"error":{"code":"Unknown","message":"An item with the same key has already been added.  CorrelationId:  40da9e46-37e9-4 (truncated...)

Using the same request in Postman generates the same result.

{
    "error": {
        "code": "Unknown",
        "message": "An item with the same key has already been added.  CorrelationId:  d04c747b-44b2-41cc-82b2-57db29f88414."
    }
}

Do you know what I need to do in Business Central to fix this?

deep insert

When creating a SalesDocument I wanted to directly do a deep insert ( add SalesDocumentLines in the same call ), but noticed the library doesn't yet support this, are there any plans for this?

Guzzle ^7 support

Hi Morten.

Thanks for your work!!

Is it possible to update the guzzle requirements, so it is possible to require it with Laravel 8?

Thanks!

Call to a member function getEntityType() on null in vendor\coolrunner\business-central-sdk\src\EntityCollection.php:59

Hi,
I'm getting the error Call to a member function getEntityType() on null when I try to do any query.
It seems the problem starts in `EntityCollection.ph , line 77:

$this->type        = $this->query->getEntitySet($response['@odata.context']);

$response['@odata.context'] has a valid content:
https://api.businesscentral.dynamics.com/v2.0/myTenant/sandbox/ODataV4/$metadata#Company

$response looks good as well (array of value is there; 1 element in it, with Name, Display_Name, Id, ...

But $this->query->getEntitySet returns null

Complete usage of SDK:

$sdk = \BusinessCentral\SDK::instance($myTenant, [
    // OAuth2 [Required]
    'client_id' => $myClientId,

    // Basic auth token [Required]
    'client_secret'    => $mySecret,

    // Default collection size [Optional]
    // Amount of entities to load initially and per page per collection
    // Can be changed on the fly on any collection instance
    'default_collection_size' => 20,

    // Default environment [Optional - 'production' by default]
    'environment' => 'sandbox',
]);

$company = $sdk->company('company');

At creating the instance some warnings will come - maybe this is the reason?

Warning: Undefined array key "@attributes" in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 40

Warning: Trying to access array offset on value of type null in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 40

Warning: Undefined array key "@attributes" in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 40

Warning: Trying to access array offset on value of type null in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 40

Warning: Undefined array key "Namespace" in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 40

Warning: Undefined array key "@attributes" in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 40

Warning: Trying to access array offset on value of type null in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 40

Warning: Undefined array key "Namespace" in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 40

Warning: Undefined array key "@attributes" in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 40

Warning: Trying to access array offset on value of type null in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 40

Warning: Undefined array key "NAV.ComplexTypes" in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 55

Warning: Trying to access array offset on value of type null in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 55

Warning: foreach() argument must be of type array|object, null given in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 55

Warning: Undefined array key "NAV" in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 59

Warning: Trying to access array offset on value of type null in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 59

Warning: foreach() argument must be of type array|object, null given in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 59

Warning: Undefined array key "NAV" in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 63

Warning: Trying to access array offset on value of type null in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 63

Warning: Trying to access array offset on value of type null in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 63

Warning: foreach() argument must be of type array|object, null given in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 63

Warning: Undefined array key "NAV" in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 67

Warning: Trying to access array offset on value of type null in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 67

Warning: foreach() argument must be of type array|object, null given in \vendor\coolrunner\business-central-sdk\src\Schema.php on line 67

PHP Version: 8.1.6

Undefined array key "@attributes"

Hi.
Im trying to connect to my BC Environment and im getting an ErrorException
Undefined array key "@attributes" on line 'client_id' => .....

` public function test(){

    $sdk = SDK::instance('######', [

        // OAuth2 [Required]

        'client_id' => '######',



        // Basic auth token [Required]

        'client_secret'    => '######',



        // Default collection size [Optional]

        // Amount of entities to load initially and per page per collection

        // Can be changed on the fly on any collection instance

        'default_collection_size' => 20,



        // Default environment [Optional - 'production' by default]

        'environment' => 'TESTES'

    ]);

}`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.