Прост TCP сървър с обработка на събития от страна на 1С

Малко текстове. В един момент получих задача да свържа 1С и определена машина за етикетиране. Тъй като не е известно. Изглежда, че някъде има хора, които знаят нещо, но къде са тези хора - никой не знае. И сега, измъчвайки доставчика, успях да изтръгна ръководството на английски, което описва формата на взаимодействие през TCP порта. И в тази връзка трябваше да напиша такова щастие.

Е, от думи към дела. За комуникация през TCP реших да използвам скъпата технология WinSock (http://ru.wikipedia.org/wiki/Winsock). Въз основа на него можете да напишете както сървърната част, така и клиента. Всички действия са разделени на няколко етапа:

обща част

1) Отидете в скъпи Google и потърсете winsock.ocx

2) Ние го регистрираме в системата (regsvr32)

3) Регистрираме клоновете за регистрация в регистъра (в противен случай ActiveX не е лицензиран). Без това няма да разполагаме с необходимите методи.

Мисля, че никой няма да има проблеми с тези стъпки. Ако има някакви затруднения, има много статии в Google по тези въпроси.

4) Създаваме обработка в 1С

  1. Добавете ActiveX към формуляра
    Предпочитам да го правя програмно:
    Елементи на формуляр.AddActiveX ("MSWinsock.Winsock", "WinSock", False);
  2. Формуляр - Вмъкване на ActiveX - Microsoft WinSock Control, версия 6.0
    само с тази опция е необходимо да се премахне видимостта на елемента, тъй като няма графичен дисплей.

5) Дефинирайте необходимите обектни методи

  1. Грешка–Ако е възникнала грешка.
    WinSocketError (Елемент, Номер, Описание, Scode, Source, HelpFile, HelpContext, CancelDisplay)
    Където:

i. Номер - код за грешка,

ii. Описание - Описание на грешката,

iii. Scode - Още веднъж кодът за грешка, но в различен тип (LONG)