Подписка на события, преобразование объекта в JSONAPI, отправка в RabbitMQ

Публикация № 790597 26.02.18

Интеграция - Внешние источники данных

JSON JSONAPI RabbitMQ MQ AMQP подписка на события событийно-ориентированная архитектура EDA SOA

Обработка содержит функции: - сериализация объекта 1с в JSONAPI - отправка в RabbitMQ по HTTP

JSONAPI - соглашение об обмене данными о ресурсах в формате JSON.

RabbitMQ - брокер сообщений реализующий протокол AMQP, который имеет менеджмент плагин, позволяющий отправлять сообщения по протоколу HTTP.

Для целей подписки на события "При изменении" в любом справочнике(или документе) можно создать соответствующую подписку в конфигураторе 1с, причем одну на все типы объектов справочников и документов. JSONAPI позволяет указывать тип объекта и легко десериализовать на многих языках программирования.

// Создает exchange имя которого равно строке соединения с базой 1с
Функция PutExchange(Соединение, Заголовки, обработкаJSONAPI, VirtualHost = "")
	exchange= СтрокаСоединенияИнформационнойБазы();
	vhost= ?(VirtualHost="", "%2f", VirtualHost);
	Запрос = Новый HTTPЗапрос("/api/exchanges/"+vhost+"/"+exchange, Заголовки);
	телоСтрока = обработкаJSONAPI.JSON(new Структура("type", "topic"));
	Запрос.УстановитьТелоИзСтроки(телоСтрока, "CESU-8");
	Соединение.Записать(Запрос, "c:\shared\rmq1c-http-response.txt");
	возврат Запрос.АдресРесурса + Символы.ВК + телоСтрока;
КонецФункции

//отправляет ссылку в формате JSONAPI в exchange имя которого равно строке соединения с базой 1с
//routing key равен полному имени типа ссылки
Функция ОтправитьJSONAPIвRMQ(ссылка, обработкаJSONAPI, VirtualHost = "")
	Попытка
		Соединение = Новый HTTPСоединение("rmq.local", 15672);
	Исключение
		//Сообщить("Не удалось установить соединение с сервером онлайн-проверки:" 
		//+ Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
		Возврат ИнформацияОбОшибке().Описание;
	КонецПопытки;
	Заголовки = Новый Map();
	Заголовки.Вставить("authorization", "Basic Ym90MWM6Ym90MWM=");  
	Заголовки.Вставить("Content-Type", "application/json");
	PutExchange(Соединение, Заголовки, обработкаJSONAPI, VirtualHost);
	exchange= СтрокаСоединенияИнформационнойБазы();
	vhost= ?(VirtualHost="", "%2f", VirtualHost);
	Запрос = Новый HTTPЗапрос("/api/exchanges/"+vhost+"/"+exchange+"/publish", Заголовки);
	payloadJSON = обработкаJSONAPI.j_Экранировать(обработкаJSONAPI.JSONAPI(ссылка));
	телоСтруктура = new Структура();
	телоСтруктура.Вставить("properties",new Структура());
	телоСтруктура.Вставить("routing_key", ссылка.Метаданные().ПолноеИмя());
	телоСтруктура.Вставить("payload",payloadJSON);
	телоСтруктура.Вставить("payload_encoding","string");
	телоСтрока = обработкаJSONAPI.JSON(телоСтруктура);
	Запрос.УстановитьТелоИзСтроки(телоСтрока, "CESU-8");
	Соединение.ОтправитьДляОбработки(Запрос, "c:\shared\rmq1c-http-response.txt");
	возврат Запрос.АдресРесурса + Символы.ВК + телоСтрока;
КонецФункции

//отправка ссылки, с указанием обработки JSONAPI, в которой находится функция сериализации в JSONAPI
Процедура ОтправитьВОчередь(Ссылка) Экспорт
	ОтправитьJSONAPIвRMQ(Ссылка, Обработки.JSONAPI.Создать());
КонецПроцедуры

