Имя: Пароль:
1C
1С v8
Обмен сообщениями и командами между запущенными 1С
0 CerbeRUS
 
30.09.11
18:09
Подскажите, пожалуйста, если такой механизм (возможно, реализованный через ВК), когда одно запущенное приложение 1С может отправить сообщение, а другая 1Ска получит и переработает это сообщение?
1 YF
 
30.09.11
18:10
А авторизоваться надо или 1С будет принимать и обрабатывать сообщения от любых других 1С?
2 qeos
 
30.09.11
18:11
(0) COM соединение
3 Злопчинский
 
30.09.11
18:12
ээээ ну в 8-ке есть сервер - это все д.б. проще чем в 7.7
4 CerbeRUS
 
30.09.11
18:14
(1) Одна определенная 1Ска должна получать сообщения от всех других.
5 CerbeRUS
 
30.09.11
18:15
(2) COM - это запуск новой копии. Не хочется делать лишние телодвижения, если нужная 1С уже запущена.
6 CerbeRUS
 
30.09.11
18:15
(3) В смысле, какой сервер?
7 Злопчинский
 
30.09.11
18:20
сервер приложений... но ты мну не слушай, я семерочник... я ща учиться здесь буду...
8 Asmody
 
30.09.11
18:21
(0) ты хочешь регламентные и фоновые задания заново изобрести?
9 Fragster
 
гуру
30.09.11
18:24
веб сервисы
10 Fragster
 
гуру
30.09.11
18:24
а вообще - одна информационная база, или несколько? может в (0) чат хочется изобрести?
11 CerbeRUS
 
30.09.11
18:25
(8) А как здесь РЗ или ФЗ помочь могут? Что они будет проверять? И какой у них будет период? Секунда?
12 CerbeRUS
 
30.09.11
18:26
(10) Несколько.
Да, по механике это близко к чату - мгновенный обмен сообщениями (строками).
13 shuhard
 
30.09.11
18:29
(12) общую базку на сиквеле,
один раз открыть рекордсет и гонять через него

базку не забывать бэкапить,
или сделать внутри одной из 1С
14 Fragster
 
гуру
30.09.11
18:32
(12) тогда (9)
15 CerbeRUS
 
30.09.11
18:36
(13) Не совсем понял, о чем Вы...
16 CerbeRUS
 
30.09.11
18:36
(14) ОК, с ними не работал, буду знакомиться...
17 shuhard
 
30.09.11
18:37
(15) ADODB
как правило 8.2 живёт на СУБД,
очень часто на MS
18 shuhard
 
30.09.11
18:38
(17) + 1
и очень часто внутри одной локальной сети два 1с.exe друг друга не видят и не пингуются
19 Asmody
 
30.09.11
18:38
(9) не, он хочет уже в запущенную 1Ску влезть.
20 Fragster
 
гуру
30.09.11
18:50
(19) автор еще сам не понял, чего хочет
21 CerbeRUS
 
03.10.11
09:31
Возвращаясь к обсуждению...
Да, я хочу влезть в запущенную 1Ску.
Люди, есть какие-нибудь идеи по этому поводу?
22 Fragster
 
гуру
03.10.11
09:32
(21) не то это
23 CerbeRUS
 
03.10.11
09:40
В смысле, что не то?
24 Fragster
 
гуру
03.10.11
10:46
(23) в смысле, это метод, а не цеьл
25 CerbeRUS
 
03.10.11
10:55
(24) Цель можно описать так:
Открывает пользователь в одной конфе карточку элемента справочника или документа. там есть кнопка "Создать на основе в другой базе..."
При нажатии ищется открытая нужная база и в ней открывается форма создания нового объекта с переданными параметрами.
26 rutony
 
03.10.11
10:59
А тупо через реестр сведений и обрабочик ожидания, не проще ли?

В свое время делал, такого же плана задачку. Там главное сделать захват данных, и чистить после выполнения. Нагрузка минимальная.
27 CerbeRUS
 
03.10.11
11:01
(26) И обработчик каждую секунду выполнять? Не загруз? И как сообщения передавать? Через какой-то файл?
28 Fragster
 
гуру
03.10.11
11:02
(25) задача херовая. типовое решение - галочка или РС "выгружать (допустим) на сайт" и план обмена, который обновления (или тоьлко создания) перенсит в другую базу.
29 Fragster
 
гуру
03.10.11
11:04
при этом никаких интерактивных данных ввода не происходит. это все может падать в спец папку, в которой уже другой специально обученный человек дозаполнит незаполненные поля, перекинет по иерархии в нужное место и прочее.
30 Fragster
 
гуру
03.10.11
11:05
ну и да - это описание - тоже не цель, цель - перенос информации между разнородными информационными системами. а может и однородными, если конфигурации одинаковые.
31 CerbeRUS
 
03.10.11
11:06
(28) Нет, это не копирование данных, а создание на основании. Т.е. в другой базе надо создать объект, который одним реквизитом ссылкается на основание из другой базы. А сотальные поля тут же заполняются пользователем интерактивно.
32 CerbeRUS
 
03.10.11
11:08
(30) Да, цель перенос данных между разнородными конфами и ИБ. Но передача именно "на лету".
33 kutshai
 
03.10.11
11:24
(31) а как выглядит реквизит, который ссылается на объект в другой базе?
(25) ком-соединением или обменом с загрузкой по флагу. Флаг (файл-флаг) проверять по расписанию в базе-приемнике.
34 CerbeRUS
 
03.10.11
11:29
(33) Строка, GUID
COM создаст лишнюю копию запущенной базы.
Если использовать обмен, не получится передачи на лету и возможности интерактивного изменения.
35 Fragster
 
гуру
03.10.11
11:38
(32) зачем интерактивно? проставил галки, нажал кнопку - заполнилось все в другой базе в спец справочнике/папке. по очереди обработал все уже в другой папке.

(34) зачем открывать форму? это значит, что нужно будет постоянно переключаться между окнами - а с галками - работаешь сначала в одном окне, нажимаешь кнопку, в другом окне (даже, возможно, другой человек) обрабатывает переливаемую информацию
36 CerbeRUS
 
03.10.11
11:42
(35) Нет, например, человек хочет создать задачу ознакомления с документом из другой базы. Он нажимает команду "создать задачу" в этом документе.
Открывается поле новой задачи в другой базе, предмет ознакмоления уже заполнен ссылкой на документ, а юзер заполняет кому ознакомится, текст задачи и т.д.
37 qeos
 
03.10.11
11:46
(34) это может быть не полноценная копия.. у тебя ограничение по количеству процессов? ))
38 Бубр
 
03.10.11
11:47
(36) подумай действительно ли нужно  открывать?
как вариант попробуй сделать форму на которой лежит список регистра сведений  при открытии записи этого регистра у тебя формируется элемент с нужным типом и заполняются данные , а запись из регистра удаляется если элемент был  создан.
39 rutony
 
03.10.11
12:05
(27) Зачем каждую секунду... При реализации с COM это уж точно не секунда... пока откроется то да се...
Сообщение в регистре и передавай...
А что бы еще снизить нагрузку и повысить скорость, можно сделать 1ну 1ску, с облегченным интервейсом, на которой и будет крутиться обработчик. Некий сервер по сути.
40 Cube
 
03.10.11
12:12
Как вариант:

В базе-источнике делаешь обработку или кнопку где надо лепишь, которая создает файл с определенным именем во временной папке. Файл содержит тип создаваемого объекта в базе-приемнике и прочую лабуду, вплоть до названий процедур и функций из базы-приемника, которые должны быть выполнены.

В базе-приемнике делаешь обработку с одной единственной кнопкой "Сделать всё", нажав на которую читается наш файл и делается всё, что нам захочется.
41 CerbeRUS
 
03.10.11
12:27
(37) Да, чем меньше, тем лучше
(38) Не, надо открывать. Пользователям не до РС.
(39) Ну да, можно до 5 увеличить. Конечно, отдельная 1Ска - это интересная идея. Но где будет выскакивать окошко создания? В этой отдельной базе?
(40) Непонятно, кто будет эту кнопку нажимать...
42 CerbeRUS
 
03.10.11
12:28
Слышал, есть какие-то внешние компоненты на механизме UDP, которые реализовывают чат, ну и обмен сообщениями. Но пока конкретных не нашел.
43 Cube
 
03.10.11
12:29
(41) "Непонятно, кто будет эту кнопку нажимать..."
Тот, перед чьей мордой лица ты хочешь окно создания нового объекта вывести...
44 H A D G E H O G s
 
03.10.11
12:38
Автор, возьми Нетленку 2.3, там это реализовано.
Объект: addin.ActiveContext
методы:
ОпубликоватьЗаписиКонтекста()
УстановитьКонтекст()
ПолучитьКонтекст()
45 H A D G E H O G s
 
03.10.11
12:39
Ну и
ПолучитьТаблицуАктивныхКонтекстов()
46 CerbeRUS
 
03.10.11
12:46
(43) Ну, это не дружественный интерфейс. :-)

(44) Спасибо за инфу, ознакомлюсь.
47 CerbeRUS
 
03.10.11
13:45
Подскажите, пжлст, где можно найти документацию по методам Нетленки?
48 H A D G E H O G s
 
03.10.11
14:00
(47) В версии 2.2 есть документация.
В 2.3 я ее забыл положить.
49 CerbeRUS
 
03.10.11
14:10
(48) А, то-то я ее найти не могу...
Скиньте мне, пожалуйста, док-цию на почту [email protected]
А то везде только 2.3 вижу.
50 skunk
 
03.10.11
14:14
а чем вариант с олей не устраивает?
51 CerbeRUS
 
03.10.11
14:16
(50) Я писал уже, не хочется новое приложение открывать, если нужное уже запущено. Надо к нему подключиться.
52 skunk
 
03.10.11
14:21
(51)то есть ты хочешь что-бы среди 10 апплюх 1с нашла нужный тебе?
53 skunk
 
03.10.11
14:21
а что если он два раза завалил в одну и туже базу
54 CerbeRUS
 
03.10.11
14:24
(52) Либо да, нашла нужную, либо база-источник посылает всем, а уже нужная база-приемник принимает и обрабатывает.

(53) Ну и дурак! :-) Об этой проблеме я еще не думал, но это некритично. Может, когда одной нужной базе пришло, процесс останавливается.
55 skunk
 
03.10.11
14:27
все таки мне кажеться, что ты ошибся в поставное задачи ... а какая цель всего этого изврата
56 CerbeRUS
 
03.10.11
14:31
(55) Цель я рассказал в (36)
57 Fragster
 
гуру
03.10.11
14:36
не дай бог после автора в его компании работать
58 H A D G E H O G s
 
03.10.11
14:40
(57) Бывают ситуации гораздо хуй..же
v8: Удаление объектов вместе с ссылками
59 skunk
 
03.10.11
15:14
(56)я мало понял из (36) ... едиственное что можно выразить несколькоми словами ... "удаление гланд через анус газосваркой"
60 Конфигуратор1с
 
03.10.11
15:43
все не читал, но вопрос какой - если база на 8.2.14 и база скльная, то что мешает забабахать табличку в скль и читать как внешний источник данных?
61 Конфигуратор1с
 
03.10.11
15:44
там же в табличке можно будет сделать ключ - пользователь + база, по которому и определять адресата
62 Конфигуратор1с
 
03.10.11
15:45
а вообще +(7)
63 Chernik
 
03.10.11
16:20
(0) для серьезных пацанов:
http://code.google.com/p/one-c-connectors/
но это, что тебе нужно  ))
64 CerbeRUS
 
03.10.11
17:06
Я решил делать через механизм UDP.
65 kutshai
 
03.10.11
17:12
(64) как это и где об этом?
66 МуМу
 
03.10.11
17:13
На лету - внешняя компонента плюс сокеты(если на разных компах) или системные сообщения если на одном.
67 МуМу
 
03.10.11
17:15
Но скорее всего можно сделать проще архитектурно. Нужно ведь еще и об производительности подумать и об отказоустойчивости.  Мы так только пару раз делали и то для тесной интегарции с другим ПО.
68 CerbeRUS
 
03.10.11
17:16
69 CerbeRUS
 
03.10.11
17:18
(60) Это слишком извращенно: отдельная таблица, лезть на сервер, делать обработчик ожидания, который эту табличку проверяет...
70 CerbeRUS
 
03.10.11
17:19
(63) Это реально для крутых пацанов. Я до такого еще не дошел.
71 CerbeRUS
 
03.10.11
17:20
(66) Мне нужно на одном компе. А какие системные сообщения?
72 izekia
 
03.10.11
17:21
(64) то есть использовать вполне рабочий и отлаженный механизм не хочется ... а сделать некое глючное нестабильно поделие и ради чего ...
73 CerbeRUS
 
03.10.11
17:23
(72) О каком механизме Вы говорите?
74 izekia
 
03.10.11
17:24
я года четыре назад делал связь с семеркой через вебсервис, но там была необходимость, так как клиенты в некоторых случаях коннектились через модем ... здесь некая попытка нажить самому себе головную боль ... а так же, как было отмеченно выше, и своим последователям ... и скорее всего и людям, которые будут с программой работать
75 izekia
 
03.10.11
17:25
(73) КомКоннектор ... в данном случае его даже нельзя назвать полноценным экземпляром приложения ...
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.