Интеграция решений на 1С и сервиса обмена данными RabbitMQ

Публикация № 1051620

Разработка - Системная интеграция - Внешние источники данных

Программирование RabbitMQ AMQP COM COMОбъект HelloWorld UTF-8 CP-1251 Интеграция Интеграции RegAsm DotNet .NET ПотокВПамяти Кодировка ЧтениеДанных ЗаписьДанных Байт COMSafeArray RMQ

"Hello world" из 1С на сервер RabbitMQ и обратно. Полностью открытый код 1С! Реализация протестирована на 1С 8.3.12.1714 (x64).

WARNING

Данная статья не претендует на оригинальность и не является конечным решением.
Подходы решения задач и примеры программного кода несут исключительно обучающий характер.

 

В больших компаниях и холдингах не редкое явление встретить огромное количество интеграционных потоков. Бывают ситуации, когда эти потоки делались по факту потребности и на скорую руку. Решением для возможности управления такими потоками являются сервисы (службы или брокеры) обмена.

Некоторые плюсы использования единого сервера обмена:

  • Один или несколько стандартных протоколов обмена данными;
  • Возможность построить карту маршрутов передаваемых данных.

На данный момент один из бесплатных и популярных решений - сервис (отдельный сервер или служба) RabbitMQ. Данный сервис имеет множество библиотек под самые разные языки программирования за исключением 1С. Посмотреть подробное описание и возможности самого сервиса можно на его официальном сайте RabbitMQ.com

Итак приступим к "Hello world!" интеграции RabbitMQ и 1С!


Что нам нужно:

  1. Платформа 1С v8.3.*;
  2. Сервер RabbitMQ с настроенным обменом и пользователем для подключения;
  3. Стандартная библиотека RabbitMQ Client для DotNet.

 

С первым пунктом все ясно, но со второго возникают сложности:

Бесплатный экземпляр сервера RabbitMQ (а точнее его хост) можно получить на CloudAMQP.com. Нужно просто зарегистрироваться, создать новый "инстанс" и новый хост с правами админа готов.

 
 Немного о предоставляемой CloudAMQP бесплатной услуге (тарифный план Little Lemur)

 

Библиотека RabbitMQ Client для DotNet:

Где получить:

  • Сама библиотека (v5) доступна в репозитории NuGet;

  • Имеет единственную зависимость Microsoft.Diagnostics.Tracing.EventSource.Redist v1.1.28

Как установить:

  • Можно установить через стандартные менеджеры пактов NuGet или DotNet;

  • Можно скачать оба пакета NuPkg, извлечь нужные DLL и зарегистрировать в windows через RegAsm.exe:

    • Для x32 \Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe /codebase <пусть до распакованной RabbitMQ.Client.dll>

    • Для x64 \Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe /codebase <пусть до распакованной RabbitMQ.Client.dll>

  • Для корректной регистрации RabbitMQ.Client.dll через RegAsm, файл Microsoft.Diagnostics.Tracing.EventSource.dll должен быть в той-же папке.

     
     Снимок экрана использования RegAam.exe

     


Реализация программного кода 1С с подробными комментариями:
(код описанный ниже, теоретический может быть переписан под любой язык программирования поддерживающий работу с COM объектами, так как по сути вызывает стандартные методы библиотеки RabbitMQ.Client.dll, ПримерыAPIОписаниеAPI)

// выполнить тест отправки и получения сообщения через RabbitMQ
&НаСервере
Процедура ВыполнитьТестНаСервере()
	
	// создать новый COM объект RabbitMQ Client Factory
	Попытка
		ФабрикаAMQP = Новый COMОбъект("RabbitMQ.Client.ConnectionFactory");
	Исключение
		Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
		Возврат;
	КонецПопытки;
	
	// установим параметры подключения
	ФабрикаAMQP.HostName = АдресСервера;
	ФабрикаAMQP.UserName = ИмяПользователя;
	ФабрикаAMQP.Password = Пароль;
	ФабрикаAMQP.Port = Порт;
	ФабрикаAMQP.VirtualHost = Хост; 
	
	// попытка подключится
	Попытка
		Соединение = ФабрикаAMQP.CreateConnection();
	Исключение
		Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
		Возврат;
	КонецПопытки;
	
	// создать бызовые СОМ для работы с серврером RabbitMQ
	Модель = Соединение.CreateModel();
	ПараметрыОтправки = Модель.CreateBasicProperties();
	
	// установим параметры обмена
	ПараметрыОбмена = Новый Структура("ИмяМаршрута, ИмяОчереди, ИмяОбмена");
	ЗаполнитьЗначенияСвойств(ПараметрыОбмена, ЭтаФорма);
	////////////////////////////////////////////////////////////////////////////////////////////////////
	
	// проверить наличие обмена и очреди
	// если данные введены неверно то получим исключение
	Попытка
		Модель.ExchangeDeclarePassive(ПараметрыОбмена.ИмяОбмена);
		Модель.QueueDeclarePassive(ПараметрыОбмена.ИмяОчереди);
	Исключение
		Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
		Возврат;
	КонецПопытки;
	
	// подготовить сообщение
	// дело в том, что метод BasicPublish() принемает в качестве сообщения только массив байтов (COMSafeArray - VT_UI1)
	// по этому соберем его !!!
	ПотокВПамяти = ПолучитьДвоичныеДанныеИзСтроки(Сообщение, Кодировка).ОткрытьПотокДляЧтения();
	ЧтениеДанных = Новый ЧтениеДанных(ПотокВПамяти, Кодировка);
	СтрокаSafeArray = Новый COMSafeArray("VT_UI1", ПотокВПамяти.Размер());
	Пока ПотокВПамяти.ТекущаяПозиция() < ПотокВПамяти.Размер() Цикл
		Позиция = ПотокВПамяти.ТекущаяПозиция();
		СтрокаSafeArray.SetValue(Позиция, ЧтениеДанных.ПрочитатьБайт());
	КонецЦикла;
	ЧтениеДанных.Закрыть();
	ПотокВПамяти.Закрыть();
	// собрали СтрокаSafeArray!
	
	// подготовим параметры для отправки
	ПараметрыОтправки.AppId = "Любимый 1С!"; // кто отправитель?
	ПараметрыОтправки.ContentType = "text/plain"; // тип передоваемых данных
	ПараметрыОтправки.DeliveryMode = 2; // 1 - хранить сообщение в ОЗУ сервера, 2 - хранить сообщение на диске сервера
	ПараметрыОтправки.CorrelationId = Строка(Новый УникальныйИдентификатор); // - id сообщения
	
	// вызвать метод отправки
	// (помещать BasicPublish() в попытку нет смысла, 
	// он не вызыват исключений никогда, если типы передаваемых значений правельные)
	Модель.BasicPublish(ПараметрыОбмена.ИмяОбмена, ПараметрыОбмена.ИмяМаршрута, False, ПараметрыОтправки, СтрокаSafeArray);
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	// проверить есть ли сообщения в очереди
	Если НЕ Модель.MessageCount(ПараметрыОбмена.ИмяОчереди) Тогда
		Возврат;
	КонецЕсли;
	
	// прочитаем одно сообщение из очереди
	Результат = Модель.BasicGet(ПараметрыОбмена.ИмяОчереди, Ложь); // второй параметр делает BasicAck() - сразу, лучше сделать его потом
	Если Результат = Неопределено ИЛИ Результат = NULL Тогда
		Возврат;
	КонецЕсли;
	
	// получим массив байтов (оно же сообщение)
	ОтветSafeArray = Результат.Body;
	
	// получим параметры ответа
	// это тоже самое что и ПараметрыОтправки только сейчас мы их получим обратно
	ПараметрыОтвета = Результат.BasicProperties();
	
	Сообщить(ПараметрыОтвета.AppID); // выведет того кто сообщение в Rabbit отправил - "Любимый 1С!"
	
	// Тег доствки - число, позволяет удалить сообщение из очереди после приема
	ТегДоставкиВПределахСессии = Результат.DeliveryTag;
	
	// выпонить ответ об прочтении сообщения
	// (без ответа оно не будет удалено и останеться в очереди)
	Модель.BasicAck(ТегДоставкиВПределахСессии, false);
	
	// преобразуем массив байтов в строку
	ПотокВПамяти = Новый ПотокВПамяти();
	ЗаписьДанных = Новый ЗаписьДанных(ПотокВПамяти, Кодировка);
	Для Каждого Байт Из ОтветSafeArray.Выгрузить() Цикл
		ЗаписьДанных.ЗаписатьБайт(Байт);
	КонецЦикла;
	ЗаписьДанных.Закрыть();
	Ответ = ПолучитьСтрокуИзДвоичныхДанных(ПотокВПамяти.ЗакрытьИПолучитьДвоичныеДанные(), Кодировка);
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	// закртыть соединение
	Модель.Close();
	Соединение.Close();
	
КонецПроцедуры

Описание общих этапов алгоритма:

  1. Получение зарегистрированного COM объекта из стандартной сборки DotNet - RabbitMQ.Client;
  2. Создание соединения с сервером;
  3. Проверка правильности заполнения "Параметров обмена";
  4. Подготовка сообщения для отправки;
  5. Отправка сообщения;
  6. Проверка наличия сообщений для прочтения;
  7. Чтение сообщения;
  8. Преобразование сообщения в текст.

Плюсы использования:

  • Реализация полностью OpenSource;
  • Нет никакого платного либо самописного коннектора;
  • Можно использовать и обновлять официальную библиотеку RabbitMQ.Client.dll.

Описание дополнительных способов кодирования и декодирования:

  1. Помимо манипуляции с байтами(описано тут) при помощи потоков можно еще использовать стандартный COM Объект "System.Text.UTF8Encoding".
    Пример:
    UTF8Encoding = Новый COMОбъект("System.Text.UTF8Encoding");
    СтрокаSafeArray = UTF8Encoding.GetBytes_4("Hello world!");
    Строка = UTF8Encoding.GetString(СтрокаSafeArray);
    

    Но тогда мы ограничиваем себя исключительно кодировкой UTF-8.

  2. Еще можно использовать стандартные возможности платформы "Символ()" и "КодСимвола()", для сборки и разборки COMSafeArray. Но тогда мы ограничимся символами чей код не более 255 (как бы ASCII получается), потому что массив типа "VT_UI1" имеет однобайтовые ячейки.

P.S. так как обработка грубо говоря состоит из одной процедуры, выкладывать ее сюда не вижу смысла.

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. VmvLer 24.04.19 13:03 Сейчас в теме
Некоторые плюсы использования единого сервера обмена:

Один или несколько стандартных протоколов обмена данными;
Возможность построить карту маршрутов передаваемых данных.



маловато плюсов как-то. а возможность создания карты это блажь, а не плюс - я считаю.

в общем, если плюсов больше нет, то минуса:
- сливать свои данные куда-попало;
- изучать нечто долго и упорно с риском, что
-- его блокнут;
-- оно перестанет работать;
-- захочет денег.
-

как-то отпугивают
Andle; AneJIbcuH; Eret1k; +3 5 Ответить
3. TODD22 18 24.04.19 13:31 Сейчас в теме
(1)
- сливать свои данные куда-попало;
- изучать нечто долго и упорно с риском, что
-- его блокнут;
-- оно перестанет работать;
-- захочет денег.

Так можно и свой сервер развернуть.
Irwin; maxopik2; berezdetsky; Robbi; Eret1k; +5 Ответить
6. Eret1k 705 24.04.19 16:55 Сейчас в теме
(3) Не просто развернуть!
Превратить в собственный бесплатный провайдер EDI.
7. TODD22 18 24.04.19 18:03 Сейчас в теме
(6)
Превратить в собственный бесплатный провайдер EDI.

За свой счёт это не бесплатно :) бесплатно это за чужой счёт :)
Andle; RFP; Eret1k; +3 Ответить
2. Идальго 125 24.04.19 13:14 Сейчас в теме
Хм, никогда не сталкивался с такими системами (как разработчик). Скажите пожалуйста, а вы этот RabbitMQ внедрили у себя в проекте (в конторе), или просто изучали возможность интеграции? Какие результаты от внедрения, решило ли это какие-то проблемы(если таковые были, конечно)?
mip128; Eret1k; +2 Ответить
5. Eret1k 705 24.04.19 16:12 Сейчас в теме
(2)
Внедрение RabbitMQ, да это был проект,
Решило ли проблемы - да,
Результаты - положительные,
Проблемы, а куда без них)
Стоило ли оно того - однозначно да!

А вообще тут рядом живут две полезные статьи: "Что такое обмен сообщениями" и Хорошое описание масштабной интеграции через RabbitMQ
juliia1992; barelpro; +2 Ответить
4. Senator_I 12 24.04.19 15:07 Сейчас в теме
Я читал, как на основании таких запросов получали моментально данные по чекам (только на кассе закрывался чек, тут же летел в RabbitMQ, а оттуда уже в 1С, в итоге продажи приходили в Центр практически онлайн, причем через самое плохое интернет-подключение и без УРБД.
Evil Beaver; maxopik2; MaZaHacKa_13; Eret1k; +4 Ответить
8. Infactum 290 24.04.19 19:50 Сейчас в теме
(4) Думаю вот статья, которую вы читали.
Evil Beaver; Eret1k; +2 Ответить
18. Senator_I 12 25.04.19 08:27 Сейчас в теме
34. Evil Beaver 6456 08.08.19 17:50 Сейчас в теме
(18) О, дык это ж я писал :)
Senator_I; +1 Ответить
38. Senator_I 12 09.08.19 09:51 Сейчас в теме
(34) о как, рад познакомится с автором, статья очень зашла, жаль поздно узнал, на одном проекте как раз такое нужно было.
9. Labotamy 24.04.19 20:50 Сейчас в теме
Вот все отлично кроме com(
zakiap; Evil Beaver; olegtymko; acanta; +4 Ответить
10. spogo 2 24.04.19 21:27 Сейчас в теме
11. Labotamy 24.04.19 22:24 Сейчас в теме
(10) Мне известен только один кроссплатформенный метод расширения функциональных возможностей платформы - внешние компоненты по технологии Native API.

А эту цитату из документации я просто оставлю тут:

При работе на сервере «1С:Предприятия» допустимо использовать только компоненты, разработанные по технологии Native API, которые могут быть как отдельными файлами, так и упакованными в специальные zip-архивы.
okulus; zakiap; Evil Beaver; comol; acanta; +5 Ответить
12. Идальго 125 24.04.19 23:36 Сейчас в теме
(11) Погодите, ведь тут речь о системе, которая, как я опять же понял, обеспечивает гарантированную доставку с использованием специального механизма очереди. Хм, ну в таком случае можно через rest, grpс, наконец сокеты передавать в некий сервак(т.н. брокер) сообщения. Там они ставятся в стековую очередь, сервак выдает квитанцию что типа получил и зарегал сообщение (все это в рамках одной транзакции). Ну и всё, а далее сервак примерно таким же макаром передает сообщение приемнику, а тот подтвержает через аналогичный механизм подтверждения доставки. Теперь брокер может считать это сообщение доставленным. Как-то так. И тут не нужно никаких com или ВК))) Хотя для сокетов всеж потребуется.
17. Labotamy 25.04.19 08:22 Сейчас в теме
(12)Речь о добавлении поддержки протокола amqp в платформу.
13. comol 4161 25.04.19 00:35 Сейчас в теме
Получение сообщений из очереди путём регулярного опроса RabbitMQ с заданным интервалом... хм... В случае такой "Архитектуры" точно нужен RabbitMQ? Ну и как бы COMSafeArray... ну нельзя так :(
GreenDragon; +1 Ответить
35. Evil Beaver 6456 08.08.19 17:52 Сейчас в теме
(13) Где ком, там и safearray, чего удивительного. Бяка? Бяка. Зато бесплатно и без этих ваших сиплюсплюсов. (Про добавленный гемор с RegAsm умолчим, к тому же Labotamy все сказал выше)
14. d.zhukov 560 25.04.19 07:43 Сейчас в теме
Добрый день. К сожалению, некогда вникать в тему. Просто подскажите плз, можно ли данной штукой отправить файл (допустим pdf) на сервер rabbitmq и получить ссылку на его открытие в браузере без каких-либо авторизаций?
15. GreenDragon 25.04.19 08:12 Сейчас в теме
(14) Вам немножко не сюда. Вам бы файлопомойку без авторизации организовать под такую задачу.
16. Labotamy 25.04.19 08:16 Сейчас в теме
36. Evil Beaver 6456 08.08.19 17:52 Сейчас в теме
19. EvgeTrofi 08.05.19 11:54 Сейчас в теме
Подскажите пожалуйста, чему у Вас равны переменные:
	ФабрикаAMQP.HostName = АдресСервера;
	ФабрикаAMQP.UserName = ИмяПользователя;
	ФабрикаAMQP.Port = Порт;
	ФабрикаAMQP.VirtualHost = Хост; 

Я задал
	АдресСервера = "zebra.rmq.cloudamqp.com";
	ИмяПользователя = "kibgbbpf";
	Порт = "1883";
	Хост = "kibgbbpf";

После строчки
Соединение = ФабрикаAMQP.CreateConnection();

Получается ошибка: Произошла исключительная ситуация (RabbitMQ.Client): None of the specified endpoints were reachable
Не знаете, в чём может быть причина?
20. Eret1k 705 08.05.19 18:35 Сейчас в теме
(19)
Скорее всего проблема с номером порта:
у меня так - ФабрикаAMQP.Port 5 672 Число

Я смог повторить вашу ошибку, когда правилами файрвола закрыл напрочь этот порт:
{ВнешняяОбработка.HelloWorldForRabbitMQ.Форма.Форма.Форма(46)}: Ошибка при вызове метода контекста (CreateConnection)
        Соединение = ФабрикаAMQP.CreateConnection();
по причине:
Произошла исключительная ситуация (RabbitMQ.Client): None of the specified endpoints were reachable
juliia1992; EvgeTrofi; +2 Ответить
21. EvgeTrofi 13.05.19 05:58 Сейчас в теме
(20) Огромное спасибо! Проблема была в номере порта. Его действительно нужно задавать числом, а не строкой.
22. dracoola 05.06.19 11:57 Сейчас в теме
Добрый день, пытаюсь подключиться к облачному CloudAMQP.com выпадает ошибка
None of the specified endpoints were reachable

ФабрикаAMQP.HostName = "toad-01.rmq.cloudamqp.com"; ФабрикаAMQP.UserName = "afaneugp"; ФабрикаAMQP.Port = 1883; ФабрикаAMQP.VirtualHost = "afaneugp";

Подскажите,пожалуйста, в чем может быть проблема ? Ошибка выпадает именно на моменте самого подключения. Порт задан именно числом . Пробовала и другой 8883, ошибка аналогична (
23. Eret1k 705 05.06.19 12:45 Сейчас в теме
(22)номер порта очень странный у вас.
С чего вы вообще взяли эти цифры?
24. dracoola 05.06.19 12:58 Сейчас в теме
25. dracoola 05.06.19 12:59 Сейчас в теме
Может что то неправильно настроила изначально . Такие настройки в облачном кролике
26. Eret1k 705 05.06.19 13:39 Сейчас в теме
(25) попробуйте порт по умолчанию 5 672
juliia1992; dracoola; +2 Ответить
27. Eret1k 705 05.06.19 19:45 Сейчас в теме
(25)Проверил, у меня в облаке как ни странно тоже указан порт 1883 но работает нормально только по 5 672
28. dracoola 05.06.19 20:12 Сейчас в теме
(27) спасибо огромное!! вначале вывалилась какая-то другая ошибка, но в итоге все заработало!!!
29. juliia1992 19.06.19 15:56 Сейчас в теме
Добрый день! При попытке подключения к фабрике
ФабрикаAMQP = Новый COMОбъект("RabbitMQ.Client.ConnectionFactory");
возникает ошибка: "Класс не зарегистрирован!" Кто-нибудь сталкивался с такой проблемой?
Прикрепленные файлы:
30. Eret1k 705 19.06.19 18:58 Сейчас в теме
(29) Значит RabbitMQ.Client.dll не зарегистрирован в системе.
31. juliia1992 20.06.19 08:48 Сейчас в теме
(30) Компоненту регистрировала
Для x64 \Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe /codebase <пусть до распакованной RabbitMQ.Client.dll>
И файл Microsoft.Diagnostics.Tracing.EventSource.dll положила в ту же папку, где и лежит RabbitMQ.Client.dll.
32. Eret1k 705 20.06.19 16:14 Сейчас в теме
(31)странно
Есть в сети утилита показывающая все зарегистрированные библиотеки RegDllView Ссылка
Проверьте зарегистрировался ли тип: RabbitMQ.client или что-то на подобие того.
33. juliia1992 21.06.19 09:36 Сейчас в теме
(32) Спасибо, библиотека зарегистрирована.
Прикрепленные файлы:
37. Evil Beaver 6456 08.08.19 17:54 Сейчас в теме
(33) А теперь не забывайте повторять на каждом сервере 1С и в случае переездов с машины на машину. :)
39. GreenDragon 14.08.19 16:00 Сейчас в теме
40. 2dnk 26.09.19 16:02 Сейчас в теме
Коллеги, Дмитрий, приветствую!
Благодаря Вашему примеру смогли подключиться к Раббиту. Создали в нем очередь. А дальше просьба пояснить, чему должны быть равны параметры "ИмяМаршрута" и "ИмяОбмена". Я не нашел таких переменных в Раббит.

Ваш пример:
// установим параметры обмена
ПараметрыОбмена = Новый Структура("ИмяМаршрута, ИмяОчереди, ИмяОбмена");

Пока для меня только очевиден один параметр - ИмяОчереди

Заранее благодарен за помощь!
42. Eret1k 705 27.09.19 11:52 Сейчас в теме
(40)
Имя маршрута -> Routing key;
ИмяОбмена -> Exchange;
41. 2dnk 26.09.19 16:08 Сейчас в теме
и подскажите пожалуйста, где параметры "ИмяМаршрута" и "ИмяОбмена" прописываются в Реббит?
43. kotlovD 63 03.10.19 11:15 Сейчас в теме
Спасибо большое за статью! Реализовываем обмен данными 1С - сайт. Рэббит это просто панацея.

Есть одно замечание к коду 1С, а именно сериализация сообщения в ComSafeArray. Код из статьи работает очень медленно на больших объемах данных (может занимать до 90% всего времени выполнения обмена), также может вызывать ошибки выделения памяти.

Переписал на этот, может кому пригодятся:

	Текст = Новый COMОбъект("System.Text.UTF8Encoding");
	СтрокаSafeArray = Текст.GetBytes_4(ДанныеДляОбмена);
44. 2dnk 03.10.19 19:37 Сейчас в теме
(43) Спасибо за информацию!
45. McSlym 23.12.19 13:58 Сейчас в теме
Добрый день.
Спасибо за статью.

У кого то есть готовый пример как подстроить обмен между 3 разных баз 1С, к примеру справочник Контрагенты, или любой другой, на базе текущей статьи. Очень хочется начать использовать RabbitMQ для синхронизации данных между несколько баз 1С и сайт.

Спасибо заранее

буду признателен если кто то соизволит помочь мне, как для меня это все очень новое )
Оставьте свое сообщение

См. также

Получение данных из Сигур

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Внешние источники данных

Получение данных из СКУД Сигур (без танцов с бубном)

25.12.2019    1022    skaoxy    5       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.130.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Интеграция решений на 1С и сервиса обмена данными RabbitMQ через Web REST API

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Внешние источники данных

Отправка "Hello world" из 1С на сервер RabbitMQ и обратно при помощи web REST API. Проще уже некуда! Совместимо с Linux и Windows! Реализация протестирована на 1С 8.3.14.1854 (x64).

21.10.2019    6155    Eret1k    12       

Выгрузка из 1С номенклатуры со штрихкодами без программирования

Статья Программист Пользователь Стажер Нет файла v8 УТ11 Россия Бесплатно (free) Загрузка и выгрузка в Excel Внешние источники данных

Я так и не смог найти простой инструкции или обработки, чтобы выгрузить из 1С: Управление торговлей 11 номенклатуру вместе со штрихкодами, поэтому решил написать собственную инструкцию.

28.08.2019    4089    user1114182    4       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.12.х и УТ 11.4.11.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

Выгрузка данных в таблицу MS SQL SERVER

Статья Программист Нет файла v8 MS SQL Бесплатно (free) Внешние источники данных

Процедура по выгрузке данных из 1C (таблица значений) в таблицу MS SQL SERVER через COM.

02.07.2019    3599    EvgenSav    17       

PgConf.Russia 2020. 3-5 февраля 2020 г. Москва. Промо

PGConf.Russia – международная техническая конференция по открытой СУБД PostgreSQL, ежегодно собирающая более 700 разработчиков, администраторов баз данных и IT-менеджеров для обмена опытом и профессионального общения. Для участников сообщества infostart.ru скидка 5% на участие в конференции.

от 12350 рублей

1С и компьютерное зрение: новый подход к контролю за ассортиментом магазина

Статья Бизнес-аналитик Нет файла v8 1С:Франчайзи, автоматизация бизнеса УУ Розничная торговля Бесплатно (free) Внешние источники данных

Машинное зрение в магазинах и 1С. Как поднять эффективность торгового предприятия (магазин. кафе, шоурум и т.д.) с совершенно неожиданной стороны? Как получить реальные демографические данные покупателей и, самое главное, как это использовать в повседневной работе магазина? Как можно расширить привычные ABC и XYZ анализ, добавив в них пласт данных о трафике и демографии покупателей? Что необходимо для 1С, чтобы использовать данные видеоанализа людского трафика?

20.06.2019    5488    osipov_cvizi    16       

MS Access и 1С. Что, когда и зачем?

Статья Программист Бизнес-аналитик Нет файла v8 Бесплатно (free) Практика программирования Внешние источники данных Разработка

Об использовании MS Access в связке с 1С. Можно ли использовать продукты Office на сервере. Когда Access может быть полезен. Примеры работы и другое.

09.04.2019    19664    YPermitin    32       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

RabbitMQ + Конвертация Данных 3.0

Статья Системный администратор Программист Бизнес-аналитик Руководитель проекта Нет файла v8 КД Бесплатно (free) Внешние источники данных Обмен через XML Интеграция Перенос данных из 1C8 в 1C8

Предлагаем ознакомиться с хронологией проекта, проследить ход мыслей от снятия потребностей до реализации, и решить, удалось ли проектной команде найти оптимальное архитектурное решение под конкретный кейс заказчика путем совмещения двух известных, но до сих пор не пересекавшихся технологий, и получилось ли сложить плюсы и устранить минусы каждой из них.

21.03.2019    17166    barelpro    82       

Загрузка ЭЛН (электронных листов нетрудоспособности) из файлов

Статья Системный администратор Программист Нет файла v8 УПП1 Россия БУ Зарплата ФОМС, ПФ, ФСС Бесплатно (free) Внешние источники данных

Что делать, если по каким-то причинам нет возможности разместить 1С и Крипто-Про на одном рабочем месте? Правильно - открывать конфигуратор и пилить. Благо, там не сложно. Непосредственно решение для УПП 1.3. Для ЗиК 2.5 и Комплексной автоматизации должно быть аналогично.

07.02.2019    3700    SatanClaws    4       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

Работа с кассой Atol через веб-сервер ДТО-10

Статья Программист Нет файла v8 Россия Кассовые операции НДС Бесплатно (free) Внешние источники данных ККМ Фискальный регистратор

Поддержка многопользовательской печати на одном устройстве ККТ. Поддержка изменений в законодательстве (Переход на ФФД 1.05 и НДС 20%).

31.12.2018    22426    medangel    40       

RabbitMQ, Python и Windows. Step By Step

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Внешние источники данных

Работа с шиной RabbitMQ, используя Python на Windows. Пошаговый быстрый старт.

13.12.2018    6282    w.r.    7       

Базовый курс по управлению ИТ-проектами. Курс проходит с 26 февраля по 22 апреля 2020 года. Промо

Отличительная черта курса - органичное сочетание трех вещей: 1.Теория проектного управления (PMI®+Agile Alliance+Российские ГОСТ+Методологии от 1С); 2. Опыт внедрения продуктов 1С (опыт франчайзи и успешных компаний + тренды Infostart Event и Agile Days); 3. Разбор реальных проблем и рекомендации экспертов по проектам слушателей. Мы будем фиксироваться на тех инструментах, которые реально оказываются полезными в практике руководителей проектов внедрения. Ведущая курса - Мария Темчина.

от 11000 рублей

Из 1С в IIKO: Передаем перемещения УТ в приходные накладные

Статья Программист Нет файла v8 УТ11 Рестораны, кафе и фаст-фуд УУ Оптовая торговля Бесплатно (free) Внешние источники данных

Рассмотрение вариантов передачи документа "Перемещение товаров" из Управление торговлей 11 в документ "Приходная накладная" IIKO.

12.09.2018    5540    oyti    7       

IIKO (Айко). Обмениваемся накладными с 1С

Статья Программист Нет файла v8 БП3.0 Рестораны, кафе и фаст-фуд БУ УУ Бесплатно (free) Внешние источники данных

Типовое решение от компании Айко по передаче данных в 1С Бухгалтерию не всегда удовлетворяет реалиям бизнес-процессов организации. Попробуем поразмышлять о том, как реализовать двунаправленный обмен с Айко в фоне.

01.06.2018    11106    oyti    13       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.

7500 рублей

Управление ИТ-проектами. Модуль 2: продвинутый онлайн-курс по классическим методам управления проектами. Вебинары проходят с 12 марта по 11 июня 2020 года. Промо

Продвинутый онлайн-курс по классическому управлению ИТ-проектами позволит слушателям освоить инструменты из PMBoK® и 1С:Технологии корпоративного внедрения и научиться их применять для проектов любого масштаба. Курс включает в себя 12 вебинаров и 12 видеолекции, разбор кейсов и рекомендации экспертов по проектам слушателей. Ведущая курса - Мария Темчина.

от 13000 рублей

Интеграция Zimbra и 1С

Статья Программист Нет файла v8 Россия УУ Управление взаимоотношениями с клиентами (СRM) Бесплатно (free) Внешние источники данных

В публикации описывается способ интеграции 1С с почтовым сервером Zimbra, используя SOAP сервис. Рассматривать вопрос интеграции будем на примере бизнес задачи, из блока CRM. Реализации общей адресной книги(GAL-Global Address List) между сотрудниками. Сотрудники(компания) ведет весь учет в 1С, в том числе и элементы CRM, а Zimbra выступает лишь в роли почтового сервиса. Сделать данную публикация побудило отсутствие в интернете готовых примеров совместной работы 1С и Zimbra. Надеюсь, она поможет кому-либо сократить время на реализацию похожей задачи.

16.04.2018    9030    Гексагон    17       

Обмен сведениями о пособиях с ФСС для Зарплата и Управление персоналом 2.5.129.3

Статья Программист Нет файла v8 v8::СПР ЗУП2.5 Россия БУ Зарплата ФОМС, ПФ, ФСС Бесплатно (free) Внешние источники данных

Ошибка отправки файла при обмене сведениями о пособиях с ФСС. Зарплата и Управление Персоналом, редакция 2.5 (2.5.129.3).

06.03.2018    15997    Igorexa    30       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Загрузка данных из DocsVision

Статья Программист Нет файла v8 Бесплатно (free) Внешние источники данных

Необходимо было реализовать загрузку данных из программы документооборота "DocsVision 5" в "1С:Документооборот 8". Данное описание оставляю больше для себя, чтобы не забыть, ну и, может, еще кому поможет, т.к. не нашел нигде нормального описания.

17.01.2018    7444    apxi    2       

Создание мобильного клиента 1С на Android с использованием HTTP-сервисов

Статья Программист Нет файла v8 v8::Mobile Android Бесплатно (free) Внешние источники данных Мобильная разработка

Краткий курс по созданию мобильного приложения на Android, который связывается с сервером 1С через HTTP-сервис. Публикация рассчитана на тех, кто хорошо знаком с программированием на платформе 1С и владеет основами программирования на платформе Android (умеет создавать Activity и знает, как устроена структура проекта).

03.11.2017    29241    cdiamond    15       

Онлайн-курс «Практические аспекты внедрения регламентированного учета и расчета себестоимости в 1С:ERP на крупных промышленных предприятиях» с 17 февраля по 13 марта 2020 года. Промо

Курс рассчитан для подготовки экспертов по регламентированному учету и учету затрат для внедрения на крупных промышленных предприятиях с «исторически сложившимся» учетом

9000 рублей

Как сделать конфигурацию «1С:Предприятие 8» приложением QuickBooks. Проходим авторизацию OAuth 1.0a+OpenID 2.0

Статья Программист Нет файла v8 Бесплатно (free) Внешние источники данных Практика программирования

Пришло время, когда интеграция со сторонними организациями и их приложениями стала необходимостью для успешного ведения бизнеса. В этой статье будет рассмотрено прохождение авторизации OAuth 1.0a+OpenID 2.0 и превращение конфигурации «1С:Предприятие 8» в приложение QuickBooks.

10.09.2017    18620    pbazeliuk    28       

Редактирование пользовательских полей в Битрикс24 через REST API

Статья Системный администратор Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Внешние источники данных

Меняем значения пользовательских полей в Битрикс24 через REST API на примере редактирования контактов

06.02.2017    12950    user662672_explorer2000    2       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.130.х, КА 2.4.11.х и ERP 2.4.11.х! Промо

Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.

29700 руб.

Нагрузочное тестирование сервера 1С при использовании WEB сервисов

Статья Системный администратор Программист Нет файла v8 ИТ-компания Бесплатно (free) Производительность и оптимизация (HighLoad) Внешние источники данных WEB

Проведение нагрузочного тестирования WEB-сервисов, развернутых на платформе 1С. Целью тестирования является ознакомление с возможностями платформы 1С при работе с большим количеством запросов через опубликованные WEB сервисы на IIS 7.5

01.02.2017    24676    BraunAlex    34       

Передаем контакты из 1С в Битрикс24 через REST API

Статья Программист Нет файла v8 УТ11 Россия Бесплатно (free) Внешние источники данных

Хочу поделиться опытом использования Битрикс24 REST API для экспорта контактов из 1С УТ 11

09.01.2017    46894    user662672_explorer2000    111       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Используем механизмы обмена данными БСП для произвольного обмена

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции Внешние источники данных БСП (Библиотека стандартных подсистем)

Механизм БСП заточен на обмен XML по правилам обмена. Чтобы использовать его для любого другого обмена, коих в мире немало, требуются доработки. В статье описан вариант, как из положения выйти.

23.08.2016    29923    Патриот    22       

Технология проведения миграции данных в крупных проектах

Статья Программист Нет файла v8 Windows Бесплатно (free) Внешние источники данных Перенос данных из 1C8 в 1C8

В статье систематизируется проектный опыт проведения миграции данных в крупных проектах, связанных с переходом Заказчиков на работу в конфигурациях «1С:Предприятие 8».

17.05.2016    29028    cinimex    26