
Чт июн 18, 2015 10:34 am Чт июн 18, 2015 10:34 am
Описание библиотеки есть в справке сервера: http://www.nsoft-s.com/mcserverhelp/mcs ... ionapi.htm
Оно слегка устаревшее, но пользоваться можно.
mychat.dll работать в режиме внешней компоненты 1с,
Нет, не может, это отдельная обычная DLL библиотека, собранная в двух вариантах, x32 и x64.
А для какой конкретно версии 1С вам нужна такая компонента? Я давно не смотрел в эту сторону, возможно, получится что-то сделать сейчас.
Чат со мной
Описание работы 1С Native API есть в интернете, если нужного не найдётся, у нас на ИТС должно быть.
Вот, например http://infostart.ru/public/184119/

Чт июн 18, 2015 10:55 am Чт июн 18, 2015 10:55 am
Чат со мной

Чт июн 18, 2015 11:34 am Чт июн 18, 2015 11:34 am
И подскажите, где взять легальную триальную версию 1С для установки и тестирования?
Чат со мной
Шаблоны внешних компонент сейчас ищу. Объём небольшой, можно по почте выслать.

Чт июн 18, 2015 12:06 pm Чт июн 18, 2015 12:06 pm
Можете скачать библиотеку http://infostart.ru/public/177766/ ?
Чат со мной

Чт июн 18, 2015 12:07 pm Чт июн 18, 2015 12:07 pm
Чат со мной
Где-то в конце есть ссылка на скачивание.

Чт июн 18, 2015 12:33 pm Чт июн 18, 2015 12:33 pm
Чат со мной

Чт июн 18, 2015 2:31 pm Чт июн 18, 2015 2:31 pm
Чат со мной

Пт июн 19, 2015 8:53 am Пт июн 19, 2015 8:53 am
Алексей Пикуров писал(а):И ещё. У вас есть доступ к infostart.ru ?
Можете скачать библиотеку http://infostart.ru/public/177766/ ?
Отправил на [email protected]

Пт июн 19, 2015 10:29 am Пт июн 19, 2015 10:29 am

Начинаем крутить 1С, "по заявкам радиослушателей"

Чат со мной

Пт июн 19, 2015 10:50 am Пт июн 19, 2015 10:50 am
Возможно, есть какой-то простой пошаговый гайд для этого?
Чат со мной

Пт июн 19, 2015 3:18 pm Пт июн 19, 2015 3:18 pm
Алексей Пикуров писал(а):Кто-то может подсказать, какие действия нужно произвести, чтобы написать минимальную программу внутри 1С 8.3 и проверить работу внешнего компонента?
Возможно, есть какой-то простой пошаговый гайд для этого?
Отправил по почте.

Пт июн 19, 2015 4:17 pm Пт июн 19, 2015 4:17 pm
Запускаю 1C, показывается окошко:
А что дальше? Пробовал запускать "1С Предприятие", пробовал "Конфигуратор", появляется окно с кнопками и огромным меню с тучей пунктов. Но совершенно неясно, что дальше делать. Есть какой-то гайд по тому, куда и где нажимать, и какой минимальный код писать, чтобы задействовать написанный компонент и увидеть, работает он или нет?
Чат со мной

Пт июн 19, 2015 5:00 pm Пт июн 19, 2015 5:00 pm

1. Запускаем 1С
2. Добавить...
2.1. Создание новой информационной базы
2.2. Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы.
2.3. Указываем имя, и выбираем "На данном компьютере или на компьютере в локальной сети"
2.4. Выбираем путь для базы.
2.5. Оставляем все как есть. "Готово".
3. Выбираем созданную базу, жмем "Конфигуратор".
3.1. Конфигурация->Открыть конфигурацию
3.2. Закрываем 1С
3.3. Копируем файл с заменой V80\DB\1Cv8.1CD в папку куда создали базу.
3.4. Снимаем с файла атрибут "рид-онли".
3.5. Запускаем конфигуратор, если запросит преобразование - соглашайтесь.
3.6. В конечном итоге должны получить следующую картинку:
http://www.nsoft-s.com/forum/download/file.php?mode=view&id=1745
http://www.nsoft-s.com/forum/download/file.php?mode=view&id=1744
4. Весь код для 1С будет на закладке "Модуль".
5. Закрываем 1С.
6. Компилируем AddIn.Dll
7. Выкладываем DLL куда-то (тут нужно гуглить, я не работал с внешними компонентами сейчас путь не подскажу).
8. Открываем 1С предприятие.
9. Нажимаем "Пример работы с компонентой".

Пт июн 19, 2015 7:57 pm Пт июн 19, 2015 7:57 pm
Вот кстати тут про то куда нужно выкладывать... http://kb.mista.ru/article.php?id=419
В отличие от 7.7 необходимо указывать полный путь к DLL (или положить файл DLL в папку BIN платформы 1С:Предприятие). Вместо СоздатьОбъект("Addin.Имя") используется Новый("Addin.Имя"), использовать при этом ключевое слово COMОбъект не нужно.

Пн июн 22, 2015 7:10 am Пн июн 22, 2015 7:10 am

Библиотека с InfoStart под Delphi не компилируется

Однако после нажатия на кнопку "Пример работы с компонентой" я получаю вот что (dll библиотеку пробовал класть и в \bin и в произвольную папку, результат одинаков):
Оказывается, библиотеку нужно регистрировать в системе с помощью regsvr32. Потому что это COM-компонент. От имени администратора. После этого всё завелось и кнопка в 1С заработала.
Теперь нужно из примера сделать рабочую библиотеку для MyChat

Спасибо за содействие, буду задавать вопросы в этой теме по ходу продвижения работы.
Чат со мной

Пн июн 22, 2015 1:00 pm Пн июн 22, 2015 1:00 pm
Алексей Пикуров писал(а):Оказывается, библиотеку нужно регистрировать в системе с помощью regsvr32. Потому что это COM-компонент. От имени администратора. После этого всё завелось и кнопка в 1С заработала.
Не за что. Будут вопросы - задавайте, чем смогу - помогу.
![friends [smilie=friends.gif]](./images/smilies/friends.gif)
А по поводу регистрации - возможно нужно было 1с от имени админа запускать, 1с сама должна регистрировать дллку, если та не зарегистрирована...

Пн июн 22, 2015 2:18 pm Пн июн 22, 2015 2:18 pm

Субьективно, COM DLL в 1С работает не сильно шустро, видны подтормаживания даже в официальном примере.
Спасибо за поддержку, вопрос уже есть

Как в 1С во встроенном языке работать с форматом JSON? Есть какая-то поддержка?
Чат со мной

Пн июн 22, 2015 3:46 pm Пн июн 22, 2015 3:46 pm
Любая специализированная программа будет работать как минимум на порядок быстрее 1с (если написана по уму, а не как всегда). Другое дело, что для работы с 1с не нужно знать языков и механизмов работы с базами данных (тот же SQL например).
По поводу JSON и 1С: http://v8.1c.ru/o7/201410json/index.htm

Пн июн 22, 2015 4:56 pm Пн июн 22, 2015 4:56 pm
Учебная версия 1С, что использую я, скачанная с оф.сайта - 1С:Предприятие 8.3, учебная версия (8.3.5.1248)
И не факт, что у всех людей самая свежая версия, так что ориентироваться на встроенные механизмы JSON в 1С, скорее всего, нельзя.
Буду делать тестовый пример DLL, выложу здесь для тестирования.
Чат со мной

Вт июн 23, 2015 10:38 am Вт июн 23, 2015 10:38 am
JSON и UnJSON в 1С (версия от 27/11/2009) http://infostart.ru/public/61194/
1С 8.2 УП : Обмен данными с сайтом используя формат JSON в 1С https://helpf.pro/faq82/view/1664.html
Все это выдал гугл на запрос "JSON в 1с 8.2". Привел первые 3 ссылки...
![biggrin [smilie=biggrin.gif]](./images/smilies/biggrin.gif)

Вт июн 23, 2015 10:58 am Вт июн 23, 2015 10:58 am
Это неправильный подход.
Я постараюсь написать функцию внутри нашей DLL, которая на вход будет принимать строку, а на выход отдавать ESCAPE-последовательность. Таким образом строка будет корректно переводиться в JSON-like, с экранированиями символов и прочим, даже без нативной поддержки JSON в 1С.
Чат со мной

Вт июн 23, 2015 11:40 am Вт июн 23, 2015 11:40 am
Т.е. условно:
КодВозврата = Компонента.ПодключитсяКСерверу(ИмяСервера, Порт, ИмяПользователя, Пароль);
Если КодВозврата <> 0 Тогда
Сообщить ("Ошибка подключения к серверу");
Возврат;
КонецЕсли;
КодВозврата = Компонента.НайтиПользователя (ИмяПользователя);
Если КодВозврата <> 0 Тогда
Сообщить ("Пользователь не найден");
Возврат;
КонецЕсли;
КодВозврата = Компонента.ОтправитьСообщение (ИмяПользователя, Сообщение);
Если КодВозврата <> 0 Тогда
Сообщить ("Пользователь не найден");
Возврат;
КонецЕсли;
Ну и далее в таком духе. Зачем изобретать велосипед через JSON? Есть же уже у Вас АПИ, вот через него и работать...

Вт июн 23, 2015 11:42 am Вт июн 23, 2015 11:42 am
Чат со мной

Вт июн 23, 2015 2:55 pm Вт июн 23, 2015 2:55 pm
Качаем http://www.nsoft-s.com/files/mychat/int ... k-1c8x.zip
Внутри две DLL-библиотеки. Выкладываем их в C:\Program Files (x86)\1cv8t\8.3.5.1248\bin\
Далее, в конфигурации 1С пишем что-то в этом духе:
Перем КомпонентMyChat;
Процедура ПоказатьТекстСтатусаНажатие(Элемент)
ТекстСообщения = ТекстСтатуса;
// адрес сервера, номер порта, ключ Integration API, отправитель, получатель, текст сообщения
Результат = КомпонентMyChat.SendPrivateMessage("your-server-ip", 2004, "iddqd", "0", "6", ТекстСообщения);
Сообщить(Результат); // результат работы функции
КонецПроцедуры
Процедура ПриОткрытии()
Сообщить("Версия MyChat.dll - " + КомпонентMyChat.GetMyChatLibVersion());
Сообщить("Дата MyChat.dll - " + КомпонентMyChat.GetMyChatLibReleaseDate());
Сообщить("Версия MyChatVK.dll - " + КомпонентMyChat.GetMyChatVKLibVersion());
Сообщить("Дата MyChatVK.dll - " + КомпонентMyChat.GetMyChatVKLibReleaseDate());
КонецПроцедуры
Результат=ПодключитьВнешнююКомпоненту("mychatvk.dll","MyChat", ТипВнешнейКомпоненты.Native);
Если Результат Тогда
КомпонентMyChat = Новый ("AddIn.MyChat.MyChatClass");
Иначе Сообщить("Ошибка подключения mychatvk.dll!");
КонецЕсли;
Запускаем конфигурацию и жмём кнопку (в учебной версии стандартный пример):
Если компонент загрузился успешно, мы должны в логе увидеть вот что:
Набираем текст сообщения, жмём кнопку, и в MyChat приходит уведомление:
Пробуйте, проверяйте, жду комментариев и вопросов.
Чат со мной

Вт июн 23, 2015 4:13 pm Вт июн 23, 2015 4:13 pm
![dance4 [smilie=dance4.gif]](./images/smilies/dance4.gif)

Вт июн 23, 2015 5:41 pm Вт июн 23, 2015 5:41 pm

Хорошо. Тогда несколько вопросов.
1. Какая у вас версия 1С?
2. Есть ли возможность попробовать на линейке 7.x?
3. Какие функции, кроме отправки приватного сообщения, вам бы понадобились?
4. Что бы вы сделали с помощью этой технологии сейчас, в своём 1С для удобства интеграции с MyChat?
5. Чего в Integration API сейчас недостаёт?
Желательно поподробнее, я сейчас готовлю документацию + расширяю API, скоро будет новый релиз, 5.13.
Чат со мной

Вт июн 23, 2015 8:55 pm Вт июн 23, 2015 8:55 pm
Алексей Пикуров писал(а):Ну надо же, завелось сразу?![]()
Сразу, скопировал дллки, ничего не регистрировал, и все заработало.

Алексей Пикуров писал(а):1. Какая у вас версия 1С?
8.2.19.116
8.3.5.1248
Алексей Пикуров писал(а):2. Есть ли возможность попробовать на линейке 7.x?
Есть, одна проблема времени сейчас чем-то серьезным заниматься нет времени совсем. Придется ждать, возможно целый месяц. Надеюсь здесь найдутся кроме меня заинтересованные пользователи.
Также могу опробовать не файловый вариант, а вариант клиент-сервер.
Алексей Пикуров писал(а):3. Какие функции, кроме отправки приватного сообщения, вам бы понадобились?
Наименование функций условное.
Функция ПодключитсяКСерверу(Параметры) - установить соединение с сервером, в дальнейшем использовать это соединение, до явного подключения к другому серверу.
Возвращает истина - подключились, ложь - соединение не установлено.
Параметры:
IPАдрес, НомерПорта
Функция ПодключитсяКСерверуПоИмени(Параметры) - установить соединение с сервером, в дальнейшем использовать это соединение, до явного подключения к другому серверу.
Возвращает истина - подключились, ложь - соединение не установлено.
Параметры:
ИмяСервера - имя сервера MyChat (частичное или полное FQDN)
НомерПорта
Можно сделать перегружаемую функцию, вот только для 1с придется вводить еще один параметр, либо сделать универсальную функцию ПодключитсяКСерверу(Сервер, Порт, ПодключатьсяПоИмени). Если ПодключатьсяПоИмени - истина, то в "Сервере" имя сервера, иначе там IP-адрес.
Функция ПолучитьСписокПользователей(БезПараметов) - возвращает таблицу значений и/или список значений. Таблица значений предпочтительнее. Поля таблицы занчений - UID, ФИО (можно по отдельности), Статус (не найден, оффлайн, онлайн, не беспокоить), ИмяДомена (если есть). Кстати по Статусу рекомендация, -1 возвращать если пользователя нет, и возвращать 2 или 0 (или сколько там по порядку), если пользователь оффлайн.
Функция НайтиПользователя (Фамилия, Имя, Отчество) - возвращает UID, либо строку таблицы значений аналогичную структуре ПолучитьСписокПользователей().
Функция НайтиПользователя (ФамилияИмяОтчество) - возвращает UID, либо строку таблицы значений аналогичную структуре ПолучитьСписокПользователей().
Функция УстановитьПользователяОтКоторогоПосылаемСообщения(Фамилия, Имя, Отчество)
Функция УстановитьПользователяОтКоторогоПосылаемСообщения(ФамилияИмяОтчество)
Функция УстановитьПользователяОтКоторогоПосылаемСообщения(UID) устанавливает от имени какого пользователя будут отсылаться сообщения, если явно не указан другой пользователь.
Возвращает истина - установили, ложь - пользователь не найден.
Функция ПослатьСообщение(Кому, Сообщение, ОтКого)
Возвращает КодОшибки. Возможно достаточно будет истина - отослано, ложь - не отослано. Но тут нужно хорошо думать...
Параметры:
Кому, варианты:
Фамилия, Имя, Отчество;
ФамилияИмяОтчество;
UID;
Сообщение - текст сообщения
ОтКого - может отсутствовать, варианты:
Фамилия, Имя, Отчество;
ФамилияИмяОтчество;
UID.
Процедура ОтключитьсяОтСервера(БезПараметров) - разрывает установленное соединение с сервером. Возможно излишнее - пока не могу сказать.
Функция ПолучитьПоследнийКодОшибки(БезПараметров) - возвращает код ошибки последней операции, для развернутого анализа.
Функция ПолучитьПараметрыПодключения(БезПараметров) - возвращает параметры которые были указаны при подключении к серверу, при условии, что было установлено соединение с сервером.
Надеюсь ничего не упустил.
Алексей Пикуров писал(а):4. Что бы вы сделали с помощью этой технологии сейчас, в своём 1С для удобства интеграции с MyChat?
Не понял вопроса.
Алексей Пикуров писал(а):5. Чего в Integration API сейчас недостаёт?
Сначала нужно изучить API, прежде чем что-либо говорить, но в ответе на вопрос 3 содержится примерное мое видение API.
Вроде все. Если что не понятно - спрашивайте, ну или можно голосом пообщаться.

Ср июн 24, 2015 3:24 pm Ср июн 24, 2015 3:24 pm
Дело в том, что IntegrationAPI построен по принципу: отправил команду - получил результат, отвалился. В один заход.
Упрощённая авторизация. Минимум телодвижений.
Далее. Любая команда возвращает результат, вы видели это в консоли лога 1С. Обычный JSON-объект, текстовая строка.
По остальному - из всего списка нужны функции получения списка юзеров и поиска юзера. Я добавлю это в протокол к тем командам, что уже есть. Подробное описание будет в доке IntegrationAPI на сервере MyChat.
Чат со мной

Ср июн 24, 2015 3:25 pm Ср июн 24, 2015 3:25 pm
Алексей Пикуров писал(а):
4. Что бы вы сделали с помощью этой технологии сейчас, в своём 1С для удобства интеграции с MyChat?
Не понял вопроса.
Будете ли вы применять эту технологию у себя в компании и что конкретно сделаете?
Чат со мной

Ср июн 24, 2015 3:32 pm Ср июн 24, 2015 3:32 pm
Алексей Пикуров писал(а):Будете ли вы применять эту технологию у себя в компании и что конкретно сделаете?
90% что будем. Есть как минимум 2 задачи, которые можно ускорить это электронное согласование заявок на платежи, и электронное согласование документов. По документам сейчас отправляются электронные письма, что приводит к довольно большим задержкам. Оповещение через чат будет оперативнее на мой взгляд.

Ср июн 24, 2015 3:37 pm Ср июн 24, 2015 3:37 pm

Чат со мной

Пт июл 03, 2015 11:53 am Пт июл 03, 2015 11:53 am
Чат со мной

Вт июл 07, 2015 3:31 pm Вт июл 07, 2015 3:31 pm


Вт июл 07, 2015 3:56 pm Вт июл 07, 2015 3:56 pm
https://nsoft-s.com/mcserverhelp/index. ... mple1c.htm
Чат со мной

Ср июл 08, 2015 12:12 pm Ср июл 08, 2015 12:12 pm


Ср июл 08, 2015 1:57 pm Ср июл 08, 2015 1:57 pm
Чат со мной

Ср авг 05, 2015 12:21 pm Ср авг 05, 2015 12:21 pm
Чат со мной

Ср авг 05, 2015 12:26 pm Ср авг 05, 2015 12:26 pm
Например, когда мы поместили mychatvk.dll в каталог программы
Библиотеки выкладываются в папку \bin 1C, в документации сказано об этом.
Сообщения выдаются не нами, а 1С, мы не рулим этим процессом.
Чат со мной
Функции SendChannelMessage передавайте параметры: адрес_сервера, порт, пароль, UID откого, UID канала( у Главного канал 1, ТекстСообщения).
Сразу возник вопрос. Вот приходится размещать mychat.dll и mychatvk.dll в папке BIN текущего релиза 1с. Но дело в том, что релизы достаточно часто обновляются и придется не забывать файлы перемещать при обновлении.
У 1с есть файл 1сestart.exe, который автоматом запускает последний релиз. Быть может возможно положить файлы mychat рядом с этим файлом?

Ср авг 12, 2015 1:20 pm Ср авг 12, 2015 1:20 pm
Я не большой специалист в 1С, внешнюю компоненту делал по той документации, что была в наличии. Попробуйте, отпишите, работает ли.
Чат со мной

Ср авг 12, 2015 1:26 pm Ср авг 12, 2015 1:26 pm
Чат со мной

Чт окт 29, 2015 2:31 pm Чт окт 29, 2015 2:31 pm
Очень хотим настроить чат в 1С. Готовы для этого даже приобрести платную версию, хотя и пользователей менее 20.

Чт окт 29, 2015 2:46 pm Чт окт 29, 2015 2:46 pm
Почитайте локально:
Чат со мной

Вт мар 15, 2016 6:37 pm Вт мар 15, 2016 6:37 pm
Чат со мной

Вт авг 09, 2016 10:16 pm Вт авг 09, 2016 10:16 pm
Я поправил ваше сообщение, удалив неправильный линк.
Чат со мной
Пн июл 17, 2017 10:09 am Пн июл 17, 2017 10:09 am

Пн июл 17, 2017 12:46 pm Пн июл 17, 2017 12:46 pm
Чат со мной
Пн июл 17, 2017 4:06 pm Пн июл 17, 2017 4:06 pm
библиотеки вбрал из каталога x64. mychat64.dll переименовал в mychat.dll
На x86 работает нормально. Может я что то не так делаю, заранее спасибо

Пн июл 17, 2017 5:31 pm Пн июл 17, 2017 5:31 pm
Чат со мной
Вт июл 18, 2017 4:24 pm Вт июл 18, 2017 4:24 pm

Вт июл 18, 2017 5:52 pm Вт июл 18, 2017 5:52 pm
Чат со мной
Пт июл 21, 2017 10:59 am Пт июл 21, 2017 10:59 am

Пт июл 21, 2017 11:56 am Пт июл 21, 2017 11:56 am
Чат со мной
Пт июл 28, 2017 2:06 pm Пт июл 28, 2017 2:06 pm
Вт авг 08, 2017 4:58 pm Вт авг 08, 2017 4:58 pm

Вт авг 08, 2017 5:13 pm Вт авг 08, 2017 5:13 pm
Нет времени посмотреть, я скачал ваш архив, но не разворачивали ещё.
Чат со мной
Ср авг 09, 2017 3:45 pm Ср авг 09, 2017 3:45 pm
Вт авг 22, 2017 5:30 pm Вт авг 22, 2017 5:30 pm

Пт сен 01, 2017 11:53 am Пт сен 01, 2017 11:53 am
У вас есть ссылка на x64 версию 1С для обучения, как для x32 ?
Чат со мной

Пт сен 01, 2017 12:13 pm Пт сен 01, 2017 12:13 pm

Не хотелось ставить кряк, но придётся. Поищу на рутрекере, отпишу здесь позже.
Чат со мной

Пт сен 01, 2017 2:46 pm Пт сен 01, 2017 2:46 pm
Чат со мной
Вт сен 05, 2017 10:14 am Вт сен 05, 2017 10:14 am
Вт сен 05, 2017 10:17 am Вт сен 05, 2017 10:17 am

Вт сен 05, 2017 11:42 am Вт сен 05, 2017 11:42 am
Чат со мной
Вт сен 05, 2017 12:06 pm Вт сен 05, 2017 12:06 pm

Вт янв 19, 2021 2:24 pm Вт янв 19, 2021 2:24 pm
Документация.
Чат со мной