Имя: Пароль:
1C
1С v8
Развернуть 1С и открыть в нем нужный объект используя стороннюю программу.
,
0 Vasilisk
 
09.01.17
15:14
Добрый день, господа.

Предыстория: 1С к сожалению не умеет обрабатывать оповещения(самостоятельно открываться закрывая собой ВК и однокласники), как вариант 1С может содержать регл задание, которое проверяет то что нужно и дает "Сигнал", что пора развернуть свернутую 1С и передает этот самый сигнал другой программе, которая уже открывает/разворачивает 1С.

Итак понедельничная новогодняя задача:

Какие есть варианты программно(из не 1С программы) открыть 1С или развернуть, если она уже открыта?

Более сложный вопрос: как из другой программы заставить 1С открыть нужный документ/элемент справочника?

Буду благодарен за полезные ссылки или примеры, спасибо.
1 Cool_Profi
 
09.01.17
15:14
ПолучитьНавигационнуюСсылку()
и управляемые формы.
2 Волшебник
 
модератор
09.01.17
15:15
Более сложный вопрос на самом деле более лёгкий.
3 Fragster
 
гуру
09.01.17
15:16
(2) на "начальную страницу" также есть навигационная ссылка
4 Vasilisk
 
09.01.17
15:18
Это все хорошо, но как мне поможет навигационная ссылка если 1С закрыт, а если он открыт, то как его развернуть?
5 Fragster
 
гуру
09.01.17
15:22
тут вопрос в том, как научить ось обрабатывать ссылки вида e1c://хххххх
6 Vasilisk
 
09.01.17
15:23
(2) У меня web не развернут. Вопрос интеграции одной системы с другой - частичная передача управления 1С-ом в другую программу.
7 Vasilisk
 
09.01.17
15:26
(5) Я понимаю что скорее всего это все через API виндовоза делается. Лучше начать с малого: открыть/развернуть 1С программно какие вообще варианты есть?
8 Одинесю
 
09.01.17
15:27
(7) Батником запускай.
9 Vasilisk
 
09.01.17
15:28
(8) Запустить это хорошо, а развернуть уже запущенную?
10 Dotoshin
 
09.01.17
15:29
(0) А для чего это нужно?
11 Fragster
 
гуру
09.01.17
15:29
вообще надо немного подождать, и будет https://wonderland.v8.1c.ru/blog/mekhanizm-opoveshcheniy-polzovatelya-i-tsentr-opoveshcheniy/, которое решит большую часть проблем
12 Vasilisk
 
09.01.17
15:33
(10) 1C не может настойчиво попросить пользователя взглянуть на систему(окно предупреждение поверх всех окон со звуком резаной свиньи), а пользователю это нужно.
13 Torquader
 
09.01.17
15:36
Сначала, нужно узнать - открыта 1С или нет.
Если не открыта, то запустить.
Потом, если 1С открыта, то можно сделать имитацию сканера штрих-кода, чтобы в 1С обрабатывалось событие, по которому выполнялось бы какое-то нужное нам действие.
14 Vasilisk
 
09.01.17
15:37
(11) Не пойдет, для подобных оповещений необходимо что бы 1С был открыт, а 1С может быть свернут или закрыт и смысла нет. Подобное оповещение еще в 8.2 самопалом делал, все круто но в свернутом положении совершенно бесполезно.
15 Vasilisk
 
09.01.17
15:39
(13) какая технология используется в dll сканеров?
16 Torquader
 
09.01.17
15:42
(15) Очень простая - перехват нажатий клавиш, а отправить из другой программы последовательность нажатий - проще простого.
17 Вафель
 
09.01.17
15:42
V8.Application
18 Torquader
 
09.01.17
15:46
(17) А если 1С уже запущена ?
19 Jump
 
09.01.17
15:46
(0)Две веши-
1)Обработка на языке 1с которая будет делать то что нужно в 1с.
2)Батник запускающий 1с в режиме предприятия с запуском обработки.

Сложнее если 1с уже открыта.
20 Vasilisk
 
09.01.17
15:48
Перехват нажатий клавиш не вкусно. Могут возникнуть конфликты фиг его знает что юзвери делают с клавиатурой может блины жарят.
21 Живой Ископаемый
 
09.01.17
15:50
а если 1С запущена как вкладка в окне браузера?
22 Мимохожий Однако
 
09.01.17
15:50
Запуская 1С, а если запущенная 1С обнаружила родственницу, то пусть её убьет ))
23 Jump
 
09.01.17
15:51
Гарантированно развернуть свернутое окно, или вытащить его на первый план это надо - найти хэндл окна, и послать ему стандартную команду.
В принципе это несложно сделать на PS, VBA, C#
24 Jump
 
09.01.17
15:51
(22) Это не красиво и проблемно.
25 Jump
 
09.01.17
15:53
(21) 1с не может быть запущена как вкладка в окне браузера.
Либо у тебя запущена 1с и ты работаешь с базой из 1с, либо у тебя запущен браузер и ты работаешь с сервером БД через браузер.
Но 1с в окне браузера точно не удастся запустить.
26 Vasilisk
 
09.01.17
15:54
(23) Согласен, хендл поможет развернуть окно, но в 1С нужно еще кинуть какой то клич, что бы обработчик 1С открыл, то что надо, подобный подход видел в софтфоне.
27 Vasilisk
 
09.01.17
15:55
(25) Ну почему же тут как раз проблем мне кажется меньше открыть ссылку браузером по умолчанию и вот 1С в web.
28 Jump
 
09.01.17
16:00
(27) Я говорил о том, что 1с в принципе не может работать в браузере.
В браузере можно открыть только веб страницу.
29 Jokero
 
09.01.17
16:01
(0)Нужно "из другой программы" создать файл на диске в опред. месте и
если 1С не запущена, то запустить ее.
В самой 1С постоянно проверять, есть ли файл в опред. месте,
если есть то читать этот файл и открывать нужный объект. После чего удалять файл.
30 Vasilisk
 
09.01.17
16:05
(29) Отлично, но пользователей 200 человек
31 Jump
 
09.01.17
17:54
(30) Конфу редактировать можно?
Организовать  простейший HTTP сервис средствами предприятия.
Внешнеее приложение отправляет запрос, 1с дает ответ и запускает некое действие.
32 vde69
 
09.01.17
17:58
делаем 2 шага

1. ПолучитьГлобальнуюНавигационнуюСсылку() // точно не помню
2. патчим реестр


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\e1c]
@="URL:e1c"
"URL Protocol"="e1c"
"EditFlags"=hex:02,00,00,00

[HKEY_CLASSES_ROOT\e1c\shell]

[HKEY_CLASSES_ROOT\e1c\shell\open]

[HKEY_CLASSES_ROOT\e1c\shell\open\command]
@="\"\\Сервер\1c\bin\1cv8s.exe\" /URL \"%1\""
33 vde69
 
09.01.17
17:59
(32) + после этого по клику на такую ссылку 1с сама запускается и открываен нужный объект
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.