Реализация простого http-сервиса "Просмотр карточки номенклатуры(товара) в браузере"

Публикация № 958701 07.12.18

Интеграция - WEB-интеграция

hhtp-сервисы http 1с в браузере

Практический пример реализации простого http-сервиса средствами 1С Предприятие 8.3. Обеспечивает просмотр списка товаров и просмотр данных товара в браузере.

Добрый день, коллеги!  

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

Небольшое отступление от темы:

В этой статье НЕ будет рассказано, про установку и настройку веб-сервера и подробности работы с http-сервисами в 1С Предприятие 8.  Это все можно узнать прочитав статьи, ссылки на которые указаны ниже.

Благодарности:

Выражаю благодарность Илье Головацкому (YAGolova)  и Дмитрию Сидоренко (dsdred) за статьи по этой теме. Результат был получен гораздо быстрее, чем если бы пришлось разбираться самостоятельно. Вот ссылки на статьи, которые использовались при изучении вопроса: 

HTTP-сервисы для тех, кто ничего не понимает в WEB 

HTTP Сервисы: Путь к своему сервису. Часть 1   Это серия из 4-х статей. Привожу ссылку на первую статью, ссылки на остальные можно взять уже там.

Рассказывать постараюсь кратко. Итак приступим. 

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

После поиска информации по теме было принято решение использовать  http-сервисы в платформе 1С 8.3

Разработка и тестирование  производилось на платформе 1С Предприятие 8.3 (8.3.13.1513) в  серверном режиме. СУБД -  MSSQL 2008

В качестве Web-Сервера  использовался  Apache 2.2.25 под Windows. Пример настройки например здесь:  Настройка веб сервера Apache + 1С (Пошаговое руководство)

 Apache настроен на локальной машине,  доступен по адресу: http://localhost

Работа сервиса протестирована в Internet Explorer, Google Chrome, Yandex браузере. 

Логика работы: 

Создаем HTTP -Сервис, который выполняет две функции:

  • возвращает список номенклатуры
  • возвращает данные выбранной номенклатуры по коду

Важно: В нашем примере данные в браузер передаются уже в виде готового текста формата html и браузер отображает полученный  html-код .

Функции, которые обрабатывают запрос, формируют табличный документ с данными, который сохраняется в формате html, и полученный текст html передается уже в качестве ответа в браузер.

Реализация:

1. Создаем новую базу на сервере 1С Предприятие. 

2. В ветке метаданных "Общие" находим "HTTP-сервисы" и в нем Добавляем новый сервис. Я назвал его "ПросмотрНоменклатурыЧерезБраузер".  Здесь же определяем очень важное свойство "Корневой URL", ставим значение "Nom" -  используется  как часть будущей  ссылки на наш сервис. 

На вкладке  "Шаблоны URL" создаем шаблон "Номенклатура" и устанавливаем значение /{Metod}

В параметр {Metod} мы будем передавать название метода в наш  http-сервис из браузера. И соответственно по названию  будем определять, что нужно сделать.  Больше обязательных данных нет.  Поэтому в шаблоне больше ничего не указываем.

Нам еще нужен дополнительный параметр "Code", который нужно будет передать на наш сервис для получения данных по конкретной номенклатуре (простой поиск по коду). Его мы будем  будем  передавать в браузере в следующем виде: http://localhost/[ИмяБазы]/hs/Nom/GetDataNom?Code=[ЗначениеКода] . При обработке запроса найдем в нем значение параметра "Code".

Далее добавим  к ранее созданному шаблону метод "Получить", который имеет  тип HTTP-метод "GET".

Далее создадим обработчик метода "ОбработатьЗапрос" и перейдем в модуль нашего HTTP-сервиса.

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

// Функция метода GET
Функция ОбработатьЗапрос(Запрос)
	Ответ = Service_http_ОбработкаМетодовGet.ОбработатьЗапросНаСервере(Запрос);
	Возврат Ответ;
КонецФункции // ОбработатьЗапрос()

Для удобства разработки и отладки лучше вынести организацию нужного функционала в общий модуль. Сделаем это.

Добавим общий модуль "Service_http_ОбработкаМетодовGet" и реализуем экспортную функцию первичной обработки запроса, которая будет вызываться из обработчика "ОбработатьЗапрос".

// ОСНОВНАЯ ФУНКЦИЯ ДЛЯ ВЫЗОВА ИЗ ОБРАБОТЧИКА HTTP-СЕРВИСА
Функция ОбработатьЗапросНаСервере(Запрос) Экспорт
	Ответ = Новый HTTPСервисОтвет(200);
	
	ИмяМетода = запрос.ПараметрыURL.Получить("Metod");   // Возвращает список номенклатуры
	// В ЗАВИСИМОСТИ ОТ МЕТОДА ПОЛУЧЕННОГО ИЗ ВХОДЯЩЕГО ЗАПРОСА СФОРМИРУЕМ ОТВЕТ
	Если ИмяМетода = "GetListNom" Тогда
		ТабДокХТМЛ = СформироватьСписокНоменклатурыНаСКД();
		
	ИначеЕсли ИмяМетода = "GetDataNom" Тогда  // Возвращает данные выбранной номенклатуры
		КодНоменклатуры = Запрос.ПараметрыЗапроса.Получить("Code");
		Если КодНоменклатуры <> Неопределено Тогда // если параметр передан
			ТабДокХтмл = СформироватьДанныеПоНоменклатуре(КодНоменклатуры);
		Иначе
			Ответ.КодСостояния=405;
			ТабДокХТМЛ = "Отсутствует значение кода номенклатуры ";
		КонецЕсли;
		
	Иначе
		Ответ.КодСостояния=405;
		ТабДокХТМЛ = "Отсутствует метод " + ИмяМетода;
	КонецЕсли;
	
	Ответ.УстановитьТелоИзСтроки(ТабДокХТМЛ,КодировкаТекста.UTF8);
	// ЧТОБЫ НА СТРАНИЦЕ КОРРЕКТНО ОТОБРАЖАЛАСЬ КОДИРОВКА ДОБАВИМ СЛЕДУЮЩИЙ КОД
	Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
	Возврат Ответ;
