Сервис управления списком баз wcib (WebCommonInfoBases) посредством JSON

Публикация № 1683401 24.06.22

Интеграция и обмен данными - WEB-интеграция

wcib json 1cestart http InternetService

Пример реализации http-сервиса управления списками баз без использования SOAP

Предыстория:

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

4 запроса:

Лаунчер 1cestart для варианта JSON посылает 4 запроса:

1- HEAD запрос на эндпоинт "WebCommonInfoBases". Название зашито в лаунчере, он добавляет его сам к указанному в настройках URl. На этот запрос необходимо отправить ответ с кодом 200, только в таком случае мы получим ожидаемый запрос на проверку обновления списка в нужном формате. В противном случае мы получим SOAP запрос.
2- GET запрос на эндпоинт "WebCommonInfoBases". Тут мы должны указать необходимость обновления списка баз и адрес сервиса, возвращающего этот список в формате v8i:

Пример тела ответа:

{
  "root":
  {
    "InfoBasesChanged": true,
    "URL": "http:\\СервисПолученияСписка_v8i"
  }
}

 

3- HEAD запрос на указанный ранее сервис. Принцип все тот же, отвечаем с кодом 200

4- GET запрос на указанный ранее сервис. Возвращаем тело в формате JSON

 

Пример тела ответа:

{
  "root":
  {
    "ClientID": "none",
    "InfoBasesCheckCode": "none",
    "InfoBases":"Описание в формате v8i"
  }
}

 

Настройка лаунчера


В настройках диалога запуска необходимо прописать путь к публикации первого эндпоинта по которому будет происходить проверка необходимости обновления и получение URL второго эндпоинта

 

Реализация


Создаем 2 эндпоинта:


Корневой URL у первого эндпоинта должен быть именно таким: "WebCommonInfoBases"

  

Пример тела модуля первого эндпоинта:


#Область ПрограммныйИнтерфейс

Функция CheckInfoBases_GET(Запрос)
	
	Попытка
	
		ClientID 					= Строка(Запрос.ПараметрыЗапроса["ClientID"]);
		
		// Может быть пустым
		InfoBasesCheckCode			= Строка(Запрос.ПараметрыЗапроса["InfoBasesCheckCode"]);
		
		// Может передать веб-сервер
		ЛогинПользователя			= Запрос.ПараметрыЗапроса.Получить("UserID");
		
		ИдентификаторПользователя 	= Запрос.ПараметрыURL.Получить("user_guid");
		
		Если ПустаяСтрока(ClientID) Тогда
			Ответ = Новый HTTPСервисОтвет(404);
			Возврат Ответ;
		КонецЕсли;
		
		Если Не ЗначениеЗаполнено(ИдентификаторПользователя) 
			И Не ЗначениеЗаполнено(ЛогинПользователя) Тогда
			
			Ответ = Новый HTTPСервисОтвет(404);
			Возврат Ответ;
			
		КонецЕсли;	
		
		InfoBasesChanged = Ложь;
		URL = "";
		
		СтруктураОтвета = CheckInfoBases(ClientID, InfoBasesCheckCode, InfoBasesChanged, URL
										, Запрос.БазовыйURL, ЛогинПользователя, ИдентификаторПользователя);
		
		Тело = СтроковыеФункцииКлиентСервер.КонвертироватьВJson(СтруктураОтвета);
		Ответ = Новый HTTPСервисОтвет(200);
		Ответ.УстановитьТелоИзСтроки(Тело);
		
		Ответ.Заголовки["Content-Type"]  = "application/json;charset=utf-8";
		Ответ.Заголовки["Cache-Control"] = "no-cache";
		
		Возврат Ответ;
		
	Исключение
		
		ЗаписьЖурналаРегистрации("CheckInfoBases.JSON", УровеньЖурналаРегистрации.Ошибка,
								,,СлужебныйКлиентСервер.ПодробныйТекстОшибки(ИнформацияОбОшибке()));
		ВызватьИсключение;
		
	КонецПопытки
		
