Skip to content

alexandrkakushin/comp-java

Repository files navigation

comp-java

Конфигурация для расширения возможностей платформы 1С:Предприятие 8.3

Для подключения доступны следующие компоненты:

Внедрение

Для внедрения подсистемы необходимо в режиме Конфигуратор выполнить следующие действия:

  • Конфигурация -> Открыть конфигурацию
  • Конфигурация -> Сравнить, объединить с конфигурацией из файла, выбор CF-файла
  • В появившемся диалоговом окне будет вопрос о постановке конфигурации на поддержку. На Ваше усмотрение, но рекомендуется поставить на поддержку

Если конфигурацию ставите на поддержку, необходимо сделать еще пару шагов

  • В окне "Сравнение, объединение" убрать флажок с поля "Версия" (Свойства -> Версия) основной конфигурации, затем "Выполнить"
  • В окне "Настройка правил поддержки" оставить все по умолчанию и нажать "ОК"

После внедрения рекомендуется в режиме 1С:Предприятие установить значение константы JAVA_HOME, если нет JRE, то самое время установить данное ПО.

Для установки константы JAVA_HOME откройте форму списка справочника "Компоненты Java", внизу щелкните по кнопке "...", далее выберите одну из доступных JRE или установите произвольное значение, например, "C:\Program Files\OpenJDK\jdk-11.0.6.10-hotspot"

Подключение компонент

Для подключения компонент рекомендуется добавить серверный общий модуль, например КомпонентыJavaAPI

Компоненты не хранятся в конфигурации, для их получения необходимо Интернет-соединение. Jar-файлы хранятся в релизах самих компонент.

Ниже приведен пример подключения компоненты "Логгер"


///////////////////////////////////////////////////////////////////////////////
// Компоненты

#Область Компоненты

// "Объект" Логгер
//
// Параметры:
//  InMemory - Булево - 
//  ИмяФайла - Строка, Неопределено - Имя файла БД
// 
// Возвращаемое значение:
//  ОбработкаОбъект - ОбработкаОбъект
//
Функция Логгер(InMemory = Ложь, Знач ИмяФайла = Неопределено) Экспорт
	
	Объект = ИнтерфейсКомпоненты("comp-java-logger");
			
	Объект.InMemory = InMemory;
	
	Если Не InMemory Тогда		
		Если ПустаяСтрока(ИмяФайла) Тогда
			ВызватьИсключение НСтр("ru = 'Не задано имя файла для хранения логов'");
		КонецЕсли;
		Объект.ИмяФайла = ИмяФайла;	
	КонецЕсли;
	
	Объект.Инициализировать();
		
	Возврат Объект;
	
КонецФункции

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

Функция ИнтерфейсКомпоненты(Репозиторий)
	
	Компонента = КомпонентыJava.КомпонентаПоРепозиторию(Репозиторий);
	Если Не ЗначениеЗаполнено(Компонента) Тогда
		ОписаниеОшибки = Неопределено;
		Если Не КомпонентыJava.УстановитьКомпоненту(Репозиторий, ОписаниеОшибки) Тогда
			ВызватьИсключение ОписаниеОшибки;			
		КонецЕсли;
				
		Компонента = КомпонентыJava.КомпонентаПоРепозиторию(Репозиторий);
	КонецЕсли;
	
	Возврат КомпонентыJava.Интерфейс(Компонента);	
	
КонецФункции

В дальнейшем для получения интерфеса "Логгера" достаточно использовать вызов

КомпонентыJavaAPI.Логгер(Ложь, ФайлЛога("ПостроениеОтчетов"));

Более подробное описание в README компонент