//отправляем в фоновом режиме, чтобы не тормозить процессы
Процедура ПриЗаписиСправочникаПриЗаписи(Источник, Отказ) Экспорт
	Параметры = Новый Массив;
	Параметры.Добавить(Источник.ссылка);
	ФоновыеЗадания.Выполнить("RMQ.ОтправитьВОчередь", 
		Параметры, Новый УникальныйИдентификатор, "Пример асинхронной концепции программирования");
	//ОтправитьВОчередь(Источник);	
КонецПроцедуры

В веб интерфейсе RabbitMQ указываем в какой очереди и по каким routing key (типы объектов) мы хотим получать сообщения с данными.

Недостаток: событие "при записи" происходит перед транзакцией БД, а не после, поэтому если транзакция не пройдет, то событие "запись" отправленное куда либо, будет фальшивым.

протестировано на 1С:Предприятие 8.2 (8.2.19.130)

Перем j_СоответствиеТиповИИмен;
Перем j_Сч;

// Служебная функция из арсенала 1С. Название говорит само за себя 
Функция j_ОпределитьПоСсылкеИмяТипа(СсылкаНаОбъект) Экспорт
	
	Если СсылкаНаОбъект = Неопределено Тогда
		Возврат "";
	КонецЕсли;
	
	ТипОбъекта = ТипЗнч(СсылкаНаОбъект);
	
	j_СоответствиеТиповИИмен = Новый Соответствие();
	СтрокаСоответствия = j_СоответствиеТиповИИмен.Получить(ТипОбъекта);
	
	Если СтрокаСоответствия = Неопределено Тогда 
		
		МетаданныеСсылки = СсылкаНаОбъект.Метаданные();
		
		Если Метаданные.Справочники.Содержит(МетаданныеСсылки) Тогда
			
			ИмяТипа = "СправочникСсылка";
			
		ИначеЕсли Метаданные.Документы.Содержит(МетаданныеСсылки) Тогда
			
			ИмяТипа = "ДокументСсылка";
			
		ИначеЕсли Метаданные.ПланыВидовХарактеристик.Содержит(МетаданныеСсылки) Тогда
			
			ИмяТипа = "ПланВидовХарактеристикСсылка";
			
		ИначеЕсли Метаданные.ПланыСчетов.Содержит(МетаданныеСсылки) Тогда
			
			ИмяТипа = "ПланСчетовСсылка";
			
		ИначеЕсли Метаданные.ПланыВидовРасчета.Содержит(МетаданныеСсылки) Тогда
			
			ИмяТипа = "ПланВидовРасчетаСсылка";
			
		ИначеЕсли Метаданные.ПланыОбмена.Содержит(МетаданныеСсылки) Тогда
			
			ИмяТипа = "ПланОбменаСсылка";
			
		ИначеЕсли Метаданные.Задачи.Содержит(МетаданныеСсылки) Тогда
			
			ИмяТипа = "ЗадачаСсылка";
			
		ИначеЕсли Метаданные.Перечисления.Содержит(МетаданныеСсылки) Тогда
			
			ИмяТипа = "ПеречислениеСсылка";
			
		ИначеЕсли Метаданные.БизнесПроцессы.Содержит(МетаданныеСсылки) Тогда
			
			ИмяТипа = "БизнесПроцессСсылка";
			
		Иначе
			
			ИмяТипа = "";
			
		КонецЕсли;
		
		j_СоответствиеТиповИИмен.Вставить(ТипОбъекта, ИмяТипа);
		
		Возврат ИмяТипа;
	
	КонецЕсли;
	
	Возврат СтрокаСоответствия;
	
КонецФункции

// Служебная функция из арсенала 1С. Название говорит само за себя 
Функция j_ОпределитьПоСсылкеПредставление(СсылкаНаОбъект) Экспорт
	
	Если СсылкаНаОбъект = Неопределено Тогда
		Возврат "";
	КонецЕсли;
	
	МетаданныеСсылки = СсылкаНаОбъект.Метаданные();
	ИмяТипа = j_ОпределитьПоСсылкеИмяТипа(СсылкаНаОбъект) + "." + МетаданныеСсылки.Имя;
	Возврат ИмяТипа;
	