КонецФункции

#КонецОбласти

#Область СлужебныеПроцедуры

Функция ПустойИдентификатор()
	Возврат "00000000-0000-0000-0000-000000000000";
КонецФункции

Функция CheckInfoBases(ClientID, InfoBaseCheckCode, InfoBasesChanged, URL, БазовыйURL, ЛогинПользователя, ИдентификаторПользователя)
	
    InfoBasesChanged = Ложь;	
	
	// TODO: Тип доступа опряделяет список для пользователя (для типа web и rdp разные списки)
	// Должен определяться по эндпоинту. Нужны разные эндпоинты для разных типов доступа
	ТипДоступа = "rdp";
	
	УстановитьПривилегированныйРежим(Истина);
	
	АдресЗащищенногоВС = Константы.URLПолученияСпискаБаз.Получить();
	
	Если ЗначениеЗаполнено(ИдентификаторПользователя) Тогда
		АдресЗащищенногоВС = АдресЗащищенногоВС + ИдентификаторПользователя+"/";	
	КонецЕсли;
	
	Если ClientID = ПустойИдентификатор()
		И InfoBaseCheckCode = ПустойИдентификатор() Тогда
		// это первое обращение клиента
		InfoBasesChanged = Истина;
		URL = АдресЗащищенногоВС;
		СтруктураОтвета = СтруктурыДанныхСервер.СтруктураОтветаПроверкаОбновления(InfoBasesChanged, URL);
		
	КонецЕсли;
	
	СтруктураОтвета = ФункцииУправленияСервер.ПроверитьПотребностьОбновления(ЛогинПользователя, ИдентификаторПользователя
																			, InfoBaseCheckCode, ТипДоступа); 
	
	Возврат СтруктураОтвета;	
	
КонецФункции

Функция RootHEAD(Запрос)
	Ответ = Новый HTTPСервисОтвет(200);
	//Ответ.Заголовки["Content-Type"]	 = "application/json;charset=utf-8";
	//Ответ.Заголовки["Cache-Control"] = "no-cache";
	Возврат Ответ;
КонецФункции

#КонецОбласти

 

Пример тела модуля второго эндпоинта:



Функция GetInfoBasesGetInfoBases_GET(Запрос)
	
	// Пропускаем запросы HEAD
	// Заглушка, необходимая 1С стартеру для отправки JSON
	Если Запрос.HTTPМетод = "" Тогда
		
		Ответ = Новый HTTPСервисОтвет(200);
		// Работает даже без заголовков
		//Ответ.Заголовки["Content-Type"]	 = "application/json;charset=utf-8";
		//Ответ.Заголовки["Cache-Control"] = "no-cache";
		Возврат Ответ;
		
	ИначеЕсли Запрос.HTTPМетод = "GET" Тогда
		
		Попытка
			
			ClientID 			= Запрос.ПараметрыЗапроса["ClientID"];
			InfoBasesCheckCode	= Запрос.ПараметрыЗапроса["InfoBasesCheckCode"];
			
			// Может передать веб-сервер
			ЛогинПользователя	= Запрос.ПараметрыЗапроса.Получить("UserID");
			
			ИдентификаторПользователя 	= Запрос.ПараметрыURL.Получить("user_guid");
			
			InfoBases 			= "";
			
			GetInfoBases(ClientID, InfoBasesCheckCode, InfoBases, Запрос.БазовыйURL, ЛогинПользователя, ИдентификаторПользователя);
			
			ДанныеОтвета = Новый Структура("root", Новый Структура("ClientID,InfoBasesCheckCode,InfoBases"
																	, ClientID, InfoBasesCheckCode, InfoBases));
			
			Тело = СтроковыеФункцииКлиентСервер.КонвертироватьВJson(ДанныеОтвета);
			
			Ответ = Новый HTTPСервисОтвет(200);
			Ответ.УстановитьТелоИзСтроки(Тело);
			
			Ответ.Заголовки["Content-Type"]	 = "application/json;charset=utf-8";
			Ответ.Заголовки["Cache-Control"] = "no-cache";
			
			Возврат Ответ;
			
		Исключение
			
			ЗаписьЖурналаРегистрации("GetInfoBases.JSON", УровеньЖурналаРегистрации.Ошибка,,
									,СлужебныйКлиентСервер.ПодробныйТекстОшибки(ИнформацияОбОшибке()));
			ВызватьИсключение;
			
		КонецПопытки
		
	Иначе
		
		Ответ = Новый HTTPСервисОтвет(405);	
		Возврат Ответ;
		
	КонецЕсли;
	
