Универсальный обмен данными XML через web-сервисы

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

Разработка - Системная интеграция - Обмен через XML

web-сервисы Универсальный обмен данными в формате XML Конвертация данных

Организация онлайн-обмена данными в формате "Конвертации данных" через web-сервисы

Вступление

Целью статьи является рассказать о том, как организовать передачу через web-сервис XML-данных в формате универсального обмена данными в информационную базу на платформе 1С:Предприятие 8.1 и старше. А также как получить из базы xml-данные. Cтатья может быть полезна для знакомства с web-сервисами. Если уже знакомы с ними, то, думаю, можете почерпнуть для себя новые полезные приемы.

Универсальный обмен данными XML, он же "1С:Конвертация данных" – это технология обмена данными между различными конфигурациями на платформе 1С.
С помощью этой технологии организованы все "типовые" обмены (УТ  Бухгалтерия, УТ  Розница, ЗУП  Бухгалтерия и т.д.). А также можно организовать свои собственные сценарии обмена с нуля между любыми конфигурациями на платформах 1С (начиная с 7.7). Обучение технологии «1С:Конвертации данных» не является целью данной статьи. Подразумевается, что вы с ней  знакомы или познакомитесь из других источников, их предостаточно. Могу порекомендовать материалы на диске ИТС. Или, может быть, вам вообще не нужно с ней знакомиться, а просто автоматизировать саму передачу данных.
Попутно попробую рассказать немного теории. Чтобы «подружить» с
web-сервисами тех, кто мало с ними знаком.

Технология «Конвертации данных» предлагает два способа передачи данных: через файлы – в одной базе выгрузили, в другой загрузили, либо через COM-соединение. Оба способа имеют свои недостатки. Для меня, я бы сказал, фатальные. А если серьезно, просто таят в себе существенные неудобства. Расписывать недостатки и убеждать не буду – это отдельная тема. Коротко перечислю достоинства web-сервисов, важные для меня:

  1. Возможность организовать онлайн-обмен;
  2. Возможность организовать удаленный онлайн-обмен, т.е. через Интернет;
  3. База-приемник и база-источник могут работать на разных релизах и даже версиях платформы (COM-соединение в таких ситуациях использовать проблематично, почти невозможно);
  4. Очень быстрая установка соединения и очень быстрая передача данных. Правда, «холодный» запуск по времени сравним с COM-соединением.
  5. Удобно для разработчика, возможность использовать одну и ту же технологию трансфера данных как для обменов 1С  1C, так и для обменов 1С  Другие системы.

Вообще, я «фанат» web-сервисов. Мог бы ещё много рассказать об их отладке, обмене с «чужеродными» средами, в том числе такими проблемными, как PHP (в виду вольного обращения данной платформы со стандартами SOA). Но это темы для отдельных статей. 

Инфраструктура

Вопросы установка и настройка web-сервера, публикации web-сервисов не рассматриваются в данной статье. Подразумевается, что это вы делать умеете или готовы разобраться, или у вас просто есть готовая инфраструктура. Могу порекомендовать документацию к 1С:Предприятию и «погуглить» в Интернете (именно «и», а не «или»).

Реализация. Серверная сторона.

Сервер – это для нас информационная база, которая принимает и отдает данные. Всё делаем на платформе 1С:Предприятие 8.2 (прикладное решение не важно).

Web-сервис

Добавляем web-сервис. Назовем «ОбменДаннымиXML». Свойства следующие:

Ключевым свойством для нас является Пакеты XDTOВыбранный пакет «http://v8.1c.ru/8.1/data/core» представляет встроенные типы 1С:Предприятия, общие для любых конфигураций, такие как ХранилищеЗначения, Структура, Массив и т.п. Пускай вас не смущает число 8.1 в имени пакета. Имеется в виду, что эти типы есть в платформах 8.1 и выше, и их XML-представление не менялось с платформы 8.1.

URI пространства имен в данном случае совершенно не важен, можно указать любую строку. Их принято строить на базе URL, которые использует ваша организация, чтобы гарантировать глобальную уникальность имен типов, описанных в ваших пакетах, на всякий случай. Но мы описывать свои типы (это делается при помощи пакетов XDTOв соответствующей ветке дерева конфигурации) не будем, так как нам достаточно встроенных типов 1C:Предприятия.

Имя файла публикации может быть любым, но с соблюдением требований к URL. Кириллицу лучше не использовать. Расширение «1cws» тоже лучше не менять (не пробовал, если честно).


Операции

Добавляем операции web-сервиса. Наш web-сервис должен уметь как принимать данные, записывая в свою ИБ, так и отдавать их (выгружать в XML). Поэтому добавляем две операции, "ПринятьДанные" и "ОтдатьДанные".

 

Операция ПринятьДанные

"ПринятьДанные" записывает в ИБ xml-данные, переданные в первом параметре "Данные". Тип параметра - Хранилище значения. ХранилищеЗначения выбираем, чтобы сжимать данные при передаче, т.к. файлы XML могут быть очень увесистыми и при этом хорошо "жмутся". Но можно было бы использовать и просто Строку, string(http://www.w3.org/2001/XMLSchema). 
Операция возвращает целое число – количество успешно записанных объектов.
Второй параметр - ТекстОшибки, строка, входной-выходной, для возврата текста ошибки.


Понятно, что ValueStorage– это ХранилищеЗначения

Код метода:

Функция ПринятьДанные(Данные, ТекстОшибки)

	
	УстановитьПривилегированныйРежим(Истина);
	
	ОбработкаОбмена = Обработки.УниверсальныйОбменДаннымиXML.Создать();
	ОбработкаОбмена.РежимОбмена = "Загрузка";
	
	РаботаВозможна = ОбработкаОбмена.ВыполнитьДействияПередЧтениемДанных(Данные.Получить());
	
	Если НЕ РаботаВозможна Тогда
		Возврат 0;
	КонецЕсли;	

	ОбработкаОбмена.ПроизвестиЧтениеДанных(ТекстОшибки);
	
	ОбработкаОбмена.ВыполнитьДействияПослеЗавершенияЧтенияДанных(); 
	
	Возврат ОбработкаОбмена.мСчетчикЗагруженныхОбъектов;	
	
КонецФункции

Операция ОтдатьДанные

"ОтдатьДанные" возвращает xml-данные, выгруженные по переданным правилам обмена. Также в виде ХранилищаЗначения.
Это тоже обертка над Универсальным обменом, только уже более функциональная. Обратите внимание , что Массив и Структура – это уже не простые типы, они попадают в метод в виде XDTO-объектов, и их нужно явно преобразовывать в/из типы 1С:Предприятия. Преобразовывать в/из XDTO нужно и на клиентской стороне.

 


ПравилаВыгрузки - это массив имен правил выгрузки, по которым следует произвести выборку данных.


ЗначенияПараметров – это структура со значениями параметров конвертации.

Код:

Функция ОтдатьДанные(ПравилаОбмена, ПравилаВыгрузкиXDTO, ЗначенияПараметровXDTO)
	
	УстановитьПривилегированныйРежим(Истина);
	
	// Иницализация
	Обмен = Обработки.УниверсальныйОбменДаннымиXML.Создать();
	Обмен.РежимОбмена = "Выгрузка";
	ИмяВремФайла = ПолучитьИмяВременногоФайла("xml");
	Обмен.ИмяФайлаОбмена = ИмяВремФайла;
	
	// Загрузка правил
	ИмяФайлаПравилОбмена = ПолучитьИмяВременногоФайла("xml");
	ЗаписьТекста = Новый ЗаписьТекста(ИмяФайлаПравилОбмена);
	ЗаписьТекста.Записать(ПравилаОбмена.Получить());
	ЗаписьТекста.Закрыть();
	Обмен.ИмяФайлаПравилОбмена = ИмяФайлаПравилОбмена;
	Обмен.ЗагрузитьПравилаОбмена();
	
	// Параметры
	ЗначенияПараметров = СериализаторXDTO.ПрочитатьXDTO(ЗначенияПараметровXDTO);
	Если ЗначениеЗаполнено(ЗначенияПараметров) Тогда
		Для каждого КлючИЗнач Из ЗначенияПараметров Цикл
			Обмен.УстановитьЗначениеПараметраВТаблице(КлючИЗнач.Ключ, КлючИЗнач.Значение);
		КонецЦикла; 
	КонецЕсли; 
	
	// Правила выгрузки данных
	ПравилаВыгрузки = СериализаторXDTO.ПрочитатьXDTO(ПравилаВыгрузкиXDTO);
	Если ЗначениеЗаполнено(ПравилаВыгрузки) Тогда
		
		// Сначала снимаем все отметки
		Для Каждого Строка из Обмен.ТаблицаПравилВыгрузки.Строки Цикл
			Строка.Включить = 0;
			Обмен.УстановитьПометкиПодчиненных(Строка, "Включить");
		КонецЦикла;
		
		// Теперь устанавливаем по переданным ПВД
		Для каждого ИмяПравилаВыгрузки Из ПравилаВыгрузки Цикл
			СтрДерева = Обмен.ТаблицаПравилВыгрузки.Строки.Найти(ИмяПравилаВыгрузки, "Имя", Истина);
			Если СтрДерева = Неопределено Тогда
				ВызватьИсключение "ОбменДаннымиXML.ОтдатьДанныеXML(): не удалось найти ПВД """ + ИмяПравилаВыгрузки + """!";
			Иначе
				СтрДерева.Включить = 1;
				Обмен.УстановитьПометкиРодителей(СтрДерева, "Включить");
			КонецЕсли; 
		КонецЦикла; 
		
	КонецЕсли; 
	
	// Выгрузка
	Обмен.ВыполнитьВыгрузку();	
	
	// Конец
	ЧтениеТекста = Новый ЧтениеТекста;
	ЧтениеТекста.Открыть(ИмяВремФайла, КодировкаТекста.UTF8);
	
	Результат = ЧтениеТекста.Прочитать();
	
	ЧтениеТекста.Закрыть();
	
	УдалитьФайлы(ИмяВремФайла);
	УдалитьФайлы(ИмяФайлаПравилОбмена);
	
	ХранилищеДанных = Новый ХранилищеЗначения(Результат, Новый СжатиеДанных(9));
	
	Возврат ХранилищеДанных;
	
КонецФункции 

Обработка УниверсальныйОбменДаннымиXML

Если в вашем прикладном решении такая обработка отсутствует, то её нужно добавить из комплекта поставки конфигурации «Конвертация данных» (файл V8Exchan82.epf).

 

Доступ к web-сервису. Роли и пользователи.

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

Добавляем пользователя

Назначаем ему только нашу роль ВебСервисы и больше никаких других. Этого достаточно.

На серверной стороне настройка закончена.

Клиент (обращение к web-сервису)

Тут просто приведу примеры обращения к веб-сервисам. Откуда берутся правила обмена , правила выгрузки, значения параметров и т.п. – это уже вопрос вашей прикладной задачи и её реализации.

Передача данных в базу-приемник

Пример передачи xml-данных в базу-приемник, на стороне которой работает вышеописанный web-сервис:

Функция ПередатьНаСервере(СтрокаXML)
	
	Данные = Новый ХранилищеЗначения(СтрокаXML, Новый СжатиеДанных(9));
	
	// Подкдючение
	Определения = Новый WSОпределения("http://server1c8/db_buh/ws/xml-exchange.1cws?wsdl", "WebServices", "12345");
	Прокси = Новый WSПрокси(Определения, "http://your-domain.ru/", "ОбменДаннымиXML", "ОбменДаннымиXMLSoap");
	Прокси.Пользователь = "WebServices";
	Прокси.Пароль = "12345";
	
	// Передача
	ТекстОшибки = "";
	ЗагруженоОбъектов = Прокси.ПринятьДанные(Данные, ТекстОшибки);
	
	Если НЕ ПустаяСтрока(ТекстОшибки) Тогда
		Сообщить(ТекстОшибки);
	КонецЕсли; 
	
	Возврат ЗагруженоОбъектов;
	
КонецФункции // ПередатьНСервере()

Данные перед этим получены из этой базы-источника функцией:

Функция ВыгрузитьКонтрагента(Организация, Контрагент)
	
	ПравилаОбмена = ПолучитьПравилаОбмена();
	
	// Инициализация
	Обмен = Обработки.УниверсальныйОбменДаннымиXML.Создать();
	Обмен.РежимОбмена = "Выгрузка";
	ИмяФайлаДанных = ПолучитьИмяВременногоФайла("xml");
	Обмен.ИмяФайлаОбмена = ИмяФайлаДанных;
	
	// Загрузка правил
	ИмяФайлаПравилОбмена = ПолучитьИмяВременногоФайла("xml");
	ЗаписьТекста = Новый ЗаписьТекста(ИмяФайлаПравилОбмена);
	ЗаписьТекста.Записать(ПравилаОбмена);
	ЗаписьТекста.Закрыть();
	Обмен.ИмяФайлаПравилОбмена = ИмяФайлаПравилОбмена;
	Обмен.ЗагрузитьПравилаОбмена();
	
	// Параметры
	Обмен.УстановитьЗначениеПараметраВТаблице("Организация", Организация);
	
	// Правила выгрузки данных
	
	// Сначала все отключаем
	Для Каждого Строка из Обмен.ТаблицаПравилВыгрузки.Строки Цикл
		Строка.Включить = 0;
		Обмен.УстановитьПометкиПодчиненных(Строка, "Включить");
	КонецЦикла;
	// Включаем нужное правило
	СтрПравил = Обмен.ТаблицаПравилВыгрузки.Строки.Найти("Контрагенты", "Имя", Истина);
	Если СтрПравил = Неопределено Тогда
		ВызватьИсключение "ПередатьНСервере(): не удалось найти правило выгрузки ""Контрагенты"" в правилах обмена.";
	КонецЕсли; 
	СтрПравил.Включить = 1;
	Обмен.УстановитьПометкиРодителей(СтрПравил, "Включить");
	
	// Отбор
	Постр = Новый ПостроительОтчета("ВЫБРАТЬ ПЕРВЫЕ 1 _.* ИЗ Справочник.Контрагенты КАК _
 |{ГДЕ _.Ссылка.* КАК Справочник_Контрагенты}");
	Постр.Отбор.Добавить("Справочник_Контрагенты").Установить(Контрагент);
	СтрПравил.ИспользоватьОтбор = Истина;
	СтрПравил.НастройкиПостроителя = Постр.ПолучитьНастройки();
	
	// Выгрузка
	Обмен.ВыполнитьВыгрузку();	
	ЧтениеТекста = Новый ЧтениеТекста;
	ЧтениеТекста.Открыть(ИмяФайлаДанных, КодировкаТекста.UTF8);
	СтрокаXML = ЧтениеТекста.Прочитать();
	ЧтениеТекста.Закрыть();
	УдалитьФайлы(ИмяФайлаДанных);
	УдалитьФайлы(ИмяФайлаПравилОбмена);
	
	Возврат СтрокаXML;
	
КонецФункции // ВыгрузитьКонтрагента()

Получение данных от web-сервиса

Пример получения данных от web-сервиса:

Функция ПолучитьДанныеОтВебСервиса(ПравилаСтрокой)
	
	// Подкдючение
	Определения = Новый WSОпределения("http://server1c8/db_buh/ws/xml-exchange.1cws?wsdl", "WebServices", "12345");
	Прокси = Новый WSПрокси(Определения, "http://your-domain.ru/", "ОбменДаннымиXML", "ОбменДаннымиXMLSoap");
	Прокси.Пользователь = "WebServices";
	Прокси.Пароль = "12345";
	
	// Параметры
	ПравилаВыгрузки = Новый Массив;
	ПравилаВыгрузки.Добавить("ИерархияКонтрагентов");
	ПравилаВыгрузкиXDTO = СериализаторXDTO.ЗаписатьXDTO(ПравилаВыгрузки);
	
	ЗначенияПараметров = Новый Структура("КодБазыИсточника", "00001");
	ЗначенияПараметровXDTO = СериализаторXDTO.ЗаписатьXDTO(ЗначенияПараметров);
	
	// Получение данных
	Правила = Новый ХранилищеЗначения(ПравилаСтрокой, Новый СжатиеДанных(9));
	Данные = Прокси.ОтдатьДанные(Правила, ПравилаВыгрузкиXDTO, ЗначенияПараметровXDTO);
	
	// Возвращаем строку XML
	Возврат Данные.Получить();
	
КонецФункции // ПолучитьДанныеОтВебСервиса()
 

Конец

Спасибо за внимание

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. GoodZone 9 09.10.13 06:35 Сейчас в теме
тестовую бы конфу, чтоб не с нуля пробовать.
2. т1951 09.10.13 09:22 Сейчас в теме
очень интересно. Спасибо
3. KliMich 09.10.13 09:26 Сейчас в теме
Идея довольно интересная. Спавибо!
Буду пробовать
4. Tedman 09.10.13 10:04 Сейчас в теме
Mleg, ну что тут скажешь?!
Красавец! Сам частенько занимаюсь процессом обмена данными, и думал разобраться с тем, можно ли его проводить через web-сервисы, а тут статья такая отличная.
Во всём этом есть только один (как мне кажется) очень неприятный момент. Если (теоретически) некий злоумышленник перехватит пакет (если используется незащищенное http-соединение), то с помощью обработки обмена с привилегированным режимом сделать он сможешь что угодно. Вероятность, конечно, не велика, но, тем не менее, сделать это не сложно.
5. stanru1 86 09.10.13 10:46 Сейчас в теме
элегантно! ценю такой подход, когда по максимуму используется типовой функционал. автор молодец!
6. Yashazz 3263 09.10.13 10:56 Сейчас в теме
Достаточно подробно, грамотно расписано. Наконец кто-то озаботился, спасибо.
Жаль, самые скользкие и интересные грабли (как публикация веб-сервисов) оставлены за кадром. Ибо, на самом деле, документации на эту тему крайне мало, а труднообъяснимых граблей и багов платформы там много.

И да, веб-сервисы 1С это страшенная дыра в безопасности, конечно. Поэтому, увы, в серьёзных проектах либо не используются, либо требуют дополнительных мер защиты сторонними средствами.
18. bonv 10.10.13 13:37 Сейчас в теме
(6)Yashazz,
А можно примеры
страшенная дыра в безопасности
?
7. ZLENKO 09.10.13 11:38 Сейчас в теме
8. peterxx 19 09.10.13 12:24 Сейчас в теме
Прекрасно, интересная, добротная, актуальная статья. Думаю будет очень полезно.
9. Yashazz 3263 09.10.13 12:33 Сейчас в теме
Такие статьи, конечно, были и раньше, например, http://infostart.ru/public/159824/
Но здесь достаточно толково расписано то, что ранее было изложено более скомканно.

А вот то, что действительно сложно в веб-сервисах (публикация), здесь не освещено и считается само собой разумеющимся. Поэтому плюсить не буду.
10. Mleg 302 09.10.13 13:30 Сейчас в теме
(9) Да, я смотрел эту статью, перед тем как писать свою. Она немножко на другую тему, там не про передачу данных в формате Универсального обмена.
Да, публикация веб-сервисов – это не всегда просто. Я не считаю это само собой разумеющимся. Но это за рамками статьи, совсем другой вопрос, моей целью не было покрыть и эту тему. С таким же успехом можно было бы упрекнуть в том, что я не рассмотрел вопросы установки платформы.
Однако, "Пожелание зарегистрировано" ©
Atrocity; Dmitrii D; Unk92; AganinEvgeniy; w-divin; SirYozha; +6 Ответить
11. Yashazz 3263 09.10.13 13:46 Сейчас в теме
(10) Не согласен. Милейшая строка "http://server1c8/db_buh/ws/xml-exchange.1cws?wsdl" вызовет вопросы у ваших читателей. Откуда она взялась? По каким принципам сформирована? Что в ней есть что?
Вы никак специально не заостряете на ней внимание, в результате произойдёт копипаст, а потом ваша процедура не заработает, и вам же предъявят, что публикуете фигню на ИС. Оно надо?
16. WKBAPKA 220 10.10.13 11:07 Сейчас в теме
(9) Yashazz,
в публикации веб-сервисом сложного ничего нет если веб сервис и 1С установлены на одном сервере. Если же на разных серверах, то:
1. Если сервера крутяться под виндой, установить клиента 1С на сервер с веб сервисом (это самый простой вариант), или публиковать с помощью утилиты.
2. Если сервера крутяться под другой операционкой, пробывать публиковать с помощью утилиты входящей в платформу, но прийдется повозиться.
Но всеже проще иметь отдельный тазик с виндой для оного дела, который будет светиться в интернете.
19. Yashazz 3263 10.10.13 14:57 Сейчас в теме
(16) Берёте 1 локальный комп (сам себе сервер), винду7 и iis7.5, простейшую файловую базу, и я посмотрю, как для вас "в публикации ничего сложного нет". При наличии всех нужных прав и прочая, разумеется.
(17) Вот так писать не надо. Первый параметр - это, цитирую, "МестоположениеWSDL" (Местоположение WSDL файла, откуда будет получено определение веб-сервисов), а отнюдь не URI. И формируется не как левая пятка хочет, а по чётким принципам, внимание на которых заостряют редко.

Идею изложил хоть и давнюю, но хорошую. Изложил чётко, внятно, доступно. НО: допустил недосмотр, который не позволяет воспользоваться статьёй без доработки кода напильником. Фактически, "скачал - не работает". Согласны?

(18) Покурите старые дискуссии насчёт веб-сервисов с участием Трактора. Я щас навскидку не найду.
20. WKBAPKA 220 10.10.13 16:22 Сейчас в теме
(19) Yashazz,
1. А чего пробывать? У меня дома развернутый сервер установлен под Апач, я на нем гонял свои веб сервисы. И у клиента установили без проблем. Была только проблема с настройками кодировки самого веб-сервера, а опубликовать вообще не проблема. Кстати, на эту тему, тему публикации, как раз много информации в интернете, даже есть видео на ютубе.
2. сорри, спутал с WSПрокси... но как бы там не было, можно WSПрокси использовать без создания определения. Ну уж если Вам так надо, почитайте про веб сервисы в интернете, ведь эта технология не разработка 1С. Там же найдете и правила формирования строки.
23. Yashazz 3263 10.10.13 16:44 Сейчас в теме
(20) Ключевое слово - "под Апач". Под IIS всё не так просто. И нигде, ни на каком ютюбе, нет подробностей и тонкостей авторизации, к примеру.
(20)(21) Мне - в общем, ничего не надо, кроме предупреждения автора крупными буквами, что без доработки это вообще ни у кого не взлетит. Или правки строки, о которой я говорю, в сторону шаблонизации.
Я-то и правила шаблона знаю, и другие моменты (которые, к слову, и на http://its.1c.ru есть), но автор об этом ни слова.

Повторяю, напильником придётся поработать не "возможно", а наверняка. Или я чего-то упустил, и "httр://server1c8/db_buh/ws/xml-exchange.1cws?wsdl" это уже стандартизованный дефолтный путь подключения?

(22) Ага, а полные права отдельным товарищам/группам на bin и папку базы, если она файловая? )) Золотую середину, при которой и веб-сервисы работают, и по доступу не "проходной двор", найти бывает трудно.
24. WKBAPKA 220 10.10.13 17:10 Сейчас в теме
(23) Yashazz,
я такие варианты про файловые базы даже не рассматриваю... зачем кому то что то публиковать, если база файловая??? Если у людей нет денег на приобретения сервера 1С, то значит у них нет денег и на организацию безопасности...

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

AganinEvgeniy; l_men; +2 Ответить
26. Yashazz 3263 10.10.13 17:31 Сейчас в теме
(24) Оффтопить не буду, но, по-твоему, пользователи файловых БД почти как "недочеловеки", с чем не согласен.

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

Ну и странновато для знакомых с веб-сервисами выглядят фразы вроде "Расширение «1cws» тоже лучше не менять (не пробовал, если честно)." - RTFM руководство админа, господа; расширение это идёт в алиасе, а дёргать можно как по name (имени, как в конфе), так и по alias (предложенному имени файла).
В общем, нелогично - что-то разжёвано, что-то упущено.
Ладно, видимо, это я один такой не такой )))
awk; vano-ekt; holostyak; +3 Ответить
22. WKBAPKA 220 10.10.13 16:30 Сейчас в теме
(19) Yashazz,
Что касается дыр в безопасности, я читал статью на которую вы ссылаетесь... Но! в ней речь шла о публикации базы и опасность заключалась в том, что можно получить данные о пользователях и их паролях, что равносильно получить доступ к самой базе. Веб сервисы же напротив, предоставляют ограниченную информацию. При всех тех же параметрах, злоумышленник не получит больше, чем ему может дать сервис + можно еще организовать дополнительную аутентификацию, на уровне базы на случай, если кто то перехватит логин и пароль для авторизации!
12. Yashazz 3263 09.10.13 14:15 Сейчас в теме
Я уж не говорю про управление доступом. Вот возьмёт прокси и не создатся, ваши дальнейшие действия? Отсылать к "Руководству администратора"? А там это изложено, во-первых, для "одминов", а во-вторых, очень скудно и неполно. У 1С есть несколько багов, выдаваемых за фичи, в вопросе авторизации (что динамического подключения, что статического).

Без описания этого ценность вашей публикации снижается.
mr.Samuelson; +1 Ответить
13. Yashazz 3263 09.10.13 18:57 Сейчас в теме
Ну так что, автор, я минусую, т.к. нифига не работает?
14. Yashazz 3263 10.10.13 10:35 Сейчас в теме
Понятно. У всех, вишь ты, всё работает, и лишь у одного меня хардкодинг типа
Определения = Новый WSОпределения("http://server1c8/db_buh/ws/xml-exchange.1cws?wsdl", "WebServices", "12345");
вызывает дурацкие вопросы.
alexgt; kirinalex; +2 Ответить
17. WKBAPKA 220 10.10.13 11:12 Сейчас в теме
(14) Yashazz,
вот так писать не надо. Первый параметр, это пространство имен. Должен быть уникальным и может быть представлен любым уникальным адресом. Формируется произвольно, как вашей душе угодно.
Мне кажется, зря Вы на автора наезжаете. Он изложил хорошую идею для обмена данными между веб сервисами!
15. WKBAPKA 220 10.10.13 11:02 Сейчас в теме
бегло пробежался... статья хорошо написана... вот бы она была написана когда я искал пути передачи данных через WEB...
единственное, что хотелось бы посоветовать - методы веб-сервиса определять на английском языке, что бы при настройке веб-сервера не было проблем с кодировками. По крайней мере, я с этим столкнулся и потратил время на то, что бы разобраться в причине ошибки "Ошибка разбора SOAP сообщения: неверная версия сообщения" веб-сервиса.
21. WKBAPKA 220 10.10.13 16:26 Сейчас в теме
Автор предложил очень хорошую идею до которой еще нужно додуматься... а это уже дорогого стоит. Плюс, автор еще и реализацию описал. А то что напильником немного возможно прийдется поработать, так уж увольте. Отправте автору пару сот вечно зеленых президентов и он лично для вас напишет статью со всеми подробностями.
vkm1980; pm74; SerebanSK; Redokov; +4 Ответить
33. zarucheisky 30.10.13 15:49 Сейчас в теме
(21) Не, не совсем так, самой идее ровно столько лет, сколько платформе 8.1...
Все, кто сталкивался, знали, он, молодец, озвучил :)
25. WKBAPKA 220 10.10.13 17:11 Сейчас в теме
что касается IIS, документаций на эту тему полно... лично я рекомендую апач, т.к. проще...
27. awk 714 15.10.13 14:33 Сейчас в теме
(0) Круто. Вот только забыли недостатки SOAP:

1. Передача больших объемов двоичных данных требует наличия большого объема оперативной памяти. Получение ошибок: Out of memory.
2. Медленный ответ от 1С приведет к зависанию сессии веб сервера, что может отрицательно сказаться на его работе и работе ОС в целом.
3. На промежуточных узлах могут быть ограничения на размер POST запроса, что приведет к неожиданным вылетам обмена, и долгом курении травы поиске в интернете и документации.
4. Для отладки(при возникновении проблем) на клиент-серверных базах придется ставить отладку сервера, что не способствует производительности.
life-wayfarer; mr.Samuelson; ZLENKO; CeHbKA; Totoro; kostas; +6 Ответить
28. kostas 10 28.10.13 18:17 Сейчас в теме
(27) awk,
За п.3 плюсанул Вам! Важная информация.

35. Трактор 1199 30.10.13 20:40 Сейчас в теме
(27) awk,
1. Передача больших объемов двоичных данных требует наличия большого объема оперативной памяти. Получение ошибок: Out of memory.

Я как-то гигабайтный файл передавал через веб сервис. Долго, но передался. Если обмен делать небольшими порциями и клиентов не очень много, то может прокатить.
38. awk 714 31.10.13 01:22 Сейчас в теме
(35) Трактор, Да. Может прокатить, а может и не прокатить. Если на промежуточных узлах нет ограничений - прокатит. А если есть ограничения, то порежут сообщение и кирдык.
39. awk 714 31.10.13 01:25 Сейчас в теме
(35) Трактор, Ночь. Читаю плохо. И не на то отвечаю.
По объему оперативки:

Один гиг - не показатель. Редко встретишь сейчас объем ОЗУ меньше гига. Плюс свап. Прокатит. Но не быстро. Проще кинутся ссылкой на ресурс.
29. psamt1k 28.10.13 21:55 Сейчас в теме
эх! Где же ты был полгода-год назад!!! Я себе весь мозг вскрыл, пока разобрался как тут все работает и смог добавить свои плюшки.
Но тем не менее плюсую!
30. Kamikadze 46 29.10.13 20:03 Сейчас в теме
У себя сделал немного проще - только выгрузку из системы НСИ. Идея хороша.
31. Kamikadze 46 29.10.13 20:07 Сейчас в теме
У меня, для примера, обмены через СОМ работали с каждой базой по 2 минуты, сильно нагружая сервер. Теперь - 20 сек. За 3 месяца потерь данных не было. так что идея перевода обменов на веб - сервисы очень даже актуальная. По - моему в последней СБП есть такие механизмы.
32. zarucheisky 30.10.13 15:15 Сейчас в теме
(31) обмены через СОМ работали с каждой базой по 2 минуты, сильно нагружая сервер. Теперь - 20 сек.
Скорее всего львиная доля времени уходила на инициализацию COM-объекта+авторизацию.
Грубо говоря, при одном и том же объеме передаваемых данных вызов тех же методов через COM/ws будет одинаков по быстродействию.
44. ZLENKO 11.07.14 12:22 Сейчас в теме
(32) zarucheisky, "обмены через СОМ работали с каждой базой по 2 минуты"

COM соединение можно сохранять между сеансами обмена и не инициализировать каждый раз заново.
48. ZLENKO 386 01.09.16 15:31 Сейчас в теме
(44) ZLENKO.PRO, "COM соединение можно сохранять между сеансами обмена и не инициализировать каждый раз заново."

Кстати в 8.3.8 уже нельзя :-)
34. kostik_love 292 30.10.13 18:31 Сейчас в теме
Ребята, может вопрос не в тему- но как выполнять отладку web-сервисов?
может автор напишет такую же полезную и подробную статью)))
36. Трактор 1199 30.10.13 20:42 Сейчас в теме
(34) kostik_love,
как выполнять отладку web-сервисов?

Как обычно. Включаешь отладку на сервере, в отладчике, там где предметы отладки, ставишь галку "отладка веб сервисов" и отлаживаешь. Отлаживать возможно только если ты сам делаешь запросы. Рабочую базу не отладишь - слишком много запросов.
37. Трактор 1199 31.10.13 00:48 Сейчас в теме
36+
(34) kostik_love, запросы к 1С можно посылать специализированной приблудой soapui http://sourceforge.net/projects/soapui/files/soapui/3.6.1/
life-wayfarer; +1 Ответить
40. kostik_love 292 31.10.13 10:01 Сейчас в теме
(37) Трактор, Спасибо за ответ- буду пробовать- очень своевременно
41. sarun 31 06.05.14 08:50 Сейчас в теме
Спасибо за хорошую обзорную статью. Только начинаю изучение вэбсервисов,поэтому статья очень помогла.
Вот только непонятным остался вопрос как передавать правила обмена в вэб сервисы, автор это намеренно опустил:

"Клиент (обращение к web-сервису)

Тут просто приведу примеры обращения к веб-сервисам. Откуда берутся правила обмена , правила выгрузки, значения параметров и т.п. – это уже вопрос вашей прикладной задачи и её реализации"

Подскажите, пожалуйста, кто сталкивался.
42. inesik 10.07.14 10:09 Сейчас в теме
(41) sarun, я тоже думала, куда их добавить, решила добавить в реквизит узла обмена, как хранилище значения.
43. Kamikadze 46 10.07.14 11:14 Сейчас в теме
так в БСП это уже работает
45. sarun 31 25.08.14 13:34 Сейчас в теме
46. БизнесРешение 23.09.14 09:57 Сейчас в теме
Отличная идея и описание процесса её реализации - доступно и всерьёз! :))
47. user_2010 475 11.11.14 15:10 Сейчас в теме
Есть такой вопрос: сделала веб-сервис в 1С, опубликовала, он работает в SoapUI, еще проверяли из других программ - работает... Но нужно его использовать в программе, которая работает на платформе SharePoint. Так вот у них мой веб-сервис не работает. Как они объясняют: не тот синтаксис веб-сервиса.

Вот такой синтаксис делает 1С:
xs:schema targetNamespace=
xs:element name=

А вот так надо SharePoint:
s:schema elementFormDefault=
s:element name=

Почему 1С делает "xs", а не "s"?

Т.е. вместо "<xs:..." должно быть "<s:...".

Как это сделать в 1С? Как изменить синтаксис опубликованного веб-сервиса?
51. user_2010 475 18.02.19 17:33 Сейчас в теме
(47) напишу, хоть и времени с тех пор прошло много. Проблема была не в 1С, 1С все правильно делала!
49. strafer 28.07.17 10:15 Сейчас в теме
Попробовал сделать описанное выше, но получил ошибку
Процедура или функция с указанным именем не определена (ПолучитьПравилаОбмена)
	ПравилаОбмена = <<?>>ПолучитьПравилаОбмена(); (Проверка: Сервер)

Конфигурация УТП.
53. maksa2005 315 25.07.19 14:07 Сейчас в теме
(49)Это говорит о том, что откуда брать обмен. Создайте макет и добавить туда правила и все)
(50)это опечатка автора. у меня все получилось
50. Smal 18.02.19 16:43 Сейчас в теме
Возникла задача скрестить ужа с ежом через вэб обмен по правилам обмена из конвертации. Прочитал статью ..
сделал у себя на тестовой вэбсервис. при проверке начала выдавать ошибку (... переменная не найдена). увидел что автор в статье (на скрин)
в вэбсервисе переменная называется по одному(ПравилаОбмена, ПравилаВыгрузки, ЗначенияПараметров) , а в коде по другому (ПравилаОбмена, ПравилаВыгрузкиXDTO, ЗначенияПараметровXDTO) - я так понимаю, что это просто опечатка автора ? Если не так поправьте плиз.
52. maksa2005 315 25.07.19 14:06 Сейчас в теме
54. alexeypenzin 2 09.10.19 10:05 Сейчас в теме
Статья отличная, но хочется продолжения.
На практике, в основном, нужно выгружать в базу приемник только измененные объекты. Не совсем понятно как это реализовать с помощью веб-сервисов. Как в данном обмене применить планы обмена? Когда и где очищать таблицу измененных объектов?

Коротко вопрос: На клиенте получили данные, как на сервере узнать что клиент принял данные и на сервере удалить данный объект из таблицы измененных объектов?
55. GERDUSKA 14.02.20 15:12 Сейчас в теме
Спасибо! Очень пригодилось!
Оставьте свое сообщение

См. также

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    19150    0    m-rv    17    

Ограничение доступа к HTTP публикациям 1С сервера используя NGINX

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант ограничения доступа к HTTP публикациям 1С сервера используя NGINX.

02.07.2020    4677    0    malikov_pro    0    

Конвертация данных 2. Использование подключаемых обработок в правилах обмена. Конвертация дерева значений

Обмен данными 1С Обмен через XML Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Разработка правил обмена с использованием подключаемых обработок. В качестве примера рассмотрена реальная задача конвертации дерева значений.

15.06.2020    2237    0    Drivingblind    6    

Конвертация данных 2.1. Методика переноса остатков

Перенос данных из 1C8 в 1C8 v8 1cv8.cf УУ Бесплатно (free)

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

12.06.2020    3133    0    aximo    15    

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция Промо

Практика программирования WEB v7.7 v8 Бесплатно (free)

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    54623    0    Serginio    33    

История создания успешной системы чат-ботов на 1С

WEB v8 Бесплатно (free)

Использование чат-ботов в мессенджерах позволяет автоматизировать многие сложные бизнес-процессы путем диалога с системой через виртуального собеседника. О том, как создать универсальную систему ботов с бэкендом на 1С, работающую в Telegram, Viber и Facebook Messenger одновременно, на конференции Infostart Event 2019 Inception рассказал программист-фрилансер Константин Гейнрих.

21.05.2020    5984    0    CyberCerber    12    

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

WEB Интеграция v8 Бесплатно (free)

Быстрый старт. Только практические примеры. Установка, запуск и публикация бизнес-процесса на сервере Camunda BPM. Управление бизнес-процессами из 1С при помощи Camunda REST API.

12.05.2020    2576    0    zhichkin    19    

Механизм XDTO

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

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

12.05.2020    4190    0    totchaz    3    

Регулярные выражения без внешних компонент? Легко! Промо

Практика программирования Обмен через XML v8 Бесплатно (free)

Сложный способ организовать проверку строки с помощью регулярного выражения в 1С. При этом ни одна внешняя компонента не пострадала. Ну и от платформы (Linux, MustDie) - не зависит.

04.03.2016    60330    0    starik-2005    99    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Первый шаг

WEB v8 Россия Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции 1С с комментариями внутри.

28.04.2020    3208    0    osivv    23    

Выразительный Web API

WEB v8 Бесплатно (free)

Теория разработки Web API с ожидаемым поведением, за который не будет стыдно за пределами мира 1С.

27.04.2020    4981    0    nbeliaev    22    

Интеграция УАТ с топливными сервисами

WEB v8 1cv8.cf Автомобили, автосервисы Бесплатно (free)

Интеграция конфигурации Управление автотранспортом с топливными веб-сервисами.

21.04.2020    6623    0    RPGrigorev    2    

Повышаем эффективность разработки правил обмена Промо

Практика программирования Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

25.06.2018    27281    0    olegtymko    47    

Интеграция 1С с веб-сервисами Лукойл ЛИКАРД

WEB v8 1cv8.cf Россия Бесплатно (free)

Описание интерфейса взаимодействия сервиса Лукойл- ЛИКАРД с информационной системой 1С.

20.04.2020    3294    0    RPGrigorev    0    

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

Производительность и оптимизация (HighLoad) WEB Интеграция Мобильная разработка Администрирование веб-серверов v8 Бесплатно (free)

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    11125    0    informa1555    21    

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

Перенос данных из 1C8 в 1C8 БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

Как проводятся документы при обмене по универсальному формату. Пример доработки типовых правил обмена с переносом состояния документа: проведен/не поведен/пометка удаления.

04.03.2020    3873    0    partizand    6    

Универсальный обмен между идентичными конфигурациями через REST интерфейс OData. Часть І: Справочники Промо

Перенос данных из 1C8 в 1C8 v8 Бесплатно (free)

Сейчас все чаще интеграции различных конфигураций проектируются через HTTP-сервисы - они и работают быстрее, и "войти" в режим отладки гораздо проще, тем самым обойдя "черный ящик" универсального обмена через xml, например. Более года назад я начал работать в компании, в которой разработчики работали с конфигурациями 1С в режиме совместимости еще 8.2.16 (менять режим совместимости в типичных базах мы не хотели) - а как Вы наверное знаете, если интересовались HTTP-сервисами в 1С, их использование в режиме совместимости 8.3.4 и ниже недопустимо - и здесь я уже не надеялся на разработку и использование HTTP-сервисов. Но позже меня заинтересовал такой "сервис" как REST интерфейс OData, так как его можно использовать не меняя режим совместимости конфигурации - именно он и стал для меня идеальным вариантом решения "нетривиальных" задач.

11.05.2018    22163    0    V.Stavinsky    11    

Получение html-кода страницы. JS из 1С

Практика программирования WEB v8 Бесплатно (free)

Получение исходника страницы, выполнение произвольного js-кода. Теперь с WebKit от 1С.

18.02.2020    5127    0    Yashazz    1    

[БСП] Обмен через Конвертацию данных 2.1

Обмен через XML v8 1cv8.cf Бесплатно (free)

Добавим новый план обмена и настроим в БСП типовой обмен через правила конвертации данных (КД 2.1)

03.02.2020    6611    0    John_d    16    

Обмен через Конвертацию данных 2.1 во внешней обработке + Запуск внешней обработки по расписанию (БСП)

Обмен через XML v8 1cv8.cf Бесплатно (free)

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

22.01.2020    5262    0    John_d    30    

Взаимодействие между базами 1С через COM Промо

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Рассмотрено много особенностей взаимодействия между базами 1С по COM технологии

10.08.2015    146096    0    tormozit    65    

Как сделать обмен данными через универсальный формат быстрее? Реализация многопоточного обмена данными

Обмен данными 1С Обмен через XML v8 1cv8.cf Бесплатно (free)

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

31.12.2019    7414    0    ids79    17    

Ещё немного о ИНН и сервисе DaData

WEB v8 1cv8.cf Бесплатно (free)

Об использовании сервиса dadata и немного информации о возможностях получать данные по ИНН. Возможно, кому-то будет полезным.

14.11.2019    6602    0    xxxAndricxxx    21    

Использование XML-схемы из макета внешней обработки

Обмен через XML Универсальные функции v8 1cv8.cf Бесплатно (free)

Простой способ использования XML-схем из макета внешней обработки.

28.10.2019    10026    0    Olesia_Matusevich    10    

Использование инструментов разработчика для отладки обменов КД 2.0 Промо

Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Пара трюков, благодаря которым жить становится намного проще...

05.05.2017    26972    0    unichkin    3    

Преобразование XML в таблицу значений или иной объект 1С методом XSL преобразования

Универсальные функции Обмен через XML v8 1cv8.cf Бесплатно (free)

Сразу открою интригу, напрямую прочитать XML, не содержащий объект 1С, не удастся. Статья раскрывает способы привести XML к формату, который возможно прочитать средствами платформы.

24.10.2019    10047    0    kraspila    28    

Простой способ опубликовать базу 1C из дома в интернет, когда Ваш провайдер этого не обеспечивает (3G, 4G модем и т.п.)

WEB Облачные сервисы, хостинг v8 1cv8.cf Бесплатно (free)

Если у Вас возникла потребность опубликовать из дома во всемирную паутину базу 1С (например, для тестирования), в т.ч. интерфейс OData, HTTP или Web-сервисы, а интернет-провайдер (например, 3G Мегафон) не предоставляет возможности инициировать соединения извне, то в конце статьи Вы найдете простой, быстрый и условно-бесплатный способ это сделать.

14.10.2019    10624    0    uno-c    25    

EnterpriseData: простой способ защиты данных в базе получателя при одностороннем обмене

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Очень часто бухгалтеры ругаются, когда уже отраженные документы в бухгалтерском учета меняются сотрудниками.

04.10.2019    6499    0    handscenter    12    

Online телефонный справочник из 1С: Зарплата и управление персоналом Промо

WEB Управление персоналом (HRM) Управление персоналом (HRM) v8 ЗУП3.x Россия Бесплатно (free)

В интернете представлено много реализаций online телефонных справочников организаций. Есть справочники, которые использует для хранения информации базу Active Directory (LDAP), есть справочники, которые реализованы с использованием СУБД (например, MySQL). Но я не нашел справочника, который использует информацию из базы 1С. Далее я рассмотрю данную разработку.

10.03.2017    25119    0    ruha    14    

Практика XDTO. Нюансы

Практика программирования Обмен через XML v8 Бесплатно (free)

Некоторые практические моменты работы с XDTO. Дополнения к очевидному.

23.09.2019    11996    0    Yashazz    27    

Самый примитивный HTTP-сервис в мире

WEB v8 Бесплатно (free)

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

12.09.2019    19837    0    YPermitin    26    

Конвертация Данных. Нюансы использования конструкции "НеЗамещатьОбъект = Истина" в обработчике события "ПриЗагрузке"

Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

У конвертации данных есть «особенности», которые «пьют кровь» программистов. Эта статья про очередную обнаруженную «особенность».

10.09.2019    8876    0    ivanek    21    

Приемы обработки больших данных в 1С Промо

Универсальные обработки Математика и алгоритмы Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Рассказ об эффективных приемах организации обработок больших объемов данных на платформе 1С

07.08.2015    65726    0    tormozit    27    

Обмен данными через Web Сервисы

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Бесплатно (free)

Ознакомительная статья о том, как загружать\выгружать данные с одной базы в другую, используя Web Сервисы.

02.09.2019    19371    0    user5300    41    

EnterpriseData – часть 3. Загрузка данных, идентификация объектов

Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 Разработка v8 v8::УФ 1cv8.cf Бесплатно (free)

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    13476    0    ids79    8    

Свой веб интерфейс к 1С: побеждаем CORS на IIS, сохраняя авторизацию

WEB Администрирование данных 1С v8 Бесплатно (free)

Если "веб морда" расположена не по тому же адресу, что и публикация 1С (что часто бывает, например, при разработке, публикация 1С на http://localhost/1c, а разрабатываемое веб-приложение на http://localhost:8080) или, например, мы заходим на веб приложение то по ip адресу, то по имени сервера, или просто веб сервер и сервер, на котором опубликована 1С - это разные сервера, то для большинства запросов от браузера к 1С срабатывает политика CORS, которая заключается в том, что браузер сначала посылает запрос OPTIONS, на который сервер должен ответить определенным образом, заголовками, содержащими разрешения, а потом уже (если разрешение есть), браузер посылает основной запрос. В случае, когда в публикации 1С (default.vrd) жестко прописан логин и пароль, разрулить ситуацию можно средствами 1С. В случае же, когда нужно сохранить авторизацию (или используется стандартный интерфейс odata), начинаются проблемы.

20.08.2019    10487    0    Fragster    9    

Загрузка из EXCEL в 1С. Чтение файла XLSX средствами 1С. ПостроительDOM Промо

Универсальные обработки Загрузка и выгрузка в Excel Обмен через XML v8 1cv8.cf Бесплатно (free)

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Метод "NativeXLSX" (ПостроительDOM). Обрабатываются данные EXCEL типов: "Строка", "Число", "Дата" ("Время"), "Булево", "Процент", а также изображения.

11.09.2014    71352    0    StepByStep    26    

Перенос дополнительных реквизитов в Конвертации данных 2.0

Перенос данных из 1C8 в 1C8 v8 КД Россия УУ Бесплатно (free)

Пример написания правил обмена (КД 2.0) для переноса дополнительных реквизитов справочника "Номенклатура", в том числе перенос ПВХ с разными типами значений.

13.08.2019    10039    0    vikulinamari    7    

Совсем простой обмен HTTP, 2 функции

WEB v8 Бесплатно (free)

Функция для вызова рест-сервиса и функция для разбора результата. Быстро, просто, универсально.

12.08.2019    8293    0    Yashazz    15    

Использование HTTP-сервиса для создания "фронтенда" HTML/CSS/jQuery. Продолжение

WEB v8 1cv8.cf Бесплатно (free)

Получение изображений из информационной базы и отправка файлов через "фронт" на HTML/CSS/JS.

08.08.2019    7828    0    Sedaiko    1    

Настройка типового обмена данными между: 1С: Предприятие Бухгалтерия ред. 3.0 (БП 3.0) и 1С: Управление торговлей ред. 10.3 (УТ 10.3). Промо

Перенос данных из 1C8 в 1C8 v8 УТ10 Россия Бесплатно (free)

В этой статье я опишу, как настраивается типовой обмен данными между БП 3.0 и УТ 10.3.

29.01.2014    264866    0    arr    53    

АИТП. Простой, событийно-управляемый обмен данными

Внешние источники данных v8 1cv8.cf Абонемент ($m)

В статье, на примере обмена с ЗУП 3.1, демонстрируется механизм событийно-управляемого взаимодействия конфигурации АИТП с прикладными решениями на платформе 1С:Предприятие.

1 стартмани

04.07.2019    4534    1    blackhole321    0    

1Script.Web. Интернет-приложения на языке 1С

WEB OneScript Инструментарий разработчика v8 Бесплатно (free)

Запросы рынка таковы, что любое современное клиент-серверное приложение должно иметь веб-интерфейс. Почему бы не писать такие приложения на языке 1С? Андрей Овсянкин расскажет о возможностях разработки веб-приложений на базе 1Script, рассмотрит перспективы этого направления и в качестве демонстрации покажет «боевое» веб-приложение на новом движке – кроссплатформенную консоль администрирования парка кластеров 1С.

20.05.2019    19346    0    Evil Beaver    33    

Программное создание xml (а можно и HTML) на основе xml схемы (XSD), через фабрику XDTO

Обмен через XML v8 1cv8.cf Бесплатно (free)

Объект XDTO, Фабрика XDTO, ПакетXDTO - как же это все сложно, или нет?

20.05.2019    9394    0    Eret1k    12    

Отладка правил обмена 7.7, 8 Промо

Перенос данных из 1С7.7 в 1C8.X Обмен через XML Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

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

29.10.2013    50970    0    pyrkin_vanya    70    

Конвертация 3.0. Пример доработки: два справочника в один

Обмен через XML v8 КД ERP2 БП3.0 Россия Бесплатно (free)

Доработка правил конвертации путем расширения конфигурации: номенклатура и характеристика (ERP) в номенклатуру (БП).

15.05.2019    7297    0    forusing    4    

Полезные приемы при работе с Конвертацией данных 2.1. Логирование, интерактивное управление, дозаполнение и постпроведение документов

Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Некоторые полезные приемы для КД 2.1, которые могут пригодиться как при доработке типовых правил, так и самописных.

22.04.2019    8908    0    maks_20    9    

Отправка файлов через SOAP. SOAP with attachments, MTOM

WEB v8 1cv8.cf Россия Бесплатно (free)

В продолжение «своеобразной» поддержки 1С протокола SOAP, описанной в https://infostart.ru/public/965259/, опишу еще одну особенность. 1С не поддерживает возможность отправки файлов-вложений. Для решения этой проблемы пришлось самостоятельно писать формирование пакетов SOAP и разбор ответов сервера.

18.04.2019    8067    0    mysm    2    

Кэширование COM-соединения. Три способа Промо

Практика программирования Перенос данных из 1С7.7 в 1C8.X Внешние источники данных WEB v8 Россия Бесплатно (free)

Статья о трех способах кэширования COM-соединения в 1С:Предприятии 8.x.

11.04.2013    40517    0    YPermitin    34    

HTML-клиент у конфигурации 1С

WEB v8 Бесплатно (free)

Приветствую. В этой публикации опишу свой опыт создания html-клиента для конфигурации 1С с помощью http-сервисов. HTML-клиент в этом случае - это frontend (html + css+ js), который генерирует и выдает пользователю конфигурация + backend, который тоже реализован в этой же конфигурации.

17.04.2019    16930    0    Smaylukk    119    

Работа с ComОбъектом 1С 8.2; 8.3

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Бесплатно (free)

Определение типов и значений через COM соединение между конфигурациями.

15.04.2019    19666    0    vik070777    12    

Парсинг сайтов из 1С на примере ломбарды.рф с помощью XPATH для ДокументDOM

WEB v8 Бесплатно (free)

На всякую хитрую гайку всегда найдется болт с резьбой (с)

01.04.2019    15008    0    starik-2005    33