s41c 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -58,12 +58,12 @@ TCP-socket-сервер и клиент для платформы "1С:Пред
58
58
  client = S41C::Client.new('127.0.0.1', 2000)
59
59
  client.login('username', 'password')
60
60
 
61
- vars = {:name => 'Товары'}
61
+ vars = {:spr_name => 'Товары', :tov_name => 'Название товара'}
62
62
  response = client.request(vars) do
63
63
 
64
- spr = @ole.CreateObject("Справочник.#{@vars[:name]}")
64
+ spr = @ole.CreateObject("Справочник.#{@vars[:spr_name]}")
65
65
 
66
- if spr.invoke('НайтиПоНаименованию', 'Название товара') == 1.0
66
+ if spr.invoke('НайтиПоНаименованию', @tov_name) == 1.0
67
67
  item = spr.invoke('ТекущийЭлемент')
68
68
  item_id = get_1c_id(item)
69
69
  expr = 'КакаяНибудьФункция(ЗначениеИзСтрокиВнутр(' + item_id + '))'
@@ -77,8 +77,10 @@ TCP-socket-сервер и клиент для платформы "1С:Пред
77
77
  puts response
78
78
  client.disconnect
79
79
 
80
- Внутри кода доступны объекты @vars и @ole. Первый содержит данные переданные методу request,
81
- а второй является инстансом и у него есть 3 метода
80
+
81
+ Данные, переданные методу request, внутри кода доступны либо через хеш @vars,
82
+ либо непосредственно через одноименные переменные.
83
+ Также доступен объект @ole, который является инстансом 1С и у него есть 3 метода
82
84
 
83
85
  * CreateObject - создает объект агрегатного типа данных 1С:Предприятия и
84
86
  возвращает ссылку на него.
data/lib/s41c/sandbox.rb CHANGED
@@ -11,7 +11,12 @@ module S41C #:nodoc
11
11
  @ole = ole
12
12
  dump.untaint
13
13
  hsh = Marshal.load(dump.unpack('m')[0])
14
+
14
15
  @vars = hsh[:vars]
16
+ @vars.each do |key, value|
17
+ self.instance_variable_set(:"@#{key}", value)
18
+ end
19
+
15
20
  @code = proc {
16
21
  $SAFE = 3
17
22
  instance_eval hsh[:code], __FILE__, __LINE__
data/lib/s41c/server.rb CHANGED
@@ -119,7 +119,7 @@ module S41C
119
119
  end
120
120
 
121
121
  def eval_code(dump)
122
- return "Error: not connected" unless @conn
122
+ return "Error: not connected to 1C" unless @conn
123
123
 
124
124
  S41C::Sandbox.new(@ole, dump).eval_code
125
125
  end
data/lib/s41c/utils.rb CHANGED
@@ -35,7 +35,7 @@ module S41C
35
35
  def get_1c_id(obj)
36
36
  return false unless @ole
37
37
 
38
- str_id = @ole.invoke('ЗначениеВСтрокуВнутр', obj)
38
+ str_id = to_utf8 @ole.invoke('ЗначениеВСтрокуВнутр', obj)
39
39
  escaped_str_id = "\"#{str_id.gsub('"', '""')}\""
40
40
 
41
41
  end
data/lib/s41c/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module S41C
2
2
 
3
- VERSION = '0.0.7'
3
+ VERSION = '0.0.8'
4
4
 
5
5
  end # S41C
data/s41c-0.0.7.gem ADDED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: s41c
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-17 00:00:00.000000000 Z
12
+ date: 2012-04-25 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: TCP-socket сервер и клиент для платформы "1С:Предприятие"
15
15
  email:
@@ -31,6 +31,7 @@ files:
31
31
  - lib/s41c.rb
32
32
  - Gemfile
33
33
  - Rakefile
34
+ - s41c-0.0.7.gem
34
35
  homepage: https://github.com/dancingbytes/s41c
35
36
  licenses: []
36
37
  post_install_message:
@@ -51,7 +52,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
51
52
  version: '0'
52
53
  requirements: []
53
54
  rubyforge_project: s41c
54
- rubygems_version: 1.8.10
55
+ rubygems_version: 1.8.22
55
56
  signing_key:
56
57
  specification_version: 3
57
58
  summary: ''