КонецФункции



#Область СлужебныеПроцедуры

Процедура GetInfoBases(ClientID, InfoBaseCheckCode, InfoBases, БазовыйURL, ЛогинПользователя, ИдентификаторПользователя)
	
	УстановитьПривилегированныйРежим(ИСТИНА);
		
	ТипДоступа = "rdp";
	
	ВспомогательныеФункцииСервер.ИнициализироватьВнешнийИсточник(Константы.АдресСервера.Получить());
	
	Если ЛогинПользователя <> Неопределено Тогда 
		РезультатJSON = ВнешниеИсточникиДанных.wcib_db.public_get_v8i_list_uid(ЛогинПользователя, ТипДоступа);
	Иначе
		РезультатJSON = ВнешниеИсточникиДанных.wcib_db.public_get_v8i_list_guid(ИдентификаторПользователя, ТипДоступа);
	КонецЕсли;
	
	СтруктураОтвета = СтроковыеФункцииКлиентСервер.КонвертироватьJsonВСтруктуру(РезультатJSON);
	
	InfoBaseCheckCode = СтруктураОтвета.version;
	
	Если ClientID = ПустойИдентификатор() Тогда
		ClientID = Строка(Новый УникальныйИдентификатор());
	КонецЕсли;
	
	InfoBases = ПолучитьСписокИБ(СтруктураОтвета.infobases);
	
КонецПроцедуры