КонецФункции

// Экранирует спецсимвоы в строке
Функция j_Экранировать(Знач Строка) Экспорт
	Строка = СтрЗаменить(Строка, "\", "\\");
    Строка = СтрЗаменить(Строка,Символы.ПС,"\n");
    Строка = СтрЗаменить(Строка,Символы.ВК,"\r"); 
	Строка = СтрЗаменить(Строка,Символы.Таб,"\t");
	Строка = СтрЗаменить(Строка,"""","\""");
	//Строка = СтрЗаменить(Строка,"'","\'");
	//Строка = СтрЗаменить(Строка, "\", "\\");
    Возврат Строка
КонецФункции

Функция JSON(Значение, Форматировать = Истина, Отступ  = "") Экспорт
	
	JSONРазделСтрок = Символы.ВК + Символы.ПС; 
	Разделитель	= "";
    ТипЗн = ТипЗнч(Значение);
	Отступ = ?(Форматировать, Отступ, "");
	
	// Строка
	Если ТипЗн = Тип("Строка") Тогда
        Стр = """" + j_Экранировать(Значение) + """"

	// Число или Булево
    ИначеЕсли ТипЗн = Тип("Число") ИЛИ ТипЗнч(Значение) = Тип("Булево") Тогда
        Стр = XMLСтрока(Значение)

	// Дата	
    ИначеЕсли ТипЗн = Тип("Дата") Тогда
        Стр = """" + ?(ЗначениеЗаполнено(Значение),XMLСтрока(Значение),"") + """"

	// Структура Данных Рекурсивно	
	ИначеЕсли ТипЗн = Тип("Структура") Тогда
        Стр = JSONРазделСтрок + Отступ + "{";
        Для Каждого Параметр Из Значение Цикл
            Стр = Стр + Разделитель + JSONРазделСтрок + Отступ + """" + Параметр.Ключ + """:" + JSON(Параметр.Значение, Форматировать, Отступ + Символы.Таб);
			Разделитель = ","
        КонецЦикла;
        Стр = Стр + JSONРазделСтрок + Отступ + "}";
		
	// Массив Рекурсивно
    ИначеЕсли ТипЗн = Тип("Массив") Тогда
        Стр = Отступ + "[";
		Для Каждого Элемент Из Значение Цикл
            Стр = Стр + Разделитель + JSONРазделСтрок + Отступ + JSON(Элемент, Форматировать, Отступ + Символы.Таб);
            Разделитель = ","
        КонецЦикла;
        Стр = Стр + JSONРазделСтрок + Отступ + "]";

	// Таблица Значеий как массив структур Рекурсивно	
	ИначеЕсли ТипЗн = Тип("ТаблицаЗначений") Тогда
        Колонки = Значение.Колонки;
        Массив = Новый Массив;
        Для Каждого СтрокаТЗ Из Значение Цикл
            Структура = Новый Структура;
            Для Каждого Колонка Из Колонки Цикл
                Структура.Вставить(Колонка.Имя,СтрокаТЗ[Колонка.Имя])
            КонецЦикла;
            Массив.Добавить(Структура);
        КонецЦикла;
        Стр = JSON(Массив, Форматировать, Отступ)

	// Ссылка на объект
	ИначеЕсли Найти(Строка(ТипЗн), "ссылка") >0 Тогда
		Структура = Новый Структура;
		
		ИмяТипа = j_ОпределитьПоСсылкеИмяТипа(Значение);                
		
		Если Не Значение.Пустая()  Тогда
			Если ИмяТипа = "СправочникСсылка" Тогда
				Структура.Вставить("UUID",XMLСтрока(Значение));
			ИначеЕсли ИмяТипа = "ДокументСсылка" Тогда
				Структура.Вставить("UUID",XMLСтрока(Значение));
				Структура.Вставить("НомерДокумента",Значение.Номер);
				Структура.Вставить("ДатаДокумента",Значение.Дата);
			КонецЕсли;
			Структура.Вставить("ТипОбъекта",j_ОпределитьПоСсылкеПредставление(Значение));
			Структура.Вставить("Представление",j_Экранировать(Значение));
		Иначе
			Структура.Вставить("ТипОбъекта",j_ОпределитьПоСсылкеПредставление(Значение));
			Структура.Вставить("Представление",Неопределено);
		КонецЕсли;
		Стр = Отступ + JSON(Структура, Форматировать, Отступ + Символы.Таб);
		
	// Коллекция Объектов - Не сериализуется
	ИначеЕсли Найти(Строка(ТипЗн), "менеджер") >0 Тогда
		Структура = Новый Структура;
		Структура.Вставить("ТипОбъекта",j_Экранировать(Значение));
		Стр = Отступ + JSON(Структура, Форматировать, Отступ + Символы.Таб);		
		
	// Неопределенка
    ИначеЕсли не значениеЗаполнено(Значение) Тогда
        Стр = "null"
		
	// Все остальное не сериализуется
	Иначе
		//Стр = "null" + j_Экранировать(Значение);
		data = Новый Структура;
		data.Вставить("type", Значение.Метаданные().ПолноеИмя());
		попытка
			data.Вставить("id",строка(Значение.ссылка.УникальныйИдентификатор()));
		исключение
			data.Вставить("id",j_Экранировать(Значение));
		конецпопытки;
		Структура = Новый Структура;
		Структура.Вставить("data", data);
		Стр = Отступ + JSON(Структура, Форматировать, Отступ + Символы.Таб);		
    КонецЕсли;

    Возврат Стр
КонецФункции

Процедура ДобавитьВСтруктуру(Имя, Значение, attributes, relationships)
	ТипЗн = ТипЗнч(Значение);
	Если не значениеЗаполнено(Значение)Тогда
	ИначеЕсли ТипЗн = Тип("Строка") или ТипЗн = Тип("Число") ИЛИ ТипЗнч(Значение) = Тип("Булево") или ТипЗн = Тип("Дата")
		или ТипЗн = Тип("Структура") 
		//или ТипЗн = Тип("Массив") или ТипЗн = Тип("ТаблицаЗначений")
		Тогда
		attributes.Вставить(Имя, Значение);
	иначе
		relationships.Вставить(Имя, Значение);
	Конецесли;
КонецПроцедуры

Функция JSONAPI(Ссылка)Экспорт
	Ссылка = Ссылка.ссылка;
	data = Новый Структура();  
	//Объект = справочники.Контрагенты.найтипокоду("000000001").ПолучитьОбъект();
	//Объект.Метаданные().ПолноеИмя()
	МД = ссылка.Метаданные();
	ПолноеИмяТипа = МД.ПолноеИмя();
	data.Вставить("type", ПолноеИмяТипа);
	data.Вставить("id", Строка(Ссылка.УникальныйИдентификатор()));
	attributes = Новый Структура;
	relationships = Новый Структура;
	included = Новый Массив;
	Для каждого Реквизит из МД.СтандартныеРеквизиты Цикл
		ДобавитьВСтруктуру(Реквизит.Имя, Ссылка[Реквизит.Имя], attributes, relationships);
	КонецЦикла;     
	Для каждого Реквизит из МД.Реквизиты Цикл
		ДобавитьВСтруктуру(Реквизит.Имя, Ссылка[Реквизит.Имя], attributes, relationships);
	КонецЦикла;     
	Для каждого ТабличнаяЧасть из МД.ТабличныеЧасти Цикл
		Значение = Ссылка[ТабличнаяЧасть.Имя].Выгрузить();
		Колонки = Значение.Колонки;
		Массив = Новый Массив;
		Для Каждого СтрокаТЗ Из Значение Цикл
			attributes1 = Новый Структура();
			relationships1 = Новый Структура();
			Для Каждого Колонка Из Колонки Цикл
				ДобавитьВСтруктуру(Колонка.Имя, СтрокаТЗ[Колонка.Имя], attributes1, relationships1);
			КонецЦикла;
			type = ПолноеИмяТипа + "." + ТабличнаяЧасть.Имя;
			id = Строка(Ссылка.УникальныйИдентификатор()) + "-" + СтрокаТЗ.НомерСтроки;
			item1 = Новый Структура("type,id", type, id);
			Массив.Добавить(item1);
			item = Новый Структура("type,id", type, id);
			item.Вставить("attributes", attributes1);
			item.Вставить("relationships", relationships1);
			included.Добавить(item);
		КонецЦикла;
		relationships.Вставить(ТабличнаяЧасть.Имя, Новый Структура("data", Массив));
	КонецЦикла;
	Если attributes.Количество()>0 тогда 
		data.Вставить("attributes", attributes);
	КонецЕсли;
	Если relationships.Количество()>0 тогда 
		data.Вставить("relationships", relationships);
	КонецЕсли;
	Если included.Количество()>0 тогда 
		data.Вставить("included", included);
	КонецЕсли;
	Структура = Новый Структура("data", data);
	возврат JSON(Структура);
КонецФункции

 

Скачать файлы

Наименование Файл Версия Размер
Преобразование объекта в JSONAPI

.epf 11,77Kb
25
.epf 11,77Kb 25 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. nomadon 359 07.05.18 19:35 Сейчас в теме
Спасибо за возможность копипаста)
HAMAZ; vsozansky; VVi3ard; maxopik2; Irwin; +5 Ответить
2. vis_tmp 31 25.04.20 14:07 Сейчас в теме
Никак не могу найти, есть ли возможность для 7.7 использовать Rabbit MQ ?
3. user1383227 18.05.20 22:00 Сейчас в теме
4. akR00b 21 26.10.20 13:30 Сейчас в теме
Добрый день, а как реализован процесс оповещения получателя? т.е н-ое количество раз опрашиваем кролика на сообщения на стороне базы приемника?
5. yaxinr 57 07.12.20 23:32 Сейчас в теме
(4)получатель должен создать сам очередь и связать еще с exchange, и забирать из этой очереди сообщения подписавшись на эту очередь.
6. CrazyHands 37 06.07.21 19:20 Сейчас в теме
(5) А что означает "подписавшись"? Это ведь по сути рег. задание, которое опрашивает кролика?
7. yaxinr 57 09.07.21 14:38 Сейчас в теме
(6)в данной статье описан способ отправки в Раббит, как забирать из Раббита решать вам. Можно периодически опрашивать, можно постоянную службу-сервис держать работе.
Оставьте свое сообщение

См. также

Перенос данных из Парус 8 в ЗГУ ред.3

Зарплата Внешние источники данных Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 8 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

84000 руб.

19.08.2020    18306    13    0    

15

Перенос данных из Парус 10 в ЗГУ ред.3

Зарплата Внешние источники данных Кадровый учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    6050    3    8    

5

Автоматическая многопоточная выгрузка данных 1С 8.3 в БД Clickhouse (для работы с данными 1С в BI-системах)

Внешние источники данных Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование Конфигурации 1cv8 Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматизированной выгрузки данных из 1С 8.3 в базу данных ClickHouse для работы с данными 1С в Yandex Datalens, Apache Superset (и не только) - "Экстрактор данных 1С в BI". Решение отлично работает со всеми типовыми (и не только) конфигурациями 1С 8.3 для управляемых форм. Gозволяет автоматизировать работу бизнес-аналитика по ежедневной выгрузке данных из 1С в БД ClickHouse для последующей работы с этой БД в Yandex Datalens/ Система полностью автоматизирует работу с хранилищем данных в БД Clickhouse. Не надо быть программистом, чтобы одной кнопкой получать любые данные из 1С в Yandex Datalens

84000 руб.

15.11.2022    7017    4    23    

13

Перенос данных из Парус 10 (Торнадо) в ЗГУ ред.3 через Excel

Внешние источники данных Загрузка и выгрузка в Excel Зарплата Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате из Парус 10(Торнадо) учреждений через файлы Excel в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ). В принципе, обработка может быть использована для загрузки из файлов Excel, полученных из любых информационных систем.