КонецФункции // ОбработатьЗапросНаСервере()

Получение списка номенклатуры сделано с помощью общего макета на СКД, чтобы при необходимости можно было быстро изменить внешний вид списка. Для Этого создаем Общий макет. У меня он называется "МакетСКД", тип "Схема компоновки данных". Добавляем Набор данных "Запрос".  Текст запроса очень простой, но там есть поле, которое служит ссылкой для перехода в браузере на получение данных по конкретной номенклатуре. Текст запроса следующий: 

ВЫБРАТЬ
	Номенклатура.Родитель,
	Номенклатура.Код,
	Номенклатура.Артикул,
	"<a " + "href=""" + "http://localhost/ddashevsky_http/hs/Nom/GetDataNom?Code=" + Номенклатура.Код + """" + ">" + Номенклатура.Наименование + "</a>" КАК Перейти,
	Номенклатура.Представление
ИЗ
	Справочник.Номенклатура КАК Номенклатура
ГДЕ
	НЕ Номенклатура.ПометкаУдаления
	И НЕ Номенклатура.ЭтоГруппа

Здесь поле "Перейти" формируется в виде кода на html, которую браузер  отображает как ссылку с вызовом метода GetDataNom, который уже служит для получения данных выбранного элемента справочника номенклатуры.

В остальном все стандартно.

Скриншот настроек макета:

Текст функции "СформироватьСписокНоменклатурыНаСКД"

Функция СформироватьСписокНоменклатурыНаСКД()Экспорт
	
	ТабДок = Новый ТабличныйДокумент;	
	
	СхемаКомпоновкиДанных= ПолучитьОбщийМакет("МакетСКД");
	КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных();
	КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
	КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
	ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
	
	НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
	
	//  ФОРМИРУЕМ МАКЕТ, С ПОМОЩЬЮ КОМПОНОВЩИКА МАКЕТА
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	// ПЕРЕДАЕМ В МАКЕТ КОМПОНОВКИ СХЕМУ, НАСТРОЙКИ, ДАННЫЕ РАСШИФРОВКИ 
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,НастройкиОтчета,ДанныеРасшифровки);
	
	// ВЫПОЛНЯЕМ КОМПОНОВКУ С ПОМОЩЬЮ ПРОЫЕССОРА КОМПОНОВКИ
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки,Истина);
	
	//  ВЫВОДИМ РЕЗУЛЬТАТ В ТАБЛИЧНЫЙ ДОКУМЕНТ
	ПроцессорВывода =новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ТабДок);
	
	ПроцессорВывода.Вывести(ПроцессорКомпоновки);	
	
	ТабДок.ОтображатьЗаголовки = Ложь;
	ТабДок.ОтображатьСетку	   = Ложь;
	
	// СФОРМИРУЕМ HTML-КОД ИЗ ТАБЛИЧНОГО ДОКУМЕНТА
	ТекстХТМЛ = СформироватьХТМЛИзТабдок(ТабДок);
	Возврат ТекстХТМЛ;	
	
КонецФункции // СформироватьСписокНоменклатурыНаСКД()

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

После чего вызываем функцию формирования HTML-кода из табличного документа.

// ВОЗВРАЩАЕТ HTML-КОД ТАБЛИЧНОГО ДОКУМЕНТА
Функция СформироватьХТМЛИзТабдок(ТабДок)
	
	ИмяВремФайла = ПолучитьИмяВременногоФайла();
	//имяВремФайла =  "E:\temp\ном.html";    // временно для отладки
	ТабДок.Записать(ИмяВремФайла,ТипФайлаТабличногоДокумента.HTML);
	ТекстХТМЛ = Новый ТекстовыйДокумент;
	ТекстХТМЛ.Прочитать(ИмяВремФайла);
	ТекстХТМЛ = ТекстХТМЛ.ПолучитьТекст();
	
	// КАК ВЫЯСНИЛОСЬ ПРИ СОХРАНЕНИИ В ФОРМАТ HTML ТЕГИ НЕ ПОКАЗЫВАЮТСЯ В ОКНЕ БРАУЗЕРА, ПОЭТОМУ ОНИ ЗАМЕНЯЮТСЯ НА СИМВОЛЫ  "&lt;","&gt;"
	// ПОЭТОМУ СГЕНЕРЕННАЯ ССЫЛКА ВЫВОДИТСЯ В ВИДЕ ТЕКСТА. ЗАМЕНИМ ЭТИ СИМВОЛЫ НА ТЕГИ И ОТДАДИМ УЖЕ В БРАУЗЕР
	ТекстХТМЛ = СтрЗаменить(ТекстХТМЛ,"&lt;","<");
	ТекстХТМЛ = СтрЗаменить(ТекстХТМЛ,"&gt;",">");
	ТекстХТМЛ = СтрЗаменить(ТекстХТМЛ,"&nbsp;"," ");
	
	//НЕЧЕГО ОСТАВЛЯТЬ МУСОР, УДАЛЯЕМ ВРЕМЕННЫЙ ФАЙЛ
	УдалитьФайлы(ИмяВремФайла);
	
	Возврат ТекстХТМЛ;	
КонецФункции // СформироватьХТМЛИзТабдок()

 

Читаем его в виде текста и вроде бы все уже хорошо можно отдавать его как конечный результат в браузер и пожинать плоды.

... и здесь я наступил на грабли.

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

Тогда я стал смотреть файл, полученный после записи табличного документа в формате html и увидел, что все теги "<" ">", которые и служат в качестве управляющих символов в html заменились на "&lt;" и "&gt;" и еще вместо пробелов, которые разделяют команды расположенные между тегами, ставился "&nbsp;" поэтому браузер считал данную строку текстом. Поэтому в функцию СформироватьХТМЛИзТабдок и был добавлен следующий код: 

ТекстХТМЛ = СтрЗаменить(ТекстХТМЛ,"&lt;","<");
ТекстХТМЛ = СтрЗаменить(ТекстХТМЛ,"&gt;",">");
ТекстХТМЛ = СтрЗаменить(ТекстХТМЛ,"&nbsp;"," ");

..и все стало отображаться как нужно.

Едем дальше.

Данные номенклатуры формируются функцией "СформироватьДанныеПоНоменклатуре(Код)"

Функция СформироватьДанныеПоНоменклатуре(Код) Экспорт
	табдок = Новый ТабличныйДокумент;
	Запрос = Новый запрос;
	Запрос.Текст = "ВЫБРАТЬ
	|	Номенклатура.Ссылка,
	|	Номенклатура.Код,
	|	Номенклатура.Наименование,
	|	Номенклатура.НаименованиеПолное,
	|	Номенклатура.Артикул,
	|	Номенклатура.Представление КАК НоменклатураПредставление,
	|	Номенклатура.ПутьККартинке
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	Номенклатура.Код = &Код";
	
	Запрос.УстановитьПараметр("Код",Код);
	
	Рез = Запрос.Выполнить();
	Если Не Рез.Пустой() Тогда
		Выборка = Рез.Выбрать();
		Выборка.Следующий();
		
		Макет = ПолучитьОбщийМакет("МакетЭлементаНоменклатуры");
		Шапка = Макет.ПолучитьОбласть("Данные");
		Шапка.Параметры.Заполнить(Выборка);
		
		Табдок.Вывести(Шапка);
		Если СокрЛП(Выборка.путьККартинке) <>""  Тогда // если поле не пустое, попытаемся вывести картинку 
			ОблКартинки = Макет.ПолучитьОбласть("Картинка");
			СсылкаНаКартинку = ПолучитьСсылкуХТМЛПоАдресуКартинки(Выборка.ПутькКартинке);
			ОблКартинки.Параметры.КартинкаНоменклатуры = СсылкаНаКартинку;	
			табдок.Вывести(ОблКартинки);
		КонецЕсли; 
	КонецЕсли;
	
	ТекстХТМЛ = СформироватьХТМЛИзТабдок(ТабДок);
	
	//ДОБАВИМ В УЖЕ ГОТОВЫЙ HTML-КОД НАВИГАЦИОННУЮ ССЫЛКУ "НАЗАД" ХОТЯ ПО БОЛЬЛЬШОМУ СЧЕТУ МОЖНО ВОСПОЛЬЗОВАТЬСЯ В БРАУЗЕРЕ КНОПКОЙ "НАЗАД"
	ХТМЛСсылкаНавигацииНазад = ПолучитьТекстНавигационнойСсылки_Назад();
	ТекстХТМЛ = СтрЗаменить(ТекстХТМЛ,"</TABLE>","</TABLE> " + ХТМЛСсылкаНавигацииНазад);
	
	Возврат ТекстХТМЛ;
КонецФункции // СформироватьДанныеПоНоменклатуре()

Обращу внимание на несколько моментов:

1. В данной случае используется Общий макет, с типом - "Табличный документ", а не схема компоновки данных как в первом случае.

2. Картинка выводится, если в элементе номенклатура, в реквизите "ПутькКартинке" указан путь до картинки. 

3. Первоначально хотел выводить картинку с помощью формирования команды <img src="путь до картинки" alt="описание" /> , но как выяснилось по умолчанию браузеры не всегда отображают картинку находящуюся на сетевом ресурсе из-за настроек безопасности по умолчанию. Менять настройки браузеров  на n-количестве рабочих мест - "это не наш метод"(с). Поэтому решил встраивать картинку прямо в код html путем кодирования картинки в строку BASE64 и помещая ее в соответствующую обертку типа 

<img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
    9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="это что-то" />

Далее привожу все остальные вспомогательные функции использующиеся в функции СформироватьДанныеПоНоменклатуре()

// ВОЗВРАЩАЕТ КОД HTML ДЛЯ НАВИГАЦИОННОЙ ССЫЛКИ С ДЕЙТВИЕМ ПЕРЕХОДА НА ПРЕДЫДУЩУЮ СТРАНИЦУ
Функция ПолучитьТекстНавигационнойСсылки_Назад()
	ТекстСсылки	 = "<a " + "href=""javascript:history.back(1)""" + ">Вернуться назад" + "</a>";
	Возврат ТекстСсылки;
КонецФункции // ПолучитьТекстСсылкиНаСписокноменклатуры()

// ОСНОВНАЯ ВЫЗЫВАЕМАЯ ФУНКЦИЯ ФОРМИРОВАНИЯ КОДА ДЛЯ ВСТАВКИ КАРТИНКИ В БУДУЩИЙ HTML-КОД
Функция ПолучитьСсылкуХТМЛПоАдресуКартинки(ПутькКартинке)
	СтрокаBase64 = ПолучитьКартинкуBase64(ПутькКартинке);	
	ТекстСсылки =  "<img src="+"""" +СтрокаBase64 +""""+Символы.НПП+"alt="+""""+"картинка"+""""  + "/>";
	Возврат ТекстСсылки;
КонецФункции // ()

// ВСПОМОГАТЕЛЬНАЯ ФУНКЦИЯ ВОЗВРАЩАЕТ КАРТИНКУ В ВИДЕ СТРОКИ BASE64
// ВЫЗЫВАЕТСЯ ИЗ "ПолучитьСсылкуХТМЛПоАдресуКартинки"
Функция ПолучитьКартинкуBase64(ПутькКартинке)
	
	нКартинка = Новый Картинка(ПутькКартинке); // ПОЛУЧИМ КАРТИНКУ
	фКартинки = Строка(нКартинка.Формат());    // ОПРЕДЕЛИМ ФОРМАТ КАРТИНКИ ДЛЯ ДАЛЬНЕЙШЕГО ФОРМИРОВАНИЯ HTML-ССЫЛКИ
	ДвоичныеДанныеКартинки = нКартинка.ПолучитьДвоичныеДанные(); // ДЛЯ КОДИРОВАНИЯ В BASE64 ПОЛУЧИМ ДВОИЧНЫЕ ДАННЫЕ КАРТИНКИ
	
	//КОДИРУЕМ КАРТИНКУ В BASE64
	СтрокаBASE64 = Base64Строка(ДвоичныеДанныеКартинки);
	
	//ФОРМИРУЕМ КОМАНДУ HTML ДЛЯ ВСТАВКИ КАРТИНКИ
	СтрокаBASE64 = "data:image/"+ФКартинки+";base64,"+СтрокаBASE64;
	
	// ДОПОЛНИТЕЛЬНО УБЕРЕМ ИЗ ПОЛУЧЕННОЙ СТРОКИ СЛУЖЕБНЫЕ СИМВОЛЫ, ТАК КАК НЕ ВСЕ БРАУЗЕРЫ КОРРЕКТНО ОТОБРАЖАЮТ КАРТИНКИ С ТАКИМИ СИМВОЛАМИ
	СтрокаBASE64 = СтрЗаменить(СтрокаBASE64,символы.ВК,"");
	СтрокаBASE64 = СтрЗаменить(СтрокаBASE64,символы.ПС,"");
	
	Возврат СтрокаBASE64;
КонецФункции // ПолучитьКартинкуBase64()

// ВОЗВРАЩАЕТ ПЕРВИЧНУЮ ССЫЛКУ ДЛЯ БРАУЗЕРА С КОТОРОЙ НАЧИНАЕТСЯ РАБОТА С HTTP_СЕРВИСОМ
Функция СформироватьАдресСсылки() Экспорт
	ИмяБазы = Макс (НСтр(СтрокаСоединенияИнформационнойБазы(),"Ref"));
	КорневойURL =  Метаданные.HTTPСервисы.ПросмотрНоменклатурыЧерезБраузер.КорневойURL;
	Адрес = "http://localhost/"+ ИмяБазы + "/hs/"+КорневойURL+"/GetListNom";
	Возврат Адрес;
КонецФункции // СформироватьАдресСсылки()

Еще немного про экспортную функцию СформироватьАдресСсылки() - она используется в обработке "ПроверкаФормированияHTML" для запуска браузера с первоначальной ссылкой на получение списка номенклатуры. Если сервер не локальный, то необходимо соответственно ее подправить.

Саму обработку для отладки особо описывать не буду, она просто вызывает функции общего модуля СформироватьСписокНоменклатурыНаСКД","СформироватьДанныеПоНоменклатуре" и выводит полученный html-код в одном поле и отображение его в html-поле. Но так как я выше уже говорил, решить возникшую проблему неправильного отображения в браузере мне не помогло, но на всякий случай удалять из конфигурации я ее не стал :)

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

Вот в принципе и все. Буду рад комментариям, поучениям и всему остальному :)  И надеюсь, что это кому-нибудь сэкономит немного времени. 

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

Наименование Файл Версия Размер
TestDb_HttpService.dt

.dt 46,24Kb
25
.dt 46,24Kb 25 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. efin 07.12.18 17:36 Сейчас в теме
Добавьте еще один гет-метод, который "по ссылке" отдает из базы файл картинки в поток (не в base64, а бинарно).
И в отображаемую страничку встраивайте картинки именно по этой ссылке.
Трактор; dmitry1975; +2 Ответить
2. dmitry1975 315 07.12.18 23:01 Сейчас в теме
(1) А каковы буду преимущества этого метода? Сейчас при формировании ответа, генерится полностью страничка вместе с картинками и отдается. В случае реализации метода, который предложили вы, возрастет нагрузка на сервис, поскольку вместо одного запроса, при наличии нескольких картинок на страничке буду дополнительно сделаны запросы в сервис по числу картинок. На мой взгляд это не сильно оптимально.. единственно, что страничка возможно будет быстрее отображаться..
3. efin 08.12.18 10:52 Сейчас в теме
(2) Ну Вы же сами пишите, хотел ссылки вставлять, не разобрался как. Вот я Вам и предлагаю вариант со ссылками, который будет работать не только в локальной сети с наличием файловой шары.
Так же я не уверен, что браузеру будет "хорошо" при большом количестве объемных картинок в формате base64
Ну и просто полезно такой код по отдаче картинок написать, ИМХО.
9. dmitry1975 315 08.12.18 14:15 Сейчас в теме
(3 )Да, спасибо за предложение! Скорее всего я реализую эту фичу, потому что мне самому интересно проверить, насколько это будет лучше работать. В моем случае картинки небольшие, и их заведомо не так много, а с учетом того, что база находится в локальной сети, то по скорости не будет больших задержек даже если картинки будут большими.. единственно может есть ограничения на объем передаваемых данных? Но в принципе это можно проверить :)
4. DO_WHILE_LOOP 358 08.12.18 11:15 Сейчас в теме
без пагинации на проде не взлетит, с ростом базы начнутся проблемы с выводом GetListNom
Трактор; dmitry1975; +2 Ответить
7. dmitry1975 315 08.12.18 14:10 Сейчас в теме
(4) Вы правы, по хорошему конечно нужно разделять информацию на порции..
У нас это не сильно актуально, потому что количество производимого товара не такое и большое, и новый товар появляется не настолько часто, а если появляется, то скорее всего что-то снимается с производства, поэтому я не стал акцентировать на этом внимание. Но дело даже не в этом.. Данная статья просто реализует пример http-сервиса, который конечно есть куда развивать и дорабатывать:)
Я не ставил задачей статьи показать законченное решение, а хотел поделиться с тем, с чем мне пришлось столкнуться в процессе решения своей задачи, с учетом того, что я с веб вообще не имею опыта работы, но знаю, что сейчас это актуально для многих.
Но в любом случае я благодарю вас, за то, что акцентировали внимание на этой важной детали! И обязательно учту это в будущем..
5. logarifm 1110 08.12.18 13:58 Сейчас в теме
В целом все отлично к статье никаких вопросов нет. А вот к способу выбора тут конечно возник вопрос. В целом, а почему именно вообще сервис сделан? Ну вот в чем его особенность. Поймите меня верно сейчас в сервисе, что есть? Необходимо знать ссылку куда зайти в него для кого это для менеджеров ? А если надо получить код товара то еще в браузере надо чего-то там в адресную строку добавлять. То есть возрастает ошибки ввода если это производит обычный менеджер, а не обученный ИТ-спец.

Если сделать обычный упрощенный вход в систему с узким набором динамического списка, где возможностей гораздо больше.
10. dmitry1975 315 08.12.18 14:56 Сейчас в теме
(5) Спасибо за комментарий!
Расскажу почему выбран именно http-сервис:

1. У нас конфигурация "УПП". Для публикации базы, и работы в веб-клиенте необходимы управляемые формы, которые нужно будет для документов, справочников и тому подобное.Часть там есть, но этого недостаточно, потому что реализован большой доп. функционал, которые тоже придется переводить на УФ. На это нужно прилично времени, особенно с учетом того, что времени на это практически нет. Поэтому публикация базы не рассматривается.

2. Упрощенный вход в систему и динамический список тоже не панацея, поскольку я писал, что данные по товару, которые должны видеть пользователи находятся не только в справочнике "номенклатура", а разбросаны по регистрам, доп. сведениям, характеристикам, фотографии находятся на сетевом ресурсе, и не скопом и соответственно в разных папках, подпапках. Поэтому динамический список конечно отразит справочник номенклатуры, но пользователю придется все равно собирать информацию по разным местам и это самый главный момент задачи. Пользователь должен видеть все важную информацию о товаре в одном месте!
3. Возможно я ошибаюсь, но в случае с интерфейсом ODATA, так же через web-интерфейс дается доступ к публикуемым объектам метаданных. Почему нас это не спасет написано выше, но еще раз повторюсь: информация о товаре нужна в одном месте, без лишних телодвижений.

А теперь чем мне понравился http-сервис?

1. Достаточно простая реализация. (я не работал с web-сервисами, читал, что там реализация сложнее, но конечно тоже надо будет попробовать и оценить для себя для каких задач это можно использовать)
2. Я реализовал только то, что мне было необходимо, минимальными затратами. Я не сторонник делать универсальные решения, когда нужно решить конкретную задачу! Потому что на универсальное решение затрачивается очень много времени, которого всегда не хватает!
3. Еще один момент, Http-сервисы в 1С это относительно новая и одна из последних фич платформы 1С, в смысле интеграции с WEB, поэтому просто хотелось разобраться как это работает на реальной задаче. Что и было сделано.

Еще отвечая на один ваш вопрос: "
А если надо получить код товара то еще в браузере надо чего-то там в адресную строку добавлять. То есть возрастает ошибки ввода если это производит обычный менеджер, а не обученный ИТ-спец"

У меня ссылка на метод получения информации по элементу, формируется автоматически при выводе, поэтому вводить что-то а в адресную строку не потребуется, и вероятность ошибки существенно снижается :)

Надеюсь, что я смог ответить на ваши вопросы.
14. logarifm 1110 08.12.18 23:45 Сейчас в теме
(10)
. Поэтому публикация базы не рассм

У меня была такая же проблематика конфа на ОФ (обычных формах) и постала задача чтобы поставщики могли работать с нашей номенклатурой и для автоматизации процеса делать в ней заявки. Сделал очень просто - ОБРАБОТКА на УФ (управляемой форме) в конфигурации свойство ест-но выставлено использовать ОФ и УФ. И все дал спец. роль и на рабочий стол выделил обработку.
17. dmitry1975 315 09.12.18 00:18 Сейчас в теме
(14) Да, в вашем случае это нормальное решение. Но здесь конкретная задача: только отображать информацию о товаре, а не редактировать ее, поэтому обработка здесь не будет оптимальным решением.
6. logarifm 1110 08.12.18 14:01 Сейчас в теме
Я к тому виду, что можно же было опубликовать саму 1С завести пользователей для входа или одного общего чтобы не парится и входите будьте здоровы. Лицензия один фиг нужна , что на веб-сервис, что на вход!
12. TitanLuchs 344 08.12.18 15:37 Сейчас в теме
(6) При прочих равных использование http--сервиса в данной задаче более оптаимльный вариант. Страница загружается значительно быстрее, чем интерфейс 1С, не требуется ввод логинов-паролей, установленная платформа 1С на компьютере не нужна, нагрузка на сервер ниже в разы. И лицензия на веб-сервис в клиент-серверном варианта съедаться не будет ни одна, достаточно лицензии на сервер 1С Предприятия.
8. logarifm 1110 08.12.18 14:13 Сейчас в теме
Ну и забыл. Вообще можно было без всех маневров использовать ОДАТА :)
11. TitanLuchs 344 08.12.18 15:33 Сейчас в теме
Хорошая реализация. Пара моментов:
1. HTML, который генерит 1С при сохранении табличного документа, сильно перегружен лишними стилями и прочими элементами. Будет быстрее работать, если создать шаблон строки таблицы (<tr>) и заполнять этот шаблон данными из 1С, таким образом собирать html всей страницы. Самый идеальный вариант -- отправлять в браузер только JSON с данными строки, а саму строку собирать на клиенте яваскриптом, но в этой задаче это конечно, излишне.
2. Для быстрого отбора неплохо добавить поле поиска. На его обработчик оnchange повесить функцию, которая дернет http-сервис 1С, передав в него еще один параметр - подстроку поиска. По этой подстроке можно выбирать нужную номенклатуру: по наименованию или коду, и формировать список номенклатуры с учетом этого отбора.
Sergynia; dmitry1975; +2 Ответить
15. dmitry1975 315 09.12.18 00:08 Сейчас в теме
(11)
1. Да, это верно подмечено! Содержимое файла, который получается после сохранения табличного документа в формате html, далеко от совершенства :)) Скорее всего попозже я реализую ваш метод.
2. Про поле "поиска" я думал, но пока для моей задачи это не особо актуально, но в принципе на будущее тоже можно будет сделать. Стандартным поиском по странице работает нормально..

Спасибо за советы!
13. DO_WHILE_LOOP 358 08.12.18 18:21 Сейчас в теме
вот как пример оптимизации, посмотрите на скорость загрузки при разбивке по категориям
https://superdealsae.github.io/category/

и при варианте полной загрузки каталога
https://superdealsae.github.io/search

при этом в обоих случаях данные хранятся в json формате отображается только видимая часть каталога и реализована ленивая подгрузка изображений
16. dmitry1975 315 09.12.18 00:13 Сейчас в теме
(13) Да видно, что существенно быстрее страничка отображается при разбивке по категориям. Есть куда стремиться.. Спасибо!
18. s_vidyakin 64 09.12.18 16:09 Сейчас в теме
генерить целиком html - так себе решение. У меня есть задумка сделать страницы на vue.js и коннектиться к 1С только за данными. Должны быть абсолютно независимыми представление (html+vue+vuetify) и бэкэнд (1С). Можно отдельно тестить и разрабатывать и то и другое, разными людьми. Было бы идеально, если 1С добавила в платформу поддержку html-макетов для объектов и js-библиотек в секции "Общие объекты". Пока что приходится городить костыли на текстовых макетах. А если вставить в него сжатую js-библиотеку, где несколько килобайт в одну строку, конфигуратор до сих пор падает.
19. TitanLuchs 344 09.12.18 20:10 Сейчас в теме
(18) Подобные решения в большинстве случаев передаются на поддержку 1Сникам, которые довольно слабо разбираются в vue. Я занимаюсь интеграцией 1С с веб с 2008 года, сделал много проектов на эту тему и всегда предлагаю клиенту варианты: передавать из 1С только JSON и собирать страницу в браузере, или сразу генерить в 1С готовый HTML. Только один выбрал первый вариант, и то потому, что выгружали огромную таблицу порциями, там на готовом HTML браузер начинал подвисать при добавлении новых строк в <table>. Все остальные выбирают генерацию html на стороне 1С, так как это проще и дешевле в сопровождении, но при этом отвечает требованиям по скорости отображения страниц и нагрузки на сервер.
20. Xershi 1389 09.12.18 20:25 Сейчас в теме
Возможно автор не знал что опубликовать базу было бы ещё проще. Открыл и работай.
21. dmitry1975 315 09.12.18 21:20 Сейчас в теме
(20) Я писал выше (пост 10), почему публикация базы в данном случае не подходит.
24. Xershi 1389 10.12.18 15:38 Сейчас в теме
(21) что-то вы лукавите. У вас простой вебсервис, функционал которого на УФ пилится за пол часа. Тут скорее нет опыта на УФ?
Тогда соглашусь в рамках цейтнота и нехватки знаний оптимальный вариант.
Тогда укажите это в начале статьи, а то до коментариев надо дойти же!
А то прочитав вашу статью складывает мнение, что вы безграмотный программист, а не решали задачу в заданных условиях...
25. dmitry1975 315 11.12.18 08:23 Сейчас в теме
(24) Я не понимаю с чего вы взяли, что у меня нет опыта работы на УФ. По большей части, пишу как раз на управляемых формах.

Но раз вы читаете статью по диагонали не вникая, я не вижу смысла повторяться и писать для вас, почему выбран именно http-сервис. Если интересно, прочитайте внимательно, а если вам просто отметится и написать что-нибудь, то не стесняйтесь! :) только извините, на такие комментарии :
А то прочитав вашу статью складывает мнение, что вы безграмотный программист,

я больше отвечать не буду. Каждый сам для себя решит- полезна ли ему статья или нет.
22. dsdred 2613 10.12.18 08:24 Сейчас в теме
Рад, что статьи пригодились.
23. dmitry1975 315 10.12.18 08:26 Сейчас в теме
(22) Да, еще раз спасибо за статьи! :)
Прекрасно когда уже есть информация, с которой можно начать изучение :)
26. yalex9 102 18.01.19 14:07 Сейчас в теме
Отличная статья и хоршие комментарии. Спасибо!
maxopik2; dmitry1975; +2 Ответить
27. dmitry1975 315 18.01.19 14:12 Сейчас в теме
28. Vagner_Hate 63 31.01.19 17:29 Сейчас в теме
Соглашусь, статья будет полезна тем, кто еще не имеет опыта в создании http-сервисов средствами 1с.
29. dmitry1975 315 04.02.19 11:10 Сейчас в теме
30. kanyuk 26.08.19 17:46 Сейчас в теме
Привет! можно посмотреть TestDb_HttpService.dt в деле
31. dmitry1975 315 26.08.19 20:28 Сейчас в теме
(30) Привет! Не совсем понял, это вопрос или утверждение? :)
32. user598128_able123 5 28.05.20 03:35 Сейчас в теме
интересно, если номенклатур например 2000,
можно ли вывести постранично, на странице 50 элементов,
и еще можно ли добавить отбор фильтр по списку?
Dmitri93; +1 Ответить
33. user1782657 13.07.22 12:34 Сейчас в теме
Подскажите, пожалуйста, у меня 1С УТ самый свежий релиз.
В 1с загружен каталог товаров с сайта Битрикс + могу выгрузить Excel файл с URL данных товаров на сайте :
мне нужно создать в 1с свойство товара, в которое загрузить URL товаров, чтобы попадать на страницу товара на сайте в браузере.
Такое возможно сделать?
34. dmitry1975 315 13.07.22 14:21 Сейчас в теме
(33) Вам нужно к товару из справочника номенклатура в 1С УТ привязать ссылку его описания на сайте?

Не вижу проблем.
1. Создаете доп. реквизит или доп. свойство для справочника номенклатура в 1С УТ.
Если товар выгружен из сайта в 1С, значит у вас должна быть связь между товаром из справочника номенклатура с товаром на сайте по какому-то признаку (код товара, артикул.. и т.п.)
2. Программно читаете excel с товаром, ищете товар в 1С по признаку (код товара, артикул) и пишете его URL в ранее созданный доп. реквизит или свойство. Ну и соответственно реализуете кнопку перехода по ссылке.
3. Профит.

Или я не правильно вас понял?
user1782657; +1 Ответить
35. user1782657 13.07.22 14:52 Сейчас в теме
(34) спасибо, я так и предполагала
решила вопрос так https://prnt.sc/7o_ze1sKYf5t
https://prnt.sc/wL6O__f8Mxwk
но возникла проблема - URL кончается в 1с на слэш, но при клике на URL из доп.реквизита на сайте открывает без слэша последнего и дает ошибку 404 (это редиректом решу, конечно) - но странно, почему / отваливается при переходе....
36. dmitry1975 315 13.07.22 16:20 Сейчас в теме
(35) возможно вот это поможет:
Источник: https://dev.1c-bitrix.ru/support/forum/forum6/topic36842/
Поместить в .htaccess:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.*/[^/\.]+)$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]

Либо, можете через расширение реализовать кнопку, которая будет открывать ссылку с нужным адресом не отбрасывая конечный слэш.
37. user1782657 13.07.22 18:04 Сейчас в теме
(36) то есть это норма для 1С откинуть последний / из ссылки?
спасибо! самой в .htaccess лезть страшновато было - попробовала применить такой "костыль" - указываю в поле в 1С URL с двойным // на конце ссылки - и тогда 1 отваливается при переходе из 1С на сайт

(36)
через расширение реализовать кнопку
это для меня вообще тёмный лес!))
Оставьте свое сообщение

См. также

Интеграция с сервисом vetmanager

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

Данная обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.

6000 руб.

02.02.2021    12729    28    43    

15

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ 3. Отчеты по данным загруженным в регистры сведений. Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен.

11856 руб.

25.05.2021    9748    6    4    

6

Драйвер облачной кассы для Бизнес.РУ Чеки

ККМ WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Универсальный драйвер для фискализации чеков для сервиса Бизнес.РУ. Чеки (https://online-check.business.ru/). Работает с любой кассой, подключенной к сервису, в том числе и без физической кассы (Аренда облачной ККТ в датацентре). Принцип работы аналогичен наличию физической кассы, подключенной к рабочему месту 1С. Фискализация выполняется с любого рабочего места через интернет. Нет ограничений на количество рабочих мест, касс, компьютеров. Поддерживает печать с нескольких рабочих мест на одну кассу. Работает в любой операционной системе (Windows, Linux) и в любом клиенте (Тонкий, Толстый, Web, Мобильный клиент).

6000 руб.

03.06.2021    10801    8    0    

5

Contragent+ 9.1 для 1С 8.2/8.3

Обработка справочников Обмен с ГосИС Взаиморасчеты WEB-интеграция Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Платные (руб)

Универсальная обработка для экспресс-регистрации новых и обновления реквизитов существующих элементов справочников «Контрагенты» & «Организации» по данным Федеральной Налоговой Службы РФ (ЕГРЮЛ&ЕГРИП). Минимизация ручного ввода и соответствие данных 1С учредительным сведениям юр. лиц & ИП.

3600 руб.

13.12.2012    89079    173    308    

248

SALE! 10%

Автоматическая загрузка файлов (например, прайс-листов) из электронной почты, FTP, HTTP, их обработка и выгрузка на FTP (на сайт) и для других целей

Прайсы WEB-интеграция Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Автомобили, автосервисы Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Программа с заданным интервалом времени (или по ручной команде) скачивает файлы (например, прайс-листы поставщиков) из различных источников: письма электронной почты, FTP или HTTP-адреса, и сохраняет их в каталог упорядоченной структуры. При этом извлекает файлы из архивов, может переименовывать файлы и менять их формат (csv, xls, txt). Можно настроить выгрузку обработанных файлов на сайт (через FTP-подключение). Программа будет полезна компаниям, у которых есть большое количество поставщиков и/или прайс-листы поставщиков обновляются часто (необязательно прайс-листы, файлы могут быть любого назначения). Собранные таким образом актуальные версии прайс-листов можно выгрузить с помощью программы себе на сайт (или на любой FTP-сервер) или выполнить другие необходимые задачи.

10600 9540 руб.

28.05.2015    81770    25    51    

49

Прайс-лист с фотографиями, выгрузкой в Excel с подсчетом суммы заказа, загрузкой заказа в Управление торговлей 11 (Россия) и Управление торговлей для Беларуси 3

Прайсы Загрузка и выгрузка в Excel Оптовая торговля WEB-интеграция Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Прайс-лист для программы 1С: Управление торговлей 11 и Управление торговлей для Беларуси 3, позволяющий: 1) Формировать прайс-лист с фотографиями; 2) Сохранить прайс-лист в Excel с формулами, подсчитывающими количество и сумму заказа; 3) Передать сформированный прайс-лист по каналу ftp на сайт; 4) Сохранить прайс-лист в формате CSV; 5) Загрузить сделанный по прайс-листу заказ обратно в программу.

6000 руб.

04.09.2014    118175    42    105    

51

[Расширение] БОР-Навигатор.Культура

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

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    23180    7    0    

6

Поиск ИП/судебных участков по адресу и РОСП по адресу без использования api fssp

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бюджетный учет Платные (руб)

Обработка получает данные в сайтов с информацией по судам/должникам/отделам ФССП по адресу и/или ИНН и идентификаторам. Актуальна в связи с отключением возможности получать эти данные по API.

2400 руб.

22.03.2023    2863    6    2    

4

Расширение 1СПАРК риски для 1С:Документооборот 8 КОРП

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

Расширение для конфигурации 1С:Документооборот 8 КОРП, позволяющее с помощью сервиса "1СПАРК риски" проверять благонадежность контрагентов непосредственно из программы 1С.

7200 руб.

23.05.2018    27149    17    7    

14

Sync1C: Синхронизация 1С и OpenCart

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

Внешняя обработка для обмена данными с интернет-магазином OpenCart. Позволяет быстро наполнить магазин товарами, затем обновлять цены и добавлять новые товары. Далее можно средствами OpenCart настраивать и дополнять карточки товаров как надо для магазина, при этом связь товаров с 1С не теряется.

3840 руб.

30.03.2018    39875    73    133    

77

Справочник кодов ТНВЭД

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

Загрузка справочника ТНВЭД в базу данных 1С без изменения конфигурации. База кодов загружается с сайта www.nalog.ru или локального ресурса. После загрузки - справочник всегда под рукой! Реализован поиск по загруженной базе. Доступны примечания для групп справочника (комментарии налогового органа). Дополнительно реализовано занесение кодов ТНВЭД в справочники ИБ (например, справочник Номенклатура) как реквизита или свойства справочника. Подходит для всех стандартных конфигураций (БП 2.0, УПП 1.3, КА 1.1, УТ 10.3, Розница 1 и пр., написанных под обычные формы).

3100 руб.

29.09.2015    52043    13    4    

36

#KafkaЭтоПросто: Kafka Adapter 1С (Confluent) - отправляем сообщения

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

Сегодня поднимем в docker kafka с confluent'om, а в 1С, в EDT загрузим проект из репозитория, создадим обработку, в которой несколькими строчками отправим сообщение в kafka через rest proxy и в confluent control center посмотрим на него. Если коротко, то: как отправить сообщение в Kafka несколькими строчками кода без компонент, регистраций и смс.

5 стартмани

24.07.2022    10408    21    huxuxuya    29    

79

Яндекс.Метрика - загрузка статистики в 1С:Предприятие 8

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

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

3600 руб.

21.06.2022    6527    1    0    

3

Заполнение контрагентов по ИНН для УТ 10.3

Обработка справочников WEB-интеграция Платформа 1С v8.3 1С:Управление торговлей 10 Россия Абонемент ($m)

Заполнение контрагентов по ИНН (1С: Управление торговлей 10.3).

6 стартмани

17.05.2022    7875    37    kostyan7    20    

1

Сервис push-уведомлений для 1С (Push Notification Service For 1C - PNS4OneS)

WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

02.02.2022    14452    38    ltfriend    9    

89

Интеграция 1С:БИТ.Управление медицинским центром и amoCRM

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

Это законченное решение, которое позволяет в amoCRM получать данные о врачах и их свободном времени, в 1С создавать документ "Заявка", выгружать оплаты от клиента в лид. Тестировалось на конфигурации БИТ.Управление медицинским центром (2.0.46.43), платформа 1С:Предприятие 8.3 (8.3.16.1063), версия Python 3.10.1.

5400 руб.

28.01.2022    9640    1    2    

2

Обмен со СДЭК

WEB-интеграция Учет ТМЦ Платформа 1С v8.3 Конфигурации 1cv8 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Обработка позволяет производить обмен между 1С Альфа Авто 5.1 и СДЭК по протоколу API.

6000 руб.

21.12.2021    8721    1    0    

2

Интеграция с КОМТЕТ Касса Курьер

WEB-интеграция Учет ТМЦ Платформа 1С v8.3 1С:Управление торговлей 10 Платные (руб)

Внешняя обработка предназначена для интеграции конфигурации Управление торговлей 10.3 с веб-сервисом КОМТЕТ Касса Курьер. КОМТЕТ Касса Курьер это сервис с возможностью распределения заказов по курьерам, быстрой корректировке заказов в момент доставки, печати чеков по 54-ФЗ в момент расчета с покупателем.

3480 руб.

20.12.2021    7958    1    0    

1

Работа с 1С через протокол OData

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

В данной статье мы будем рассматривать работу с данными информационной базы через протокол OData (далее OData).

17.12.2021    35835    ProgrammingStore    27    

89

Подключение к HTTP-сервису с авторизацией посредством передачи клиентского SSL-сертификата

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

В статье хочу поделиться опытом настройки подключения 1С к стороннему HTTP-сервису, использующему авторизацию посредством передачи клиентского SSL-сертификата.

07.12.2021    11702    kholkin    12    

106

WEB/HTTP сервисы. Базовые отличия и применение на практике

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Рассказываем о WEB и HTTP сервисах, их практическом применении, о шишках, которые мы набили, и о выводах, которые сделали. Спойлер: тех, кто дочитает статью до конца, ждет бонус от автора.

04.10.2021    30668    Neti    23    

114

HTTP-клиент

WEB-интеграция Платформа 1С v8.3 Мобильная платформа Конфигурации 1cv8 Абонемент ($m)

Подсистема 1С для работы с HTTP.

1 стартмани

28.07.2021    17224    55    SpaceOfMyHead    51    

94

Работа с картами в 1С на примере бесплатной библиотеки Leaflet

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.

1 стартмани

31.03.2021    26204    72    Parsec1C    20    

83

Правила обмена больше не нужны

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

Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.

17.03.2021    19869    Nikola23    41    

80

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions

WEB-интеграция Облачные сервисы, хостинг Платформа 1С v8.3 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    12937    comol    32    

108

BIM: взаимодействие с платформой Autodesk Forge

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

Предлагаемый пример демонстрирует широкие возможности для взаимодействия «1С:Предприятие» с платформой Autodesk Forge и позволяет вам получить базовые представления о применения технологий информационного моделирования в строительстве. Поддерживаются все версии платформы от 8.3.12 и выше до 8.3.18.

1 стартмани

25.11.2020    83650    16    kandr    3    

6

Поиск номенклатуры в интернете (Розница 2.3, Управление торговлей 11.4)

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

Альтернатива сервису 1С Номенклатура, не требует подписки ИТС, ищет данные в открытых источниках. Для поиска товара по штрихкоду в сети интернет, полезно для первоначального заполнения базы.

1999 руб.

15.10.2020    16025    20    55    

23

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

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

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

07.08.2020    25130    Infostart    30    

146