Функция ПолучитьСписокИБ(ДанныеСписка) Экспорт
	
	Если ДанныеСписка = Неопределено Тогда
		ДанныеСписка = Новый Массив;	
	КонецЕсли;
	
	ЧислоИБ = ДанныеСписка.Количество(); 
	
	УстановитьПривилегированныйРежим(Истина); 
		
	//собираем в дерево
	
	//соответствие(Группа): массив(Список ИБ): структура(Элемент ИБ)

	Результат = "";	

	ИспользоватьФайл = ЧислоИБ > 1000;
	
	Если ИспользоватьФайл Тогда
		ИмяВременногоФайла = ПолучитьИмяВременногоФайла("v8i");
		ЗТ = Новый ЗаписьТекста(ИмяВременногоФайла, КодировкаТекста.UTF8);
	КонецЕсли;
	
	Для Каждого JSONСтруктураБазы Из ДанныеСписка Цикл
		
		JSONСтруктураБазы = СтрЗаменить(JSONСтруктураБазы, "\", "\\");
		
		СтруктураБазы = СтроковыеФункцииКлиентСервер.КонвертироватьJsonВСтруктуру(JSONСтруктураБазы);
		
		Группа = Новый Массив();
	
		ОписаниеИБ = Новый Структура("Наименование,Строки", СтруктураБазы.name, Новый Массив());
		СтрокиИБ = ОписаниеИБ.Строки;
	
		ConnectString = ВспомогательныеФункцииСервер.СформироватьСтрокуПодключения(СтруктураБазы);
	
		СтрокиИБ.Добавить(ConnectString);
		СтрокиИБ.Добавить("ID=" + СтруктураБазы.base_id);
		 
		СтрокиИБ.Добавить("OrderInList=" + СтруктураБазы.order_in_list);
		
		Если СтруктураБазы.app_arch <> Неопределено Тогда
			СтрокиИБ.Добавить("AppArch=" + СтруктураБазы.app_arch);
		КонецЕсли;
		
		СтрокаДополнительныхПараметров = "";
		
		Если СтруктураБазы.use_ib_autorization = Истина Тогда
			
			ИмяПользователя = СтруктураБазы.iblogin;
			Пароль = ?(ЗначениеЗаполнено(СтруктураБазы.ibpwd), СтруктураБазы.ibpwd, "");
			
			СтрокаДополнительныхПараметров = СтрокаДополнительныхПараметров + "/N " + ИмяПользователя + " ";
			СтрокаДополнительныхПараметров = СтрокаДополнительныхПараметров + "/P " + Пароль + " "; 
						
		КонецЕсли;
		
		// Авторизация на веб-сервере (для получения списка баз)
		Если  СтруктураБазы.wslogin <> Неопределено Тогда
			СтрокаДополнительныхПараметров = СтрокаДополнительныхПараметров + "/WSN " + СтруктураБазы.wslogin + " ";
			СтрокаДополнительныхПараметров = СтрокаДополнительныхПараметров + "/WSP " + СтруктураБазы.wspwd + " ";
		КонецЕсли;
		
		// Если используется прокси для WS
		Если СтруктураБазы.use_proxy = 2 Тогда
			СтрокаДополнительныхПараметров = СтрокаДополнительныхПараметров + "/Proxy ";
			СтрокаДополнительныхПараметров = СтрокаДополнительныхПараметров + "-PSrv " + СтруктураБазы.psrv + " ";
			СтрокаДополнительныхПараметров = СтрокаДополнительныхПараметров + "-PPort " + Формат(СтруктураБазы.pport, "ЧГ=") + " ";
			Если СтруктураБазы.puser <> Неопределено Тогда
				СтрокаДополнительныхПараметров = СтрокаДополнительныхПараметров + "-PUser " + СтруктураБазы.puser + " ";	
			КонецЕсли;
			Если СтруктураБазы.ppwd <> Неопределено Тогда
				СтрокаДополнительныхПараметров = СтрокаДополнительныхПараметров + "-PPwd " + СтруктураБазы.ppwd + " ";	
			КонецЕсли;
		КонецЕсли;
		
		Если СтруктураБазы.technical_specialist_mode = Истина Тогда
			СтрокаДополнительныхПараметров = СтрокаДополнительныхПараметров + "/TechnicalSpecialistMode ";	
		КонецЕсли;
		
		Если СтруктураБазы.main_window_mode <> Неопределено Тогда
			СтрокаДополнительныхПараметров = СтрокаДополнительныхПараметров + "/MainWindowMode " + СтруктураБазы.main_window_mode + " ";	
		КонецЕсли;
		
		Если СтруктураБазы.clear_cache = Истина Тогда
			СтрокаДополнительныхПараметров = СтрокаДополнительныхПараметров + "/ClearCache ";	
		КонецЕсли;

		Если СтруктураБазы.update_ib = Истина Тогда
			СтрокаДополнительныхПараметров = СтрокаДополнительныхПараметров + "/C ЗапуститьОбновлениеИнформационнойБазы";
		КонецЕсли;
		
		Если Не ПустаяСтрока(СтрокаДополнительныхПараметров) Тогда
			СтрокиИБ.Добавить("AdditionalParameters=" + СтрокаДополнительныхПараметров);
		КонецЕсли;
		
		Группа.Добавить(ОписаниеИБ);
	
		//рендерим дерево в v8i
		//если дерево больше 1000, используем файл как буфер, потому что конкатенация длинных строк в платформе работает медленно
	
		Для Каждого ОписаниеИБ из Группа Цикл
			Если ИспользоватьФайл Тогда
				ЗТ.ЗаписатьСтроку("[" + ОписаниеИБ.Наименование + "]");
			Иначе
				Результат = Результат + "[" + ОписаниеИБ.Наименование + "]" + Символы.ПС;
			КонецЕсли;
			Для Каждого СтрокаИБ из ОписаниеИБ.Строки Цикл
				Если ИспользоватьФайл Тогда
					ЗТ.ЗаписатьСтроку(СтрокаИБ);
				Иначе
					Результат = Результат + СтрокаИБ + Символы.ПС;
				КонецЕсли;
			КонецЦикла;
		КонецЦикла;
	КонецЦикла;
	
	Если ИспользоватьФайл Тогда
		ЗТ.Закрыть();
		ЧТ = новый ЧтениеТекста(ИмяВременногоФайла, КодировкаТекста.UTF8);
		Результат = ЧТ.Прочитать();
		ЧТ.Закрыть();
		УдалитьФайлы(ИмяВременногоФайла);
	КонецЕсли;
		
	Возврат Результат;
	
КонецФункции

Функция ПустойИдентификатор()
	Возврат "00000000-0000-0000-0000-000000000000";
КонецФункции

#КонецОбласти

 

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

Наименование Файл Версия Размер
Пример сервиса wcib JSON:

.cf 79,70Kb
1
.cf 79,70Kb 1 Скачать

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

Оставьте свое сообщение

См. также

Тестирование проводок в ЕРП и КА Промо

Инструментарий разработчика v8 ERP2 Россия БУ Абонемент ($m)

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

1 стартмани

02.09.2020    4891    21    JohnConnor    7    

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

Обработка справочников WEB v8 УТ10 Россия Абонемент ($m)

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

6 стартмани

17.05.2022    1936    24    kostyan7    4    

Программное формирование существующих печатных форм

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Получение списка печатных форм, формирование выбранной печатной формы и сохранение ее в файл.

1 стартмани

17.12.2021    4993    13    RocKeR_13    3    

Универсальный редактор данных (УРД)

Инструментарий разработчика v8 Абонемент ($m)

Универсальный редактор данных (УРД) - это лучший инструмент в своем классе, который позволяет редактировать реквизиты и движения объектов

1 стартмани

27.08.2021    10578    167    Adeptus    53    

Навигатор по конфигурации базы 1С 8.3 Промо

Инструментарий разработчика v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.89 от 04.08.2022

3 стартмани

28.10.2018    51621    462    ROL32    72    

HTTP-клиент

Инструментарий разработчика v8 v8::Mobile 1cv8.cf Абонемент ($m)

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

1 стартмани

28.07.2021    9708    25    SpaceOfMyHead    45    

Подсистема "Показатели объектов"

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

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

2 стартмани

06.03.2021    10662    6    pila86    16    

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

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

5 стартмани

21.12.2020    14476    27    huxuxuya    11    

Удаление и/или копирование сохраненных в 1С настроек (например настроек печати табличных форм) Промо

Инструментарий разработчика v8 Абонемент ($m)

Иногда нужно удалить сохраненную в 1С "покореженную" настройку или скопировать "удачную" другому пользователю...

1 стартмани

01.09.2012    71794    1400    AnryMc    46    

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

WEB v8 1cv8.cf Строительство Абонемент ($m)

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

1 стартмани

25.11.2020    64724    15    kandr    3    

Конвертация любых адресов, написанных в свободной форме, к ФИАС

WEB v8 1cv8.cf Россия Абонемент ($m)

Допустим у нас есть база с адресами клиентов, и написаны они могут быть как душе угодно. С опечатками, без индексов, без разделителей, в совершенно любом формате. Вот было бы здорово иметь функцию, которая одним нажатием кнопки преобразует любую белиберду к строгому представлению адреса по ФИАС? Восстановит индекс, исправит опечатки и вернёт на 100% валидный адрес. Для всех, кто мечтательно сказал "ДА!", выкладываю данную обработку.

2 стартмани

30.06.2020    13047    114    XilDen    15    

Модуль обмена с QIWI

Банковские операции WEB v8 1cv8.cf УУ Абонемент ($m)

Компании, которые используют систему моментальных платежей QIWI, ценят ее за удобство по скорости выплат и для платежей по запросу. Но такие переводы сложны для учета, а при большом объеме проводимых операций отнимают много времени и превращаются в дополнительную головную боль. Мы сотрудничали с компаниями, которые отправляют большое количество платеже на QIWI, и часто слышали боль бухгалтеров о том, как им сложно работать с такими переводами. Поэтому мы автоматизировали выплаты через QIWI в 1С и создали модуль интеграции 1С c API QIWI Wallet и QIWI TopUp.

5 стартмани

25.05.2020    11927    1    Neti    10    

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

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Программа Faster 9.4 позволяет ускорить процесс работы программиста (работает в любом текстовом редакторе). Подсказка при вводе текста на основе ранее введенного текста и настроенных шаблонов. Программа Faster позволяет делится кодом с другими программистами в два клика или передать ссылку через QR Код. Исправление введенных фраз двойным Shift (с помощью speller.yandex). Переводчик текста. Переворачивает текст случайно набранный на другой раскладке. Полезная утилита для тех, кто печатает много однотипного текста, кодирует в среде Windows на разных языках программирования. Через некоторое время работы с программой у вас соберется своя база часто используемых словосочетаний и кусков кода. Настройка любых шорткатов под себя с помощью скриптов. Никаких установок и лицензий, все бесплатно.

1 стартмани

24.05.2012    89640    972    moolex    157    

Внешний регламент для 1С

Инструментарий разработчика v8 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    12381    9    moolex    12    

"Учет штрафов ГИБДД" с возможной загрузкой из открытых источников в интернет Расширение конфигурации 1С: Предприятие 8.3

Обработка документов WEB v8 v8::УФ 1cv8.cf Россия БУ УУ Абонемент ($m)

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

4 стартмани

30.12.2019    25940    38    capitan    26    

Односторонний файловый обмен с сайтом по ftp (1C 2 Web)

Файловые протоколы обмена (TXT, XML, DBF), FTP WEB v8 Розница УНФ ERP2 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m)

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

