вторник, 1 октября 2013 г.

Обмен сообщениями между пользователями 1С

1С 8.2 Бухгалтерия ред. 2.0

1С 8.2 Зарплата Управление персоналом ред. 2.5


Введение
Для обмена сообщениями между пользователями информационных систем существует масса средств. В том числе работающие в среде 1С. Большинство из них написаны сторонними разработчикам и встроены в предлагаемые ими нестандартные релизы. Другие предлагаются как "комплекты" , позволяющие модернизировать существующие типовые релизы. Эти требуют для своего внедрения некоторых навыков программирования в среде 1С. 
Мною была предпринята попытка создать еще одно средство для обмена текстовыми сообщениями между пользователями 1С. Зачем еще одно? Чтобы пользователям не устанавливать дополнительные средства общения, чтобы те в свою очередь на них не отвлекались. Называется она "1C CHAT CLIENT", а выглядит так:

О программе
Находится на тех странице под №12 . Это внешняя обработка. Она не привязывается к конкретной конфигурации, работает через специальный интернет-сервер и может обеспечить связь пользователей работающими в одной или разных информационных базах. В отличие от "аськи", предлагающей индивидуальный чат 1:1, "1C CHAT CLIENT" обеспечивает общую доску сообщений для группы пользователей 1С, объединенных единым "каналом общения". В то же время пользователи могут общаться, находясь в одной или разных информационных базах и конфигурациях. 
Канал - это произвольная 36-значная строка, аналог пароля, задается группой пользователей по взаимной договоренности. Количество пользователей в группе общения может быть произвольным - от 2х (как в аське) до нескольких (хотелось бы написать миллионов:)) человек. Настройка соединения с сервером, достаточна проста, да вот подготовка системы для первого запуска может показаться трудоемкой. Дело в том, что  "1C CHAT CLIENT"   использует в своей работе  класс winsocket* . Этот класс некоторые приложения Windows (например Microsoft Visual Studio) используют в своих целях, но его может и не быть на вашем компьютере.      
Настройка программы
Если после запуска обработки вы получаете сообщение "Класс MSWinsock.Winsock не зарегистрирован в системе" то прочитайте абзац этажом ниже. Настройка автоматическая, по кнопке (1)Настройка. Кнопкой(2) проверяют соединение. Канал связи генерируется автоматически. Первому участнику группы его можно не менять. Остальным участникам группы канал нужно отредактировать под первого участника. Начало/завершение редактирование канала кнопка(4). При удачном соединений сохраняют настройки(3). Вводить сообщения нужно в нижнюю часть, получать ответ в верхней. 
Что такое *класс winsocket?
Подробно написано здесь, пересказывать не буду.
Как зарегистрировать класс winsocket?.
Если кратко то сделать 2 шага.
1. regsvr32  %windir%\system32\mswinsck.ocx

2. в системном реестре добавить в
HKEY_CLASSES_ROOT\Licenses\2c49f800-2dd-11cf-9ad6-0080c7e7b78d 
строковый параметр "mlrljgrlhltlngjlthrligklpkrhllglqlrk"
должно получиться так:
Более подробно о реестре не пишу, новичок может наломать немного дров, а тем у кого есть админские права информации достаточно.
После 2 шага необходимо перезапустить 1С.

 Подробнее о первом шаге:
Нужны файл "mswinsck.ocx", администраторские права, навыки работы с командной строкой и внимательность. 
Поищите файл "mswinsck.ocx"  в папках c:\WINDOWS\system32\ или C:\Windows\SysWOW64. Если там нет, его можно скачать с официального сайта Microsoft, или откуда угодно, набрав в поисковике "Скачать mswinsck.ocx". В этом случае не забудьте проверить его антивирусом. Наконец лично мною проверенный файл лежит здесь. Скачанный файл положите в папку C:\Windows\SysWOW64 , если она есть. Если таковой нет, то в c:\WINDOWS\system32. Или если по каким-то причинам не получается, положите его в "C:\Какую\Угодно\Папку". Наличие этого файла еще не означает что он зарегистрирован в системе.
В командной строке* пишем (копируем отсюда) команду:
regsvr32  C:\Windows\SysWOW64\mswinsck.ocx
или
regsvr32 c:\WINDOWS\system32\mswinsck.ocx 
или
regsvr32 "C:\Какая\Угодно\Папка\mswinsck.ocx" 
(команду пишем одну, в зависимости от того, где у вас лежит файл mswinsck.ocx), нажимаем [Enter] и получаем сообщение об удачной регистрации. Если при регистрации возвращен код 0x8002801c, это говорит об отсутствие прав администратора.
Помешать успеху может отсутствие прав администратора или синтаксическая ошибка в команде. В этом случае обратитесь за помощью к кому-нибудь более ловкому, кто знает что такое regsvr32. 

  *Командная строка находится здесь:
1. для Windows XP: кнопка Пуск-Выполнить открываем окно "Запуск программы" пишем туда 
2. для Windows 7 надо писать в "Пуск-Найти программы и файлы")

примечание: сервер сообщений работает в тестовом режиме. На сегодня адрес:lotta.dlinkddns.com порт:8086 . Но может быть изменен, поэтому лучше воспользоваться автоматической настройкой(1).