24000 руб.

16.11.2018    27315    16    29    

17

Перенос начальных остатков из Парус 7.71 в БГУ

Внешние источники данных Взаиморасчеты Учет ОС и НМА Учет ТМЦ Бюджетный учет Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия государственного учреждения Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Перенос словарей и начальных остатков из ПП Парус-Бухгалтерия Бюджет 7.71 в 1Сv8 БГУ2. Заполнение словарей и документов по вводу начальных остатков. Не требуется установка ПП Парус7. Возможна дозагрузка. Внешняя обработка с открытым кодом.

9000 руб.

08.12.2011    77341    116    120    

137

Перенос данных из Парус 7.хх в ЗГУ ред.3

Внешние источники данных Зарплата Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 7.хх учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

24000 руб.

24.04.2017    44612    88    147    

80

Загрузка ресурсных спецификаций из файла Excel (ERP)

Обработка документов Загрузка и выгрузка в Excel Производство готовой продукции (работ, услуг) Внешние источники данных Платформа 1С v8.3 Управляемые формы 1С:ERP Управление предприятием 2 Бухгалтерский учет Управленческий учет Платные (руб)

Обработка «Загрузка ресурсных спецификаций из файла Excel, сформированного в САПР (ERP)» не требует изменений в конфигурации. Тестировалась на 1С:ERP Управление предприятием 2 (2.4.1.248)

36000 руб.

09.01.2018    35491    79    22    

21

Загрузка данных из F3 TAIL 3 (еФарма 2) в 1С: Бухгалтерия 3.0 (базовая, ПРОФ, КОРП)

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Бухгалтерский учет 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Платные (руб)

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (базовая, ПРОФ, КОРП).

13200 руб.

19.12.2016    41148    76    101    

62

Обмен с СУФД (Федеральным казначейством) для Бухгалтерии предприятия 3.0

Внешние источники данных Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Комплект обработок для обмена СУФД и Бухгалтерии 3.0. Содержит две обработки: для переноса платежных поручений из БП 3.0 в СУФД Федерального казначейства и загрузки выписок из СУФД в БП 3.0.

2400 руб.

30.03.2023    3902    5    0    

9

Загрузка спецификаций в УНФ из системы Базис-мебельщик

Производство готовой продукции (работ, услуг) Внешние источники данных Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Лесное и деревообрабатывающее хозяйство Россия Управленческий учет Платные (руб)

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

6000 руб.

24.06.2021    16035    41    36    

18

Загрузка в БГУ из УРМ "Криста"

Внешние источники данных Банковские операции Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия государственного учреждения Россия Бухгалтерский учет Платные (руб)

Обработки для загрузки данных из УРМ "Криста" в бухгалтерию государственного учреждения редакция 2.0. Обработка условно-бесплатная - бесплатно в течение одного месяца со дня получения демонстрационного ключа регистрации. Поддерживает ПО "Web-исполнение" от НПО "Криста".

4800 руб.

19.06.2013    35742    133    83    

29

Распознавание паспорта РФ. Python+1С без сторонних сервисов

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

В данной публикации мы рассмотрим методы разработки приложений на Python + 1С для распознавания Паспорта РФ.

1 стартмани

30.01.2023    8196    42    Indgo    34    

87

Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов

Универсальные обработки Инструментарий разработчика Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации [Alt+C] Копировать список, [Alt+V] Вставить список. Также для копирования данных используется стандартная [Ctrl+C] (например из открытого xls, mxl, doc и т.п. файла скопировать список наименований)

1 стартмани

13.10.2022    11887    89    sapervodichka    92    

114

Система контроля ведения учета [БСП]

Универсальные функции Механизмы типовых конфигураций БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данном материале рассмотрим типовой алгоритм подсистемы контроля учета БСП в конфигурациях на примерах.

18.07.2022    5520    quazare    8    

101

Хитрости СКД. Часть 3

СКД Универсальные функции Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Столкнулся с тем, что мне приходится писать гору отчетов. Во многих приходится использовать повторяющиеся приемы. Решил написать шпаргалку, которая, надеюсь пригодится не только мне. В этой статье: Объединение ячеек в отчете только на определенном уровне иерархии, Постобработка итогов в табличном документе, Скрытие колонок в зависимости от количества месяцев в периоде.

28.05.2022    6688    milkers    11    

87

Модули общего назначения - готовые полезные функции и процедуры конфигураций на БСП

Универсальные функции БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

25.04.2022    10222    quazare    11    

130

Интеграция 1С и OTRS: Синхронизация заметок тикетов

Управление проектом (PMO, EPM) Внешние источники данных Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х ИТ-компания Управленческий учет Абонемент ($m)

Внешняя обработка для интеграции 1С с системой обработки заявок OTRS. Предназначена для обмена информацией о заявках, позволяет создавать тикеты и заметки из 1С, загружать заметки (элементы тикетов, заявок) из OTRS в электронные письма. Использует API, предоставленный OTRS. Обмен работает как регламентное задание. Разработан на базе УТ 11.4 и OTRS 5s free.

6 стартмани

18.11.2021    6839    12    tps_01    0    

3

Несколько простых приемов для удобной работы в конфигураторе

Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

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

12.11.2021    13652    acces969    95    

142

Перенос данных из Парус 7.хх в ЗУП ред.3

Зарплата Внешние источники данных Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ ФОМС, ЕФС Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 7.хх организаций в конфигурацию 1С:Зарплата и управление персоналом, ред. 3 (ЗУП) и начать с ней работать с любого месяца года.

24000 руб.

07.06.2021    12097    1    13    

2

Перенос данных из Парус 8 в ЗУП ред.3

Зарплата Внешние источники данных Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 8 организаций в конфигурацию 1С:Зарплата и управление персоналом, ред. 3 (ЗУП) и начать с ней работать с любого месяца года.

84000 руб.

07.06.2021    10866    0    0    

1

Учим Лайку новым трюкам: заказы с предоплатами, выгрузка накладных из 1С

Банковские операции Кассовые операции Учет доходов и расходов Розничная торговля Внешние источники данных Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Рестораны, кафе и фаст-фуд Управленческий учет Платные (руб)

Расширение Лайка позволяет просматривать данные IIKO по заказам и предоплатам, приходным и расходным накладным, не покидая 1С. Кроме того, в последней версии добавлен функционал создания накладных на основании приобретений 1С одним нажатием.

14400 руб.

15.10.2020    21774    2    5    

5

Перенос остатков и оборотов из КЛОТО в "1С:Зарплата и кадры государственного учреждения 3.1"

Зарплата Внешние источники данных Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Перенос из КЛОТО в ЗГУ 3.1. Программный продукт КЛОТО очень распространен на территории Тверской области в силу своей простоты и относительной дешевизны. Данным программным продуктом активно пользуются учреждения организационно-правовой формы МДОУ, ФКУ и прочие.

216000 руб.

05.10.2020    12142    1    0    

2

Самый простой парсинг и обработка веб-страниц в 1С

WEB-интеграция Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    25033    Infostart    30    

146

Полезные встроенные функции для работы с печатными формами и не только на УТ 11.4 и БП 3.0 (сравнение)

Универсальные функции Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бесплатно (free)

В данном обзоре приведу примеры встроенных используемых функций для работы с печатными формами на примерах конфигураций Управление торговлей 11.4 и Бухгалтерия 3.0.

10.07.2020    15217    quazare    7    

93

Импорт розничных продаж из АСУ "Топаз-АЗС" в 1С:Бухгалтерию предприятия 3.0

Внешние источники данных Розничная торговля Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Данная обработка предназначена для импорта данных по продаже топлива из АСУ "Топаз-АЗС" в 1С:Бухгалтерия предприятия 3.0 (Версия формата данных 3.15)

4000 руб.

13.05.2020    14191    15    18    

13

Форма выбора (подбор) в управляемых формах

Универсальные функции Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Бесплатно (free)

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    179964    user5300    40    

291

Импорт документов из розничной программы учета (ТрейдФарм, Манускрипт Солюшн, Е-Фарма и др.) в Бухгалтерию 3.0 с формированием книги учета доходов и расходов при УСН и бухгалтерского и налогового учета при ОСНО

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Налоговый учет Платные (руб)

Представлена обработка для импорта документов из розничной программы учета товара в торговых точках и аптеках, необходимых для ведения бухгалтерского и налогового учёта, в Бухгалтерию 3.0. При загрузке данных в бухгалтерию переносятся документы поступлений, реализации, возвратов и перемещений в торговых точках и формируются все бухгалтерские и налоговые отчеты с учетом этих документов для любой системы налогообложения. Обработка позволяет загрузить данные из ПО ТрейдФарм. Имеются варианты для других розничных программ (ПО Manuscript Solution, Е-Фарма и S-Market).

14400 руб.

09.04.2020    16032    9    8    

5

Сходство Джаро - Винклера. Нечеткое сравнение строк

Универсальные функции Платформа 1С v8.3 Россия Бесплатно (free)

В области информатики и статистики сходство Джаро - Винклера представляет собой меру схожести строк для измерения расстояния между двумя последовательностями символов. В публикации рассмотрены некоторые особенности алгоритма, и представлен вариант его реализации на языке 1С.

25.12.2019    11335    brooho    21    

170

Загрузка данных из ПО R-keeper 7 UCS в 1С:Бухгалтерию 3.0

Внешние источники данных Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Платные (руб)

Внешняя обработка для загрузки номенклатуры и документов продаж из базы данных SQL программы R-keeper 7 фирмы UCS в 1с Бухгалтерию 8.3. С возможностью загрузки за период и синхронизации справочников.

9000 руб.

16.10.2019    22757    12    6    

14

Полезные процедуры и функции для программиста

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

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

07.10.2019    48025    HostHost    41    

284

Загрузка данных из Профстрой 4.0 в 1С:Бухгалтерия 3.0 и 1С:КА 2.4

Учет ТМЦ Внешние источники данных Производство готовой продукции (работ, услуг) Платформа 1С v8.3 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Загрузка данных из файла, выгруженного из программы Профстрой 4.0, в конфигарции баз 1С: Бухгалтерия предприятия 8, ред. 3.0 и 1С: Комплексная автоматизация 8, ред. 2.4 документов вида "Приобретение товаров и услуг" и "Внутреннее потребление товаров".

4800 руб.

24.09.2019    16503    1    3    

1

Обмен большими данными между клиентом и сервером

Внешние источники данных Платформа 1С v8.3 Абонемент ($m)

В статье рассматривается вопрос передачи больших объемов данных, превышающих теоретический лимит сеансовых данных (4Гб за вызов) (они же временное хранилище) как с клиента на сервер, так и в обратном направлении.

1 стартмани

27.08.2019    19332    logos    33    

114

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

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

24.08.2019    24712    BenGunn    29    

132

Реализуем Стек, Очередь и Приоритетную очередь в 1С

Математика и алгоритмы Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В статье рассматриваются способы реализации таких абстрактных структур данных, как стек, очередь и приоритетная очередь, используя готовые типы данных 1С. Выявляются "узкие" места, сложные моменты в реализации и сравнивается скорость работы.

24.06.2019    19666    RonX01    70    

88