s41c 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +5 -4
- data/lib/s41c/client.rb +1 -1
- data/lib/s41c/parser.rb +3 -7
- data/lib/s41c/sandbox.rb +2 -2
- data/lib/s41c/version.rb +1 -1
- data/s41c-0.0.6.gem +0 -0
- metadata +3 -2
data/README.md
CHANGED
@@ -58,9 +58,10 @@ TCP-socket-сервер и клиент для платформы "1С:Пред
|
|
58
58
|
client = S41C::Client.new('127.0.0.1', 2000)
|
59
59
|
client.login('username', 'password')
|
60
60
|
|
61
|
-
|
61
|
+
vars = {:name => 'Товары'}
|
62
|
+
response = client.request(vars) do
|
62
63
|
|
63
|
-
spr = @ole.CreateObject(
|
64
|
+
spr = @ole.CreateObject("Справочник.#{@vars[:name]}")
|
64
65
|
|
65
66
|
if spr.invoke('НайтиПоНаименованию', 'Название товара') == 1.0
|
66
67
|
item = spr.invoke('ТекущийЭлемент')
|
@@ -76,8 +77,8 @@ TCP-socket-сервер и клиент для платформы "1С:Пред
|
|
76
77
|
puts response
|
77
78
|
client.disconnect
|
78
79
|
|
79
|
-
Внутри кода
|
80
|
-
3 метода
|
80
|
+
Внутри кода доступны объекты @vars и @ole. Первый содержит данные переданные методу request,
|
81
|
+
а второй является инстансом 1С и у него есть 3 метода
|
81
82
|
|
82
83
|
* CreateObject - создает объект агрегатного типа данных 1С:Предприятия и
|
83
84
|
возвращает ссылку на него.
|
data/lib/s41c/client.rb
CHANGED
data/lib/s41c/parser.rb
CHANGED
@@ -4,8 +4,8 @@ module S41C #:nodoc
|
|
4
4
|
|
5
5
|
class Parser #:nodoc
|
6
6
|
|
7
|
-
BLOCK_BEGINNERS =
|
8
|
-
BLOCK_ENDERS =
|
7
|
+
BLOCK_BEGINNERS = /\b(module|class|def|begin|do|case|if|unless)\b|{/
|
8
|
+
BLOCK_ENDERS = /\bend\b|}/
|
9
9
|
|
10
10
|
#:nodoc
|
11
11
|
def initialize(block)
|
@@ -28,7 +28,6 @@ module S41C #:nodoc
|
|
28
28
|
raw = @lines[@start_line..-1]
|
29
29
|
depth = 0
|
30
30
|
code = []
|
31
|
-
@finish_line = @start_line
|
32
31
|
|
33
32
|
raw.each_with_index do |line, index|
|
34
33
|
|
@@ -40,10 +39,7 @@ module S41C #:nodoc
|
|
40
39
|
|
41
40
|
code << line
|
42
41
|
|
43
|
-
if depth == 0
|
44
|
-
@finish_line = index
|
45
|
-
break
|
46
|
-
end #if
|
42
|
+
break if depth == 0
|
47
43
|
|
48
44
|
end # each
|
49
45
|
|
data/lib/s41c/sandbox.rb
CHANGED
@@ -10,7 +10,7 @@ module S41C #:nodoc
|
|
10
10
|
def initialize(ole, dump)
|
11
11
|
@ole = ole
|
12
12
|
dump.untaint
|
13
|
-
hsh = Marshal.load(dump)
|
13
|
+
hsh = Marshal.load(dump.unpack('m')[0])
|
14
14
|
@vars = hsh[:vars]
|
15
15
|
@code = proc {
|
16
16
|
$SAFE = 3
|
@@ -25,7 +25,7 @@ module S41C #:nodoc
|
|
25
25
|
rescue WIN32OLERuntimeError => e
|
26
26
|
"Error: #{to_utf8(e.message)}"
|
27
27
|
rescue Exception => e
|
28
|
-
"Error: #{e.message}"
|
28
|
+
"Error Exception: #{e.message}"
|
29
29
|
rescue => e
|
30
30
|
"Error: #{e.message} from #{__FILE__}:#{__LINE__}"
|
31
31
|
end
|
data/lib/s41c/version.rb
CHANGED
data/s41c-0.0.6.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.
|
4
|
+
version: 0.0.7
|
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-
|
12
|
+
date: 2012-04-17 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: TCP-socket сервер и клиент для платформы "1С:Предприятие"
|
15
15
|
email:
|
@@ -20,6 +20,7 @@ extra_rdoc_files: []
|
|
20
20
|
files:
|
21
21
|
- LICENSE.BSD
|
22
22
|
- s41c.gemspec
|
23
|
+
- s41c-0.0.6.gem
|
23
24
|
- README.md
|
24
25
|
- lib/s41c/sandbox.rb
|
25
26
|
- lib/s41c/version.rb
|