Виды цен (Колонки прайс-листа) / Настройка диапазона допустимых цен / Модуль формы

файл
#Область ОписаниеПеременных

&НаКлиенте
Перем ВыполняетсяЗакрытие;

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

#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;

	ПрочитатьДиапазонДопустимыхЦен();
	
	Элементы.ВидМаксимальноДопустимыхЦенЗакупки.ТолькоПросмотр = НЕ ПравоДоступа("Изменение", Метаданные.Константы.ВидМаксимальноДопустимыхЦенЗакупки);
	Элементы.ВидМаксимальноДопустимыхЦенПродажи.ТолькоПросмотр = НЕ ПравоДоступа("Изменение", Метаданные.Константы.ВидМаксимальноДопустимыхЦенПродажи);
	Элементы.ВидМинимальноДопустимыхЦенПродажи.ТолькоПросмотр  = НЕ ПравоДоступа("Изменение", Метаданные.Константы.ВидМинимальноДопустимыхЦенПродажи);
	
	ЭтотОбъект.ТолькоПросмотр = 
		  Элементы.ВидМаксимальноДопустимыхЦенЗакупки.ТолькоПросмотр
		И Элементы.ВидМаксимальноДопустимыхЦенПродажи.ТолькоПросмотр
		И Элементы.ВидМинимальноДопустимыхЦенПродажи.ТолькоПросмотр;
	
	СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);

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

&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
	
	Если Не ВыполняетсяЗакрытие И Модифицированность И НЕ ЗавершениеРаботы Тогда
		Отказ = Истина;
		ПоказатьВопрос(Новый ОписаниеОповещения("ПередЗакрытиемЗавершение", ЭтотОбъект), НСтр("ru = 'Данные изменены. Сохранить?'"),РежимДиалогаВопрос.ДаНетОтмена);
		
	КонецЕсли;

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

&НаКлиенте
Процедура ПередЗакрытиемЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
	
	ОтветНаВопрос = РезультатВопроса;
	
	Если ОтветНаВопрос = КодВозвратаДиалога.Да Тогда
		ВыполняетсяЗакрытие = Истина;
		ЗаписатьДиапазонДопустимыхЦен();
		Закрыть();
	ИначеЕсли ОтветНаВопрос = КодВозвратаДиалога.Нет Тогда
		ВыполняетсяЗакрытие = Истина;
		Модифицированность = Ложь;
		Закрыть();
	КонецЕсли;

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

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

#Область ОбработчикиКомандФормы

&НаКлиенте
Процедура ЗаписатьИЗакрытьВыполнить()
	
	ЗаписатьДиапазонДопустимыхЦен();
	Закрыть();
	
КонецПроцедуры

&НаКлиенте
Процедура ЗаписатьВыполнить()
	
	ЗаписатьДиапазонДопустимыхЦен();
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
	
	СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтаФорма, Команда);
	
КонецПроцедуры

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

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

#Область Прочее

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

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

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

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

#Область Инициализация

ВыполняетсяЗакрытие = Ложь;

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

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