3 стартмани

09.12.2019    17249    20    LamerSoft    0    

CF & SQL : конструктор прямых запросов к БД 1С

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Программа для чтения и анализа внутренней структуры данных 1С V8.х, Содержит конструктор прямых SQL запросов, позволяет обрабатывать и редактировать тексты SQL-запросов, выполнять прямые запросы к базе данных 1С и обрабатывать полученные результаты.

1 стартмани

02.10.2019    37815    354    dmitrydemenew    66    

Работа с релизами 1С и договорами ИТС

WEB БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Работа с релизами 1С и партнерским кабинетом.

2 стартмани

15.08.2019    25703    68    RocKeR_13    39    

Запуск 1С под любым пользователем (без необходимости указания пароля)

Пароли Инструменты администратора БД Инструментарий разработчика v8 v8::Права 1cv8.cf Абонемент ($m)

Предназначается для запуска сеанса другого пользователя из своего сеанса 1С (если пароль вам неизвестен).

1 стартмани

02.07.2019    34687    379    sapervodichka    0    

Модель объекта

Инструментарий разработчика v8 Абонемент ($m)

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    20121    1    vadim1980    5    

Блин, мы забыли включить регламентные задания…

Инструментарий разработчика v8 Абонемент ($m)

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

1 стартмани

08.04.2019    29712    22    slozhenikin_com    37    

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Склад и ТМЦ Инструментарий разработчика v8 v8::Mobile БУ УУ Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    69373    278    informa1555    239    

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

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Когда в локальной сети много пользователей, а еще большое количество различных баз и при этом каждому нужны свои, то администрирование этого зоопарка превращается в АД! Этот комплекс позволяет централизованно управлять списком доступных баз в разрезе пользователей. За пару кликов можно добавить или убрать базу у всех пользователей.

7 стартмани

05.12.2018    25681    27    RomikR    11    

Проверка VAT номеров

WEB v8 1cv8.cf Абонемент ($m)

Обработка для вызова сервиса проверка VAT номера.

1 стартмани

26.11.2018    22838    3    wtlz    1    

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек.

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018    60371    578    Eugen-S    36    

Работа с публикациями "Инфостарт"

Инфостарт WEB v8 УУ Абонемент ($m)

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    32961    17    RocKeR_13    16    

Управляемая консоль запросов, отчетов 3.8.9 (расширение, внешняя обработка)

Инструментарий разработчика v8 v8::УФ v8::Запросы v8::СКД 1cv8.cf Абонемент ($m)

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

5 стартмани

14.08.2018    141066    3273    Evg-Lylyk    792    

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Инструментарий разработчика v8 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    41477    35    informa1555    30    

Пример использования REST API Яндекс Диска

WEB v8 1cv8.cf Абонемент ($m)

Пример использования REST API Яндекс Диска: чтение диска, добавление каталога, загрузка файла, скачивание файлов или каталогов, удаление файлов или каталогов.

1 стартмани

26.06.2018    40127    71    MKFreeUser    16    

Обмен файловыми базами данных через Yandex диск

WEB v8 Россия Абонемент ($m)

Выполнение операций обмена с Yandex диском для файловых БД, по протоколу WebDav, в автоматическом или ручном режимах.

1 стартмани

11.06.2018    24980    7    slimper    1    

Внешняя компонента для работы по Web-socket протоколу x32 x64

Разработка внешних компонент WEB v8 Абонемент ($m)

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

2 стартмани

30.03.2018    43622    103    Ditron    118    

Регистры правил [Расширение]

Инструментарий разработчика v8 v8::Права УТ11 Абонемент ($m)

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    27501    33    33lab    5    

Построение маршрута доставки с расчётом расстояния для любой базы УФ

Универсальные обработки WEB Оптовая торговля v8 v8::УФ 1cv8.cf Абонемент ($m)

Графическое изображение маршрутного листа по картам гугл. Работает на любой конфигурации с управляемыми формами. Использует новую версию api google-карт от 13.02.2018 года под IE11.

10 стартмани

24.02.2018    48294    47    KorotkovRV    17    

Заполняем по шаблону (по умолчанию)

Инструментарий разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

08.02.2018    39211    22    mvxyz    17    

Сервер push сообщений “Push0k“ 18.05

WEB v8 1cv8.cf Абонемент ($m)

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

1 стартмани

19.12.2017    26173    13    PloAl    20    

Программное формирование форматированной строки в стиле html+inline CSS

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

18.11.2017    50448    54    bonv    13    

Быстрое удаление неиспользуемых версий 1С:Предприятие 8, кэша метаданных и информационных баз

Инструментарий разработчика v8 Абонемент ($m)

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

1 стартмани

14.11.2017    33440    101    bonv    15    

Подсистема Вики - интеграция 1С и сайта под управлением MediaWiki

WEB v8 Абонемент ($m)

Редактирование статей сайта Mediawiki из 1С. Формирование функционального описания конфигурации на сайте Вики.

1 стартмани

19.09.2017    36671    36    shmalevoz    21    

Работа с картой. Кадастровый учет (Росреестр). Тематические карты

WEB Рабочее место v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя обработка для работы с картами в 1С. Получения изображения с публичной кадастровой карты России, построения тематических карт

10 стартмани

31.08.2017    30163    28    vipchep    5    

Набор подсистем "Умные таблицы"

Инструментарий разработчика v8 Беларусь Россия Казахстан Абонемент ($m)

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    42711    110    Silenser    34    

Автокликер для 1С

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

03.04.2017    41206    86    slava_1c    67    

Настройка рекламной кампании Яндекс.Директ на 30000 ключевых фраз за 60 минут - теперь это реально!

WEB v8 Реклама, PR и маркетинг Россия Абонемент ($m)

Конфигурация для настройки Яндекс.Директа.

10 стартмани

20.10.2016    35617    52    avalakh    10