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

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

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

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

107
"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. так как обработка грубо говоря состоит из одной процедуры, выкладывать ее сюда не вижу смысла.

107

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

Комментарии
Избранное Подписка Сортировка: Древо
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 689 24.04.19 16:55 Сейчас в теме
(3) Не просто развернуть!
Превратить в собственный бесплатный провайдер EDI.
7. TODD22 18 24.04.19 18:03 Сейчас в теме
(6)
Превратить в собственный бесплатный провайдер EDI.

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

А вообще тут рядом живут две полезные статьи: "Что такое обмен сообщениями" и Хорошое описание масштабной интеграции через RabbitMQ
juliia1992; barelpro; +2 Ответить
4. Senator_I 11 24.04.19 15:07 Сейчас в теме
Я читал, как на основании таких запросов получали моментально данные по чекам (только на кассе закрывался чек, тут же летел в RabbitMQ, а оттуда уже в 1С, в итоге продажи приходили в Центр практически онлайн, причем через самое плохое интернет-подключение и без УРБД.
Evil Beaver; maxopik2; MaZaHacKa_13; Eret1k; +4 Ответить
8. Infactum 283 24.04.19 19:50 Сейчас в теме
(4) Думаю вот статья, которую вы читали.
Evil Beaver; Eret1k; +2 Ответить
18. Senator_I 11 25.04.19 08:27 Сейчас в теме
34. Evil Beaver 6405 08.08.19 17:50 Сейчас в теме
(18) О, дык это ж я писал :)
Senator_I; +1 Ответить
38. Senator_I 11 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. Идальго 124 24.04.19 23:36 Сейчас в теме
(11) Погодите, ведь тут речь о системе, которая, как я опять же понял, обеспечивает гарантированную доставку с использованием специального механизма очереди. Хм, ну в таком случае можно через rest, grpс, наконец сокеты передавать в некий сервак(т.н. брокер) сообщения. Там они ставятся в стековую очередь, сервак выдает квитанцию что типа получил и зарегал сообщение (все это в рамках одной транзакции). Ну и всё, а далее сервак примерно таким же макаром передает сообщение приемнику, а тот подтвержает через аналогичный механизм подтверждения доставки. Теперь брокер может считать это сообщение доставленным. Как-то так. И тут не нужно никаких com или ВК))) Хотя для сокетов всеж потребуется.
17. Labotamy 25.04.19 08:22 Сейчас в теме
(12)Речь о добавлении поддержки протокола amqp в платформу.
13. comol 4141 25.04.19 00:35 Сейчас в теме
Получение сообщений из очереди путём регулярного опроса RabbitMQ с заданным интервалом... хм... В случае такой "Архитектуры" точно нужен RabbitMQ? Ну и как бы COMSafeArray... ну нельзя так :(
GreenDragon; +1 Ответить
35. Evil Beaver 6405 08.08.19 17:52 Сейчас в теме
(13) Где ком, там и safearray, чего удивительного. Бяка? Бяка. Зато бесплатно и без этих ваших сиплюсплюсов. (Про добавленный гемор с RegAsm умолчим, к тому же Labotamy все сказал выше)
14. d.zhukov 532 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 6405 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 689 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 689 05.06.19 12:45 Сейчас в теме
(22)номер порта очень странный у вас.
С чего вы вообще взяли эти цифры?
24. dracoola 05.06.19 12:58 Сейчас в теме
25. dracoola 05.06.19 12:59 Сейчас в теме
Может что то неправильно настроила изначально . Такие настройки в облачном кролике
26. Eret1k 689 05.06.19 13:39 Сейчас в теме
(25) попробуйте порт по умолчанию 5 672
juliia1992; dracoola; +2 Ответить
27. Eret1k 689 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 689 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 689 20.06.19 16:14 Сейчас в теме
(31)странно
Есть в сети утилита показывающая все зарегистрированные библиотеки RegDllView Ссылка
Проверьте зарегистрировался ли тип: RabbitMQ.client или что-то на подобие того.
33. juliia1992 21.06.19 09:36 Сейчас в теме
(32) Спасибо, библиотека зарегистрирована.
Прикрепленные файлы:
37. Evil Beaver 6405 08.08.19 17:54 Сейчас в теме
(33) А теперь не забывайте повторять на каждом сервере 1С и в случае переездов с машины на машину. :)
39. GreenDragon 14.08.19 16:00 Сейчас в теме
40. 2dnk 26.09.19 16:02 Сейчас в теме
Коллеги, Дмитрий, приветствую!
Благодаря Вашему примеру смогли подключиться к Раббиту. Создали в нем очередь. А дальше просьба пояснить, чему должны быть равны параметры "ИмяМаршрута" и "ИмяОбмена". Я не нашел таких переменных в Раббит.

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

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

Заранее благодарен за помощь!
42. Eret1k 689 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) Спасибо за информацию!
Оставьте свое сообщение

См. также

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

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

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

21.10.2019    4971    Eret1k    12       

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

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

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

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

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

28.08.2019    2995    user1114182    4       

Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо

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

19700 руб.

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

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

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

02.07.2019    2874    EvgenSav    17       

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

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

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

20.06.2019    4840    osipov_cvizi    16       

Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо

Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.

29700 руб.

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

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

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

09.04.2019    18093    YPermitin    31       

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

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

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

21.03.2019    15672    barelpro    82       

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо

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

29700 руб.

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

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

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

07.02.2019    3216    SatanClaws    4       

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

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

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

31.12.2018    20259    medangel    36       

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

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

29700 руб.

RabbitMQ, Python и Windows. Step By Step 36

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

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

13.12.2018    5818    w.r.    7       

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

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

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

12.09.2018    5079    oyti    7       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

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

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

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

01.06.2018    10478    oyti    13       

Перенос данных БП 2.0 => УТ 11 / КА 2 / ERP 2 (перенос остатков, документов и справочников из "1С:Бухгалтерия предприятия 8", ред. 2.0 в "1С:Управление торговлей 8", ред.11 / КА 2 / ERP 2). Обновлено до УТ 11.4.10.х, КА 2.4.10.х, ERP 2.4.10.х! Промо

Перенос позволяет загрузить в УТ 11 / КА 2 / ERP 2 документы за выбранный период, справочную информацию и остатки по счетам бух. учета. Переносятся остатки денежных средств, взаиморасчетов, остатки товаров и материалов на складах. Переносятся девятнадцать основных видов документов за выбранный период и вся нормативно-справочная информация. Есть фильтр по организации. Если нужно переносить что-то дополнительно, то обычно бесплатно дорабатываю правила (перед покупкой согласуйте необходимые доработки).

29700 руб.

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

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

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

16.04.2018    8424    Гексагон    17       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

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

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

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

06.03.2018    15504    Igorexa    30       

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

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

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

17.01.2018    7058    apxi    0       

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

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

24700 руб.

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

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

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

03.11.2017    28311    cdiamond    15       

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

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

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

10.09.2017    18118    pbazeliuk    28       

Новогодние скидки на авторское ПО Промо

В преддверии праздника в Маркетплейсе на Инфостарт действует скидка на все платные авторские программы. Размер скидок начинается от 10%. Советуем не откладывать покупки, многие наши партнеры повышают цены на свои продукты именно в начале нового года.

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

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

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

06.02.2017    12460    user662672_explorer2000    2       

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

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

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

01.02.2017    24048    BraunAlex    34       

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

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

7500 рублей

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

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

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

09.01.2017    45288    user662672_explorer2000    111       

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

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

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

23.08.2016    29158    Патриот    22       

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

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

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

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

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

17.05.2016    28199    cinimex    26       

7 причин, почему интеграцию необходимо строить на очередях. Практика RabbitMQ. Отказ от Zato ESB и OData в 1С 167

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

Этот набросок является продолжение предыдущей статьи "7 причин, почему интеграция стала приятной. Не упускайте ряд потрясающих возможностей". В большей части это описание боли, через которую пришлось пройти на практике, используя сервисную шину данных Zato ESB и OData протокол совместно с «1С:Предприятие 8».

18.03.2016    57665    pbazeliuk    125