Настройки ЮKassa / Модуль менеджера

файл
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2022, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

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

#Область ДляВызоваИзДругихПодсистем

// СтандартныеПодсистемы.УправлениеДоступом

// Параметры:
//   Ограничение - см. УправлениеДоступомПереопределяемый.ПриЗаполненииОграниченияДоступа.Ограничение.
//
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт

	Ограничение.Текст =
	"РазрешитьЧтениеИзменение
	|ГДЕ
	|	ЗначениеРазрешено(Организация)";

КонецПроцедуры

// Конец СтандартныеПодсистемы.УправлениеДоступом

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

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


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

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

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

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

#КонецЕсли

Связанные материалы