rconomic 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +11 -0
- data/Gemfile +8 -0
- data/Gemfile.lock +54 -0
- data/LICENSE +19 -0
- data/README.md +74 -0
- data/Rakefile +7 -0
- data/lib/economic/current_invoice.rb +78 -0
- data/lib/economic/current_invoice_line.rb +47 -0
- data/lib/economic/debtor.rb +51 -0
- data/lib/economic/economic.wsdl +56858 -0
- data/lib/economic/entity.rb +167 -0
- data/lib/economic/proxies/current_invoice_line_proxy.rb +28 -0
- data/lib/economic/proxies/current_invoice_proxy.rb +38 -0
- data/lib/economic/proxies/debtor_proxy.rb +40 -0
- data/lib/economic/proxies/entity_proxy.rb +61 -0
- data/lib/economic/session.rb +59 -0
- data/lib/rconomic/version.rb +3 -0
- data/lib/rconomic.rb +26 -0
- data/rconomic.gemspec +26 -0
- data/spec/economic/current_invoice_line_spec.rb +10 -0
- data/spec/economic/current_invoice_spec.rb +59 -0
- data/spec/economic/debtor_spec.rb +43 -0
- data/spec/economic/entity_spec.rb +179 -0
- data/spec/economic/proxies/current_invoice_line_proxy_spec.rb +77 -0
- data/spec/economic/proxies/current_invoice_proxy_spec.rb +64 -0
- data/spec/economic/proxies/debtor_proxy_spec.rb +74 -0
- data/spec/economic/session_spec.rb +64 -0
- data/spec/fixtures/connect/success.xml +8 -0
- data/spec/fixtures/current_invoice_create_from_data/success.xml +10 -0
- data/spec/fixtures/current_invoice_get_data/success.xml +73 -0
- data/spec/fixtures/current_invoice_line_get_data/success.xml +39 -0
- data/spec/fixtures/debtor_find_by_ci_number/many.xml +15 -0
- data/spec/fixtures/debtor_get_data/success.xml +54 -0
- data/spec/fixtures/debtor_get_next_available_number/success.xml +8 -0
- data/spec/fixtures/spec_entity_create_from_data/success.xml +10 -0
- data/spec/fixtures/spec_entity_get_data/success.xml +11 -0
- data/spec/fixtures/spec_entity_update_from_data/success.xml +10 -0
- data/spec/fixtures/wsdl.xml +56596 -0
- data/spec/spec_helper.rb +97 -0
- metadata +135 -0
@@ -0,0 +1,179 @@
|
|
1
|
+
require './spec/spec_helper'
|
2
|
+
|
3
|
+
class SpecEntity < Economic::Entity
|
4
|
+
has_properties :foo, :baz
|
5
|
+
|
6
|
+
def existing_method; end
|
7
|
+
end
|
8
|
+
|
9
|
+
describe Economic::Entity do
|
10
|
+
let(:session) { make_session }
|
11
|
+
|
12
|
+
describe "class methods" do
|
13
|
+
subject { SpecEntity }
|
14
|
+
|
15
|
+
describe "new" do
|
16
|
+
subject { Economic::Entity.new }
|
17
|
+
|
18
|
+
it "creates a new instance" do
|
19
|
+
subject.should be_instance_of(Economic::Entity)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "sets persisted to false" do
|
23
|
+
subject.should_not be_persisted
|
24
|
+
end
|
25
|
+
|
26
|
+
it "sets partial to true" do
|
27
|
+
subject.should be_partial
|
28
|
+
end
|
29
|
+
|
30
|
+
it "initializes the entity with values from the given hash" do
|
31
|
+
entity = SpecEntity.new(:foo => 'bar', :baz => 'qux')
|
32
|
+
entity.foo.should == 'bar'
|
33
|
+
entity.baz.should == 'qux'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "properties_not_triggering_full_load" do
|
38
|
+
it "returns names of special id'ish properties" do
|
39
|
+
subject.properties_not_triggering_full_load.should == [:id, :number, :handle]
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe "has_properties" do
|
44
|
+
it "creates getter for all properties" do
|
45
|
+
subject.expects(:define_method).with('name')
|
46
|
+
subject.expects(:define_method).with('age')
|
47
|
+
subject.has_properties :name, :age
|
48
|
+
end
|
49
|
+
|
50
|
+
it "creates setter for all properties" do
|
51
|
+
subject.expects(:attr_writer).with(:name)
|
52
|
+
subject.expects(:attr_writer).with(:age)
|
53
|
+
subject.has_properties :name, :age
|
54
|
+
end
|
55
|
+
|
56
|
+
it "does not create setter or getter for id'ish properties" do
|
57
|
+
subject.expects(:define_method).with('id').never
|
58
|
+
subject.expects(:define_method).with('number').never
|
59
|
+
subject.expects(:define_method).with('handle').never
|
60
|
+
subject.has_properties :id, :number, :handle
|
61
|
+
end
|
62
|
+
|
63
|
+
it "does not clobber existing methods" do
|
64
|
+
subject.expects(:define_method).with('existing_method').never
|
65
|
+
subject.has_properties :existing_method
|
66
|
+
end
|
67
|
+
|
68
|
+
describe "properties created with has_properties" do
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe "soap_action" do
|
73
|
+
it "returns the name for the given soap action on this class" do
|
74
|
+
subject.soap_action(:get_data).should == :spec_entity_get_data
|
75
|
+
|
76
|
+
class Car < Economic::Entity; end
|
77
|
+
Car.soap_action(:start_engine).should == :car_start_engine
|
78
|
+
Car.soap_action('StartEngine').should == :car_start_engine
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
describe "get_data" do
|
84
|
+
subject { (e = SpecEntity.new).tap { |e| e.session = session } }
|
85
|
+
|
86
|
+
before :each do
|
87
|
+
savon.stubs(:spec_entity_get_data).returns(:success)
|
88
|
+
end
|
89
|
+
|
90
|
+
it "fetches data from API" do
|
91
|
+
subject.instance_variable_set('@number', 42)
|
92
|
+
savon.expects(:spec_entity_get_data).with('entityHandle' => {'Number' => 42}).returns(:success)
|
93
|
+
subject.get_data
|
94
|
+
end
|
95
|
+
|
96
|
+
it "updates the entity with the response" do
|
97
|
+
subject.expects(:update_properties).with({:foo => 'bar', :baz => 'qux'})
|
98
|
+
subject.get_data
|
99
|
+
end
|
100
|
+
|
101
|
+
it "sets partial to false" do
|
102
|
+
subject.get_data
|
103
|
+
subject.should_not be_partial
|
104
|
+
end
|
105
|
+
|
106
|
+
it "sets persisted to true" do
|
107
|
+
subject.get_data
|
108
|
+
subject.should be_persisted
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
describe "save" do
|
113
|
+
subject { (e = SpecEntity.new).tap { |e| e.session = session } }
|
114
|
+
|
115
|
+
context "entity has not been persisted" do
|
116
|
+
before :each do
|
117
|
+
subject.stubs(:persisted?).returns(false)
|
118
|
+
end
|
119
|
+
|
120
|
+
it "creates the entity" do
|
121
|
+
subject.expects(:create)
|
122
|
+
subject.save
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
context "entity has already been persisted" do
|
127
|
+
before :each do
|
128
|
+
subject.stubs(:persisted?).returns(true)
|
129
|
+
end
|
130
|
+
|
131
|
+
it "updates the entity" do
|
132
|
+
subject.expects(:update)
|
133
|
+
subject.save
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
138
|
+
describe "create" do
|
139
|
+
subject { (e = SpecEntity.new).tap { |e| e.persisted = false; e.session = session } }
|
140
|
+
|
141
|
+
it "sends data to the API" do
|
142
|
+
savon.expects(:spec_entity_create_from_data).returns(:success)
|
143
|
+
subject.save
|
144
|
+
end
|
145
|
+
|
146
|
+
it "updates handle with the number returned from API" do
|
147
|
+
savon.expects(:spec_entity_create_from_data).returns(:success)
|
148
|
+
subject.save
|
149
|
+
subject.number.should == '42'
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
describe "update" do
|
154
|
+
subject { (e = SpecEntity.new).tap { |e| e.persisted = true; e.session = session } }
|
155
|
+
|
156
|
+
it "sends data to the API" do
|
157
|
+
savon.expects(:spec_entity_update_from_data).returns(:success)
|
158
|
+
subject.save
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
describe "update_properties" do
|
163
|
+
subject { SpecEntity.new }
|
164
|
+
|
165
|
+
it "sets the properties to the given values" do
|
166
|
+
subject.class.has_properties :foo, :baz
|
167
|
+
subject.expects(:foo=).with('bar')
|
168
|
+
subject.expects(:baz=).with('qux')
|
169
|
+
subject.update_properties(:foo => 'bar', 'baz' => 'qux')
|
170
|
+
end
|
171
|
+
|
172
|
+
it "only sets known properties" do
|
173
|
+
subject.class.has_properties :foo, :bar
|
174
|
+
subject.expects(:foo=).with('bar')
|
175
|
+
subject.update_properties(:foo => 'bar', 'baz' => 'qux')
|
176
|
+
end
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require './spec/spec_helper'
|
2
|
+
|
3
|
+
describe Economic::CurrentInvoiceLineProxy do
|
4
|
+
let(:session) { make_session }
|
5
|
+
let(:invoice) { make_current_invoice(:session => session) }
|
6
|
+
subject { Economic::CurrentInvoiceLineProxy.new(invoice) }
|
7
|
+
|
8
|
+
describe "new" do
|
9
|
+
it "stores owner" do
|
10
|
+
subject.owner.should == invoice
|
11
|
+
end
|
12
|
+
|
13
|
+
it "stores session" do
|
14
|
+
subject.session.should == invoice.session
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe ".build" do
|
19
|
+
it "instantiates a new CurrentInvoiceLine" do
|
20
|
+
subject.build.should be_instance_of(Economic::CurrentInvoiceLine)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "assigns the session to the CurrentInvoiceLine" do
|
24
|
+
subject.build.session.should == session
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should not build a partial CurrentInvoiceLine" do
|
28
|
+
subject.build.should_not be_partial
|
29
|
+
end
|
30
|
+
|
31
|
+
context "when owner is a CurrentInvoice" do
|
32
|
+
subject { invoice.lines }
|
33
|
+
|
34
|
+
it "should use the Debtors session" do
|
35
|
+
subject.build.session.should == invoice.session
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should initialize with values from CurrentInvoice" do
|
39
|
+
invoice_line = subject.build
|
40
|
+
invoice_line.invoice_handle.should == invoice.handle
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
describe ".find" do
|
46
|
+
before :each do
|
47
|
+
savon.stubs('CurrentInvoiceLine_GetData').returns(:success)
|
48
|
+
end
|
49
|
+
|
50
|
+
it "gets invoice_line data from API" do
|
51
|
+
savon.expects('CurrentInvoiceLine_GetData').with('entityHandle' => {'Number' => 42}).returns(:success)
|
52
|
+
subject.find(42)
|
53
|
+
end
|
54
|
+
|
55
|
+
it "returns CurrentInvoiceLine object" do
|
56
|
+
subject.find(42).should be_instance_of(Economic::CurrentInvoiceLine)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
describe "enumerable" do
|
61
|
+
it "can be empty" do
|
62
|
+
subject.should be_empty
|
63
|
+
end
|
64
|
+
|
65
|
+
it "can be appended to" do
|
66
|
+
line = Economic::CurrentInvoiceLine.new
|
67
|
+
subject << line
|
68
|
+
subject.items.should == [line]
|
69
|
+
end
|
70
|
+
|
71
|
+
it "can be iterated over" do
|
72
|
+
line = Economic::CurrentInvoiceLine.new
|
73
|
+
subject << line
|
74
|
+
subject.all? { |l| l == [line] }
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require './spec/spec_helper'
|
2
|
+
|
3
|
+
describe Economic::CurrentInvoiceProxy do
|
4
|
+
let(:session) { make_session }
|
5
|
+
subject { Economic::CurrentInvoiceProxy.new(session) }
|
6
|
+
|
7
|
+
describe ".new" do
|
8
|
+
it "stores session" do
|
9
|
+
subject.session.should === session
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
describe ".build" do
|
14
|
+
it "instantiates a new CurrentInvoice" do
|
15
|
+
subject.build.should be_instance_of(Economic::CurrentInvoice)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "assigns the session to the CurrentInvoice" do
|
19
|
+
subject.build.session.should === session
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should not build a partial CurrentInvoice" do
|
23
|
+
subject.build.should_not be_partial
|
24
|
+
end
|
25
|
+
|
26
|
+
context "when owner is a Debtor" do
|
27
|
+
let(:debtor) { make_debtor(:session => session) }
|
28
|
+
subject { debtor.current_invoices }
|
29
|
+
|
30
|
+
it "should use the Debtors session" do
|
31
|
+
subject.build.session.should == debtor.session
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should initialize with values from Debtor" do
|
35
|
+
invoice = subject.build
|
36
|
+
|
37
|
+
invoice.debtor_name.should == debtor.name
|
38
|
+
invoice.debtor_address.should == debtor.address
|
39
|
+
invoice.debtor_postal_code.should == debtor.postal_code
|
40
|
+
invoice.debtor_city.should == debtor.city
|
41
|
+
|
42
|
+
invoice.debtor_handle.should == debtor.handle
|
43
|
+
invoice.term_of_payment_handle.should == debtor.term_of_payment_handle
|
44
|
+
invoice.layout_handle.should == debtor.layout_handle
|
45
|
+
invoice.currency_handle.should == debtor.currency_handle
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe ".find" do
|
51
|
+
before :each do
|
52
|
+
savon.stubs('CurrentInvoice_GetData').returns(:success)
|
53
|
+
end
|
54
|
+
|
55
|
+
it "gets invoice data from API" do
|
56
|
+
savon.expects('CurrentInvoice_GetData').with('entityHandle' => {'Number' => 42}).returns(:success)
|
57
|
+
subject.find(42)
|
58
|
+
end
|
59
|
+
|
60
|
+
it "returns CurrentInvoice object" do
|
61
|
+
subject.find(42).should be_instance_of(Economic::CurrentInvoice)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require './spec/spec_helper'
|
2
|
+
|
3
|
+
describe Economic::DebtorProxy do
|
4
|
+
let(:session) { make_session }
|
5
|
+
subject { Economic::DebtorProxy.new(session) }
|
6
|
+
|
7
|
+
describe "new" do
|
8
|
+
it "stores session" do
|
9
|
+
subject.session.should === session
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "find" do
|
14
|
+
before :each do
|
15
|
+
savon.stubs('Debtor_GetData').returns(:success)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "gets debtor data from API" do
|
19
|
+
savon.expects('Debtor_GetData').with('entityHandle' => {'Number' => 42}).returns(:success)
|
20
|
+
subject.find(42)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "returns Debtor object" do
|
24
|
+
subject.find(42).should be_instance_of(Economic::Debtor)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "find_by_ci_number" do
|
29
|
+
it "uses FindByCINumber on API" do
|
30
|
+
savon.expects('Debtor_FindByCINumber').with('ciNumber' => '12345678').returns(:many)
|
31
|
+
subject.find_by_ci_number('12345678')
|
32
|
+
end
|
33
|
+
|
34
|
+
context "when many debtors exist" do
|
35
|
+
before :each do
|
36
|
+
savon.stubs('Debtor_FindByCINumber').returns(:many)
|
37
|
+
end
|
38
|
+
|
39
|
+
let(:results) { subject.find_by_ci_number('12345678') }
|
40
|
+
|
41
|
+
it "returns a Debtor object for each result" do
|
42
|
+
results.size.should == 2
|
43
|
+
results.all? { |result| result.should be_instance_of(Economic::Debtor) }
|
44
|
+
end
|
45
|
+
|
46
|
+
it "returns partial Debtor objects" do
|
47
|
+
results.all? { |result| result.should be_partial }
|
48
|
+
end
|
49
|
+
|
50
|
+
it "returns persisted Debtor objects" do
|
51
|
+
results.all? { |result| result.should be_persisted }
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe "next_available_number" do
|
57
|
+
it "gets the next available debtor number from API" do
|
58
|
+
savon.expects('Debtor_GetNextAvailableNumber').returns(:success)
|
59
|
+
subject.next_available_number.should == '105'
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
describe "build" do
|
64
|
+
subject { session.debtors.build }
|
65
|
+
|
66
|
+
it "instantiates a new Debtor" do
|
67
|
+
subject.should be_instance_of(Economic::Debtor)
|
68
|
+
end
|
69
|
+
|
70
|
+
it "assigns the session to the Debtor" do
|
71
|
+
subject.session.should === session
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require './spec/spec_helper'
|
2
|
+
|
3
|
+
describe Economic::Session do
|
4
|
+
subject { Economic::Session.new(123456, 'api', 'passw0rd') }
|
5
|
+
|
6
|
+
describe "new" do
|
7
|
+
it "should store authentication details" do
|
8
|
+
subject.agreement_number.should == 123456
|
9
|
+
subject.user_name.should == 'api'
|
10
|
+
subject.password.should == 'passw0rd'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "client" do
|
15
|
+
subject { Economic::Session.new(123456, 'api', 'passw0rd') }
|
16
|
+
|
17
|
+
it "returns a Savon::Client" do
|
18
|
+
subject.client.should be_instance_of(::Savon::Client)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe "connect" do
|
23
|
+
it "connects to e-conomic with authentication details" do
|
24
|
+
savon.expects('Connect').with(has_entries(:agreementNumber => 123456, :userName => 'api', :password => 'passw0rd')).returns(:success)
|
25
|
+
subject.connect
|
26
|
+
end
|
27
|
+
|
28
|
+
it "stores the cookie for later connections" do
|
29
|
+
savon.expects('Connect').returns({:headers => {'Set-Cookie' => 'cookie'}})
|
30
|
+
subject.connect
|
31
|
+
subject.client.http.headers['Cookie'].should == 'cookie'
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe ".session" do
|
36
|
+
it "returns self" do
|
37
|
+
subject.session.should === subject
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe "current_invoices" do
|
42
|
+
it "returns an CurrentInvoiceProxy" do
|
43
|
+
subject.current_invoices.should be_instance_of(Economic::CurrentInvoiceProxy)
|
44
|
+
end
|
45
|
+
|
46
|
+
it "memoizes the proxy" do
|
47
|
+
subject.current_invoices.should === subject.current_invoices
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe "debtors" do
|
52
|
+
it "returns a DebtorProxy" do
|
53
|
+
subject.debtors.should be_instance_of(Economic::DebtorProxy)
|
54
|
+
end
|
55
|
+
|
56
|
+
it "memoizes the proxy" do
|
57
|
+
subject.debtors.should === subject.debtors
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
describe "request" do
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
+
<soap:Body>
|
4
|
+
<ConnectResponse xmlns="http://e-conomic.com">
|
5
|
+
<ConnectResult>string</ConnectResult>
|
6
|
+
</ConnectResponse>
|
7
|
+
</soap:Body>
|
8
|
+
</soap:Envelope>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
+
<soap:Body>
|
4
|
+
<CurrentInvoice_CreateFromDataResponse xmlns="http://e-conomic.com">
|
5
|
+
<CurrentInvoice_CreateFromDataResult>
|
6
|
+
<Id>42</Id>
|
7
|
+
</CurrentInvoice_CreateFromDataResult>
|
8
|
+
</CurrentInvoice_CreateFromDataResponse>
|
9
|
+
</soap:Body>
|
10
|
+
</soap:Envelope>
|
@@ -0,0 +1,73 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
+
<soap:Body>
|
4
|
+
<CurrentInvoice_GetDataResponse xmlns="http://e-conomic.com">
|
5
|
+
<CurrentInvoice_GetDataResult>
|
6
|
+
<Handle>
|
7
|
+
<Id>int</Id>
|
8
|
+
</Handle>
|
9
|
+
<Id>int</Id>
|
10
|
+
<DebtorHandle>
|
11
|
+
<Number>string</Number>
|
12
|
+
</DebtorHandle>
|
13
|
+
<ProjectHandle>
|
14
|
+
<Number>int</Number>
|
15
|
+
</ProjectHandle>
|
16
|
+
<DebtorName>string</DebtorName>
|
17
|
+
<DebtorAddress>string</DebtorAddress>
|
18
|
+
<DebtorPostalCode>string</DebtorPostalCode>
|
19
|
+
<DebtorCity>string</DebtorCity>
|
20
|
+
<DebtorCountry>string</DebtorCountry>
|
21
|
+
<DebtorEan>string</DebtorEan>
|
22
|
+
<PublicEntryNumber>string</PublicEntryNumber>
|
23
|
+
<AttentionHandle>
|
24
|
+
<Id>int</Id>
|
25
|
+
</AttentionHandle>
|
26
|
+
<YourReferenceHandle>
|
27
|
+
<Id>int</Id>
|
28
|
+
</YourReferenceHandle>
|
29
|
+
<OurReferenceHandle>
|
30
|
+
<Number>int</Number>
|
31
|
+
</OurReferenceHandle>
|
32
|
+
<OurReference2Handle>
|
33
|
+
<Number>int</Number>
|
34
|
+
</OurReference2Handle>
|
35
|
+
<Date>dateTime</Date>
|
36
|
+
<TermOfPaymentHandle>
|
37
|
+
<Id>int</Id>
|
38
|
+
</TermOfPaymentHandle>
|
39
|
+
<DueDate>dateTime</DueDate>
|
40
|
+
<CurrencyHandle>
|
41
|
+
<Code>string</Code>
|
42
|
+
</CurrencyHandle>
|
43
|
+
<ExchangeRate>decimal</ExchangeRate>
|
44
|
+
<IsVatIncluded>boolean</IsVatIncluded>
|
45
|
+
<LayoutHandle>
|
46
|
+
<Id>int</Id>
|
47
|
+
</LayoutHandle>
|
48
|
+
<DeliveryLocationHandle>
|
49
|
+
<Id>int</Id>
|
50
|
+
</DeliveryLocationHandle>
|
51
|
+
<DeliveryAddress>string</DeliveryAddress>
|
52
|
+
<DeliveryPostalCode>string</DeliveryPostalCode>
|
53
|
+
<DeliveryCity>string</DeliveryCity>
|
54
|
+
<DeliveryCountry>string</DeliveryCountry>
|
55
|
+
<TermsOfDelivery>string</TermsOfDelivery>
|
56
|
+
<DeliveryDate>dateTime</DeliveryDate>
|
57
|
+
<Heading>string</Heading>
|
58
|
+
<TextLine1>string</TextLine1>
|
59
|
+
<TextLine2>string</TextLine2>
|
60
|
+
<OtherReference>string</OtherReference>
|
61
|
+
<NetAmount>decimal</NetAmount>
|
62
|
+
<VatAmount>decimal</VatAmount>
|
63
|
+
<GrossAmount>decimal</GrossAmount>
|
64
|
+
<Margin>decimal</Margin>
|
65
|
+
<MarginAsPercent>decimal</MarginAsPercent>
|
66
|
+
<RoundingAmount>decimal</RoundingAmount>
|
67
|
+
<DebtorCounty>string</DebtorCounty>
|
68
|
+
<DeliveryCounty>string</DeliveryCounty>
|
69
|
+
<DeductionAmount>decimal</DeductionAmount>
|
70
|
+
</CurrentInvoice_GetDataResult>
|
71
|
+
</CurrentInvoice_GetDataResponse>
|
72
|
+
</soap:Body>
|
73
|
+
</soap:Envelope>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
+
<soap:Body>
|
4
|
+
<CurrentInvoiceLine_GetDataResponse xmlns="http://e-conomic.com">
|
5
|
+
<CurrentInvoiceLine_GetDataResult>
|
6
|
+
<Handle>
|
7
|
+
<Id>int</Id>
|
8
|
+
<Number>int</Number>
|
9
|
+
</Handle>
|
10
|
+
<Id>int</Id>
|
11
|
+
<Number>int</Number>
|
12
|
+
<InvoiceHandle>
|
13
|
+
<Id>int</Id>
|
14
|
+
</InvoiceHandle>
|
15
|
+
<Description>string</Description>
|
16
|
+
<DeliveryDate>dateTime</DeliveryDate>
|
17
|
+
<UnitHandle>
|
18
|
+
<Number>int</Number>
|
19
|
+
</UnitHandle>
|
20
|
+
<ProductHandle>
|
21
|
+
<Number>string</Number>
|
22
|
+
</ProductHandle>
|
23
|
+
<Quantity>decimal</Quantity>
|
24
|
+
<UnitNetPrice>decimal</UnitNetPrice>
|
25
|
+
<DiscountAsPercent>decimal</DiscountAsPercent>
|
26
|
+
<UnitCostPrice>decimal</UnitCostPrice>
|
27
|
+
<TotalNetAmount>decimal</TotalNetAmount>
|
28
|
+
<TotalMargin>decimal</TotalMargin>
|
29
|
+
<MarginAsPercent>decimal</MarginAsPercent>
|
30
|
+
<DepartmentHandle>
|
31
|
+
<Number>int</Number>
|
32
|
+
</DepartmentHandle>
|
33
|
+
<DistributionKeyHandle>
|
34
|
+
<Number>int</Number>
|
35
|
+
</DistributionKeyHandle>
|
36
|
+
</CurrentInvoiceLine_GetDataResult>
|
37
|
+
</CurrentInvoiceLine_GetDataResponse>
|
38
|
+
</soap:Body>
|
39
|
+
</soap:Envelope>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
+
<soap:Body>
|
4
|
+
<Debtor_FindByCINumberResponse xmlns="http://e-conomic.com">
|
5
|
+
<Debtor_FindByCINumberResult>
|
6
|
+
<DebtorHandle>
|
7
|
+
<Number>string</Number>
|
8
|
+
</DebtorHandle>
|
9
|
+
<DebtorHandle>
|
10
|
+
<Number>string</Number>
|
11
|
+
</DebtorHandle>
|
12
|
+
</Debtor_FindByCINumberResult>
|
13
|
+
</Debtor_FindByCINumberResponse>
|
14
|
+
</soap:Body>
|
15
|
+
</soap:Envelope>
|
@@ -0,0 +1,54 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
+
<soap:Body>
|
4
|
+
<Debtor_GetDataResponse xmlns="http://e-conomic.com">
|
5
|
+
<Debtor_GetDataResult>
|
6
|
+
<Handle>
|
7
|
+
<Number>string</Number>
|
8
|
+
</Handle>
|
9
|
+
<Number>string</Number>
|
10
|
+
<DebtorGroupHandle>
|
11
|
+
<Number>int</Number>
|
12
|
+
</DebtorGroupHandle>
|
13
|
+
<Name>string</Name>
|
14
|
+
<VatZone>HomeCountry or EU or Abroad</VatZone>
|
15
|
+
<CurrencyHandle>
|
16
|
+
<Code>string</Code>
|
17
|
+
</CurrencyHandle>
|
18
|
+
<PriceGroupHandle>
|
19
|
+
<Number>int</Number>
|
20
|
+
</PriceGroupHandle>
|
21
|
+
<IsAccessible>boolean</IsAccessible>
|
22
|
+
<Ean>string</Ean>
|
23
|
+
<PublicEntryNumber>string</PublicEntryNumber>
|
24
|
+
<Email>string</Email>
|
25
|
+
<TelephoneAndFaxNumber>string</TelephoneAndFaxNumber>
|
26
|
+
<Website>string</Website>
|
27
|
+
<Address>string</Address>
|
28
|
+
<PostalCode>string</PostalCode>
|
29
|
+
<City>string</City>
|
30
|
+
<Country>string</Country>
|
31
|
+
<CreditMaximum>decimal</CreditMaximum>
|
32
|
+
<VatNumber>string</VatNumber>
|
33
|
+
<County>string</County>
|
34
|
+
<CINumber>string</CINumber>
|
35
|
+
<TermOfPaymentHandle>
|
36
|
+
<Id>int</Id>
|
37
|
+
</TermOfPaymentHandle>
|
38
|
+
<LayoutHandle>
|
39
|
+
<Id>int</Id>
|
40
|
+
</LayoutHandle>
|
41
|
+
<AttentionHandle>
|
42
|
+
<Id>int</Id>
|
43
|
+
</AttentionHandle>
|
44
|
+
<YourReferenceHandle>
|
45
|
+
<Id>int</Id>
|
46
|
+
</YourReferenceHandle>
|
47
|
+
<OurReferenceHandle>
|
48
|
+
<Number>int</Number>
|
49
|
+
</OurReferenceHandle>
|
50
|
+
<Balance>decimal</Balance>
|
51
|
+
</Debtor_GetDataResult>
|
52
|
+
</Debtor_GetDataResponse>
|
53
|
+
</soap:Body>
|
54
|
+
</soap:Envelope>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
+
<soap:Body>
|
4
|
+
<Debtor_GetNextAvailableNumberResponse xmlns="http://e-conomic.com">
|
5
|
+
<Debtor_GetNextAvailableNumberResult>105</Debtor_GetNextAvailableNumberResult>
|
6
|
+
</Debtor_GetNextAvailableNumberResponse>
|
7
|
+
</soap:Body>
|
8
|
+
</soap:Envelope>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
+
<soap:Body>
|
4
|
+
<SpecEntity_CreateFromDataResponse xmlns="http://e-conomic.com">
|
5
|
+
<SpecEntity_CreateFromDataResult>
|
6
|
+
<Number>42</Number>
|
7
|
+
</SpecEntity_CreateFromDataResult>
|
8
|
+
</SpecEntity_CreateFromDataResponse>
|
9
|
+
</soap:Body>
|
10
|
+
</soap:Envelope>
|