Прост TCP сървър с обработка на събития от страна на 1С
Малко текстове. В един момент получих задача да свържа 1С и определена машина за етикетиране. Тъй като не е известно. Изглежда, че някъде има хора, които знаят нещо, но къде са тези хора - никой не знае. И сега, измъчвайки доставчика, успях да изтръгна ръководството на английски, което описва формата на взаимодействие през TCP порта. И в тази връзка трябваше да напиша такова щастие.
Е, от думи към дела. За комуникация през TCP реших да използвам скъпата технология WinSock (http://ru.wikipedia.org/wiki/Winsock). Въз основа на него можете да напишете както сървърната част, така и клиента. Всички действия са разделени на няколко етапа:
обща част
1) Отидете в скъпи Google и потърсете winsock.ocx
2) Ние го регистрираме в системата (regsvr32)
3) Регистрираме клоновете за регистрация в регистъра (в противен случай ActiveX не е лицензиран). Без това няма да разполагаме с необходимите методи.
Мисля, че никой няма да има проблеми с тези стъпки. Ако има някакви затруднения, има много статии в Google по тези въпроси.
4) Създаваме обработка в 1С
- Добавете ActiveX към формуляра
Предпочитам да го правя програмно:
Елементи на формуляр.AddActiveX ("MSWinsock.Winsock", "WinSock", False); - Формуляр - Вмъкване на ActiveX - Microsoft WinSock Control, версия 6.0
само с тази опция е необходимо да се премахне видимостта на елемента, тъй като няма графичен дисплей.
5) Дефинирайте необходимите обектни методи
- Грешка–Ако е възникнала грешка.
WinSocketError (Елемент, Номер, Описание, Scode, Source, HelpFile, HelpContext, CancelDisplay)
Където:
i. Номер - код за грешка,
ii. Описание - Описание на грешката,
iii. Scode - Още веднъж кодът за грешка, но в различен тип (LONG)