powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Работа с 1С Предприятие из C#
18 сообщений из 18, страница 1 из 1
Работа с 1С Предприятие из C#
    #39171984
FrankSinatra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, коллеги!

Есть следующая проблема: Пользователи обмениваются ссылками на документы из 1C Документооборот. Каждая ссылка, запускает свой экземпляр клиента. Хотелось бы, что бы каждая новая ссылка, открылась бы в уже запущенном клиенте 1С Документооборот.

Как думается решить: Реализуется на C# некий диспетчер, который вызывается при клике на ссылку 1С Док., он проверяет запущен ли экземпляр клиента 1С, если нет, то тут понятно, запускаем клиента и в качестве параметра передаем ссылку. Если клиент запущен , то надо передавать эту ссылку через OLE. Вот тут проблема.
Все примеры создания OLE объекта подразумевают, соединение с БД, см код ниже:

Код: c#
1.
2.
3.
4.
5.
6.
String connectionString = @"Srvr=""SRV"";Ref=""DOC""; Usr=1; Pwd=1";
            var v82comConnector = Type.GetTypeFromProgID("V82.Application");
            var v82= Activator.CreateInstance(v82comConnector);
            dynamic connector = Activator.CreateInstance(Type.GetTypeFromProgID("V82.Application"));
            Object [] arguments={ connectionString };
            object docmngm = v82comConnector.InvokeMember("Connect", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Static, null, v82, arguments);



Но мне не надо устанавливать соединение с БД, т.к клиент уже запущен.
Если использовать следующий метод:

Код: c#
1.
Marshal.GetActiveObject ("V82.Application")



То результат NULL.
Кто нибудь сталкивался с таким? Прошу совета.
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39172010
dvim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FrankSinatra,
не установлен ком коннектор
Открой референсы, там он вообще есть ?
(Add reference - com - должен быть 1сv82 com connector type library)
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39172013
FrankSinatra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dvim, думаю дело не в reference. Я же связь с клиентом приложения устанавливаю.
Дело в том , что если запускаю Excel, то последний метод возвращает объект. Мое приложение почему-то не видит активный com-сервер 1C.
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39172019
Фотография Владимир Лазурко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть приблуда от Софтпоинт для семёрки. Может у них есть и для восьмерки.
В семёрке внешняя dll открывала открытый экземпляр 1С 7.7 и передавала туда ссылку на объект после чего он открывался интерактивно.
--------
Как некрасивый вариант - добавить регистр сведений для таких оповещений, куда из внешнего подключения писать ссылку на объект и имя пользователя. И написать обработчик ожидания, который будет читать этот регистр и для нужного пользователя открывать полученную ссылку.


FrankSinatraПользователи обмениваются ссылками на документы из 1C Документооборот.Внутри одной базы вообще можно передавать эти ссылки средствами 1С. На инфостарте видел мессенджер с возможностью передавать внутренние ссылки на объекты.
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39172023
FrankSinatra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир Лазурко, она открывала один экземпляр клиента? Т.к. запустить клиента и передать туда ссылку и я могу, но запуск клиента происходит каждый раз при клике на ссылку.
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39172042
Фотография Владимир Лазурко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FrankSinatraона открывала один экземпляр клиента?Да. Если 1С 7.7 не была запущена, запускается конкретная база и в ней открывается ссылка на объект (документ, приказ, план работ, задача и т.д.).
Если уже есть открытый экземпляр с этой базой - фокус переключается на это приложение и показывается открытый по ссылке объект.
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39172046
Фотография Владимир Лазурко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но это комплекс приблуд, встраиваемый в 1С 7.7 программно и с помощью внешних компонент. Плюс альтернативный стартер..
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39172051
Фотография Владимир Лазурко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А опишите всю задачу.
Скорее всего эти ссылки передаются между пользователями одной базы, следовательно, у них есть доступ к этой ИБ.
Сделать обычное оповещение штатными средствами 1С - "задача пользователя" и оповещать при получении новой задачи. Там же пользователь может и отсрочить открытие объекта, и просмотреть прежние.
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39172077
FrankSinatra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир Лазурко, пользователи обмениваются ссылками через мессенджер, открывают с портала. Каждая ссылка запускает свой экземпляр клиента, хотелось бы работать с одним клиентом и множеством окон в нем.
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39172099
dvim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FrankSinatra,
Я же связь с клиентом приложения устанавливаю.

Чтобы com connector работал, он должен быть установлен
У вас похоже он не установлен.
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39172159
HardBall
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FrankSinatra, Это просто ППЦ.
1С документооборот, месенджер, портал.
В рамках каких бизнес процессов они обмениваются ссылками?
В 1С документообороте есть как минимум 3 бизнес-процесса Согласование,Ознакомление,Исполнение, с помощью которых работают с документами.
Зачем эта вакханалия?
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39172172
FrankSinatra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HardBall, тема была про OLE :), а что касается бизнес-процессов , поверьте здесь все хорошо.
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39172339
Хитроглазый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FrankSinatra,
другой вариант: запилить обмен сообщениями в самом документообороте...
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39172473
Фотография Владимир Лазурко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХитроглазыйFrankSinatra,
другой вариант: запилить обмен сообщениями в самом документообороте...Я о том же толкую ТС. Он не хочет.
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39172771
FrankSinatra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир Лазурко, в данный момент ссылки на документы располагаются на web-портале , так нужно вообщем. Все секреты не могу раскрыть.
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39173199
Фотография Владимир Лазурко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FrankSinatraВладимир Лазурко, в данный момент ссылки на документы располагаются на web-портале , так нужно вообщем. Все секреты не могу раскрыть.С этого и надо было начинать. В веб-портал они из 1С как попадают?

Ну сидите со своими секретами, клейте обои через замочную скважину.
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39173695
FrankSinatra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир Лазурко, вы поняли о чем вопрос был? Если нет, то поднимите страницу вверх и еще раз перечитайте. Я не просил совета как работать с 1С.
...
Рейтинг: 0 / 0
Работа с 1С Предприятие из C#
    #39174255
vde69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сабж можно решить только при сохранении в одном сеанса сокета к 1с, тут самая главная заморочка это то, что протокол обмена клиент сервер в 1с основан на одноразовых сеансовых ключах, и вклинится новому клиенту в сущестующий обмен нереально...

а вот так работает web публикация 1с, или прочие похожие веб серисы, там все хранится в переменных сесии, при открытии новой страницы веб сервер все равно использует параметры активной сесии... и мы входим в уже существующий конект, то есть в существующую сесию...

как будет конкретно у Вас мне сложно сказать, по тому как я не понял где вы хотите исполнять код из сабжа
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Работа с 1С Предприятие из C#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]