#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
СписокВариантовУстановкиЦен = Неопределено;
Если Параметры.Свойство("СписокВариантовУстановкиЦен",СписокВариантовУстановкиЦен) Тогда
СписокВариантов = Элементы.УстанавливатьВременныеЦены.СписокВыбора;
СписокВариантов.Очистить();
Для каждого Элемент Из СписокВариантовУстановкиЦен Цикл
СписокВариантов.Добавить(Элемент.Значение, Элемент.Представление);
КонецЦикла;
КонецЕсли;
ДатаНачалаДействияЦен = Параметры.ДатаНачалаДействияЦен;
МаркетинговоеМероприятие = Параметры.МаркетинговоеМероприятие;
ЭтоЦеныСПериодомДействия = Параметры.ЭтоЦеныСПериодомДействия;
Если Параметры.Свойство("ДатаЗавершенияПериодаДействияЦен") Тогда
ДатаЗавершенияДействияЦен = Параметры.ДатаЗавершенияПериодаДействияЦен;
Иначе
ДатаЗавершенияДействияЦен = Параметры.ДатаЗавершенияДействияЦен;
КонецЕсли;
ВидимостьСогласования = ПолучитьФункциональнуюОпцию("ИспользоватьСогласованиеЦенНоменклатуры")
И Не ПраваПользователяПовтИсп.УстановкаЦенНоменклатурыБезСогласования();
Элементы.ИнформационнаяНадписьСогласование.Видимость = ВидимостьСогласования;
УстановливатьВременныеЦеныПриИзмененииНаСервере(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиЭлементовФормы
&НаКлиенте
Процедура ДатаЦенПриИзменении(Элемент)
ЭтотОбъект.Заголовок = ТекстЗаголовка(ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Установить(Команда)
Если ЭтоЦеныСПериодомДействия И ДатаЗавершенияДействияЦен <= ДатаНачалаДействияЦен Тогда
ТекстСообщения = НСтр("ru = 'Дата завершения периода действия цен должна быть больше начала периода.'");
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения,,,"ДатаЗавершенияДействияЦен");
Возврат;
КонецЕсли;
СтруктураВозврата = Новый Структура();
СтруктураВозврата.Вставить("Комментарий", Комментарий);
СтруктураВозврата.Вставить("ВариантПримененияЦен", ВариантПримененияЦен);
Если ЭтоЦеныСПериодомДействия И ПустаяСтрока(Комментарий) Тогда
СтруктураВозврата.Вставить("Комментарий",Заголовок);
КонецЕсли;
СтруктураВозврата.Вставить("ДатаНачалаДействияЦен", ДатаНачалаДействияЦен);
СтруктураВозврата.Вставить("ДатаЗавершенияДействияЦен", ДатаЗавершенияДействияЦен);
СтруктураВозврата.Вставить("МаркетинговоеМероприятие", МаркетинговоеМероприятие);
СтруктураВозврата.Вставить("ЭтоЦеныСПериодомДействия", ЭтоЦеныСПериодомДействия);
Закрыть(СтруктураВозврата);
КонецПроцедуры
&НаКлиенте
Процедура УстановливатьВременныеЦеныПриИзменении(Элемент)
УстановливатьВременныеЦеныПриИзмененииНаСервере(ЭтаФорма);
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановливатьВременныеЦеныПриИзмененииНаСервере(Форма)
Форма.Элементы.ГруппаВыборДатыДействияЦен.Видимость = НЕ Форма.ЭтоЦеныСПериодомДействия;
Форма.Элементы.ГруппаВыборПериодаДействияЦен.Видимость = Форма.ЭтоЦеныСПериодомДействия;
Форма.Элементы.МаркетинговоеМероприятие.Видимость = Форма.ЭтоЦеныСПериодомДействия;
Форма.Заголовок = ТекстЗаголовка(Форма);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиентеНаСервереБезКонтекста
Функция ТекстЗаголовка(Форма)
Если Форма.ЭтоЦеныСПериодомДействия Тогда
ТекстЗаголовка = НСтр("ru='Установить временные цены с %1 по %2'");
Иначе
ТекстЗаголовка = НСтр("ru='Установить новые цены на %1'");
КонецЕсли;
ТекстЗаголовка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстЗаголовка,
Формат(Форма.ДатаНачалаДействияЦен,"ДЛФ=D"),Формат(Форма.ДатаЗавершенияДействияЦен, "ДЛФ=D"));
Возврат ТекстЗаголовка;
КонецФункции
#КонецОбласти