Панель администрирования УТ / Продажи / Модуль формы

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

&НаКлиенте
Перем ОбновитьИнтерфейс;

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

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Параметры.Свойство("АвтоТест") Тогда
		Возврат;
	КонецЕсли;
	
	// Значения реквизитов формы
	СоставНабораКонстантФормы    = ОбщегоНазначенияУТ.ПолучитьСтруктуруНабораКонстант(НаборКонстант);
	ВнешниеРодительскиеКонстанты = НастройкиСистемыПовтИсп.ПолучитьСтруктуруРодительскихКонстант(СоставНабораКонстантФормы);
	РежимРаботы = Новый Структура;
	
	ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьВерсионированиеОбъектов");
	ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьСинхронизациюДанных");
	ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьНесколькоСкладов");
	ВнешниеРодительскиеКонстанты.Вставить("НоваяАрхитектураВзаиморасчетов");
	ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьАвтоматическиеСкидкиВПродажах");
	ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьСоглашенияСКлиентами");
	ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьПроизводство");
	ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьУправлениеПроизводством");
	ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьУправлениеПроизводством2_2");
	ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьУправлениеСделками");
	ВнешниеРодительскиеКонстанты.Вставить("ВестиСведенияДляДекларацийПоАлкогольнойПродукции");
	ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьОбособленноеОбеспечениеЗаказов");
	ВнешниеРодительскиеКонстанты.Вставить("ФормироватьФинансовыйРезультат");
	ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьПередачуНаОтветственноеХранениеСПравомПродажи");
	ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьОказаниеАгентскихУслугПриЗакупке");
	ВнешниеРодительскиеКонстанты.Вставить("ВариантОбособленияТоваровВПродажах");
	ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьОтветственноеХранениеВПроцессеЗакупки");
	ВнешниеРодительскиеКонстанты.Вставить("ИспользоватьМобильноеПриложение1СЗаказыКлиентов");
	
	РежимРаботы.Вставить("СоставНабораКонстантФормы",    Новый ФиксированнаяСтруктура(СоставНабораКонстантФормы));
	РежимРаботы.Вставить("ВнешниеРодительскиеКонстанты", Новый ФиксированнаяСтруктура(ВнешниеРодительскиеКонстанты));
	
	РежимРаботы = Новый ФиксированнаяСтруктура(РежимРаботы);
	
	// Обновление состояния элементов
	УстановитьДоступность();
	
	НастройкиСистемыЛокализация.ПриСозданииНаСервере_Продажи(ЭтаФорма);
	
	КомментарийИспользованияДоговоровПриКомиссионнойПродаже = СтрШаблон(НСтр("ru='— включена опция ""Комиссионные продажи %1""'"), 
			КомиссионнаяТорговляСервер.ПостфиксСхемыКомиссии25());
	
	Элементы.ПредупреждениеИспользоватьДоговорыСКлиентамиКомиссионныеПродажи.Заголовок = КомментарийИспользованияДоговоровПриКомиссионнойПродаже;
	
	КомментарийКомиссии = СтрШаблон(
			НСтр("ru='Возможность осуществления комиссионных продаж %1 доступна при использовании соглашений с клиентами.'"), 
			КомиссионнаяТорговляСервер.ПостфиксСхемыКомиссии20());
		Элементы.КомментарийИспользоватьКомиссиюПриПродажах.Заголовок = КомментарийКомиссии;
	
	КомментарийКомиссии = СтрШаблон(
			НСтр("ru='Возможность осуществления комиссионных продаж %1 доступна при использовании договоров с клиентами.'"), 
			КомиссионнаяТорговляСервер.ПостфиксСхемыКомиссии25());
		Элементы.КомментарийИспользоватьКомиссиюПриПродажаБезДоговора.Заголовок = КомментарийКомиссии;
		
	Элементы.РежимВыбораКомиссионныхПродаж.Подсказка = КомиссионнаяТорговляСервер.ПодсказкаПриВыбореВерсииКомиссионнойТорговли();
		
	ГруппаДоступаПартнераПриАвтоматическомСозданииУстановитьВидимость();
	
КонецПроцедуры

&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
	Если ЗавершениеРаботы Тогда
		Возврат;
	КонецЕсли;
	ОбновитьИнтерфейсПрограммы();
КонецПроцедуры

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
	
	ЗначенияПоУмолчанию = Новый Структура;
	ЗначенияПоУмолчанию.Вставить(Метаданные.Константы.ОперацияПриЗакрытииКассовойСмены.Имя
								, ПредопределенноеЗначение("Перечисление.ОперацииПриЗакрытииКассовойСмены.Нет"));
								
	НастройкиСистемыЛокализация.ПриЧтенииНаСервере_Продажи(ЭтотОбъект);
	ОбщегоНазначенияУТКлиентСервер.СохранитьЗначенияДоИзменения(ЭтотОбъект);
	
КонецПроцедуры

// Обработчик оповещения формы.
//
// Параметры:
//	ИмяСобытия - Строка - обрабатывается только событие Запись_НаборКонстант, генерируемое панелями администрирования.
//	Параметр   - Структура - содержит имена констант, подчиненных измененной константе, "вызвавшей" оповещение.
//	Источник   - Строка - имя измененной константы, "вызвавшей" оповещение.
//
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	
	Если ИмяСобытия <> "Запись_НаборКонстант" Тогда
		Возврат; // такие событие не обрабатываются
	КонецЕсли;
	
	// Если это изменена константа, расположенная в другой форме и влияющая на значения констант этой формы,
	// то прочитаем значения констант и обновим элементы этой формы.
	Если РежимРаботы.ВнешниеРодительскиеКонстанты.Свойство(Источник)
	 ИЛИ (ТипЗнч(Параметр) = Тип("Структура")
	 		И ОбщегоНазначенияУТКлиентСервер.ПолучитьОбщиеКлючиСтруктур(
	 			Параметр, РежимРаботы.ВнешниеРодительскиеКонстанты).Количество() > 0) Тогда
		
		ЭтаФорма.Прочитать();
		УстановитьДоступность();
		
	КонецЕсли;
	
	Если Источник = ЭтаФорма Тогда
		Если Параметр.Свойство("Элемент") Тогда
			Подключаемый_ПриИзмененииРеквизита(Параметр.Элемент, Истина, Истина);
		КонецЕсли;
	КонецЕсли;
	
КонецПроцедуры

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

#Область ОбработчикиСобытийЭлементовШапкиФормы

&НаКлиенте
Процедура ИспользованиеСоглашенийСКлиентамиПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользованиеСоглашенийСКлиентамиОчистка(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьЗаказыКлиентовПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьКорректировкиРеализацийПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьСчетаНаОплатуКлиентамПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ВариантОбособленияТоваровВПродажахПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ВариантОбособленияТоваровВПродажахОчистка(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьРеализациюПоНесколькимЗаказамПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьАктыВыполненныхРаботПоНесколькимЗаказамПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьКомиссиюПриПродажахПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьОказаниеАгентскихУслугПриЗакупкеПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ВариантОбособленияТоваровУслугАгентскаяСхемаПоЗакупкамПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ВариантОбособленияТоваровУслугАгентскаяСхемаПоЗакупкамОчистка(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьОтгрузкуБезПереходаПраваСобственностиПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьЗаявкиНаВозвратТоваровОтКлиентовПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьСогласованиеЗаказовКлиентовПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьСогласованиеСоглашенийСКлиентамиПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьСогласованиеЗаявокНаВозвратТоваровОтКлиентовПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьРозничныеПродажиПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
	ОбновитьДоступКПодключаемомуОборудованию();
	
	Оповестить("Запись_НаборКонстант", Новый Структура, "ИспользоватьРозничныеПродажи");
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьНесколькоКассККМПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура НазначатьСкидкиПоКнопкеРасчетВЧекеККМПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент, Ложь);
КонецПроцедуры

&НаКлиенте
Процедура КоличествоДнейХраненияОтложенныхЧековПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент, Ложь);
КонецПроцедуры

&НаКлиенте
Процедура НеЗакрыватьЗаказыКлиентовБезПолнойОтгрузкиПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент, Ложь);
КонецПроцедуры

&НаКлиенте
Процедура НеЗакрыватьЗаказыКлиентовБезПолнойОплатыПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент, Ложь);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьСтатусыРеализацийТоваровУслугПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьРасширенныеВозможностиЗаказаКлиентаПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьПричиныОтменыЗаказовКлиентовПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьСкладыВТабличнойЧастиДокументовПродажиПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура СтоимостьТоваровПриОценкеРентабельностиПродажиПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура НормативныйВидЦенПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ОперацияПриЗакрытииКассовойСменыОчистка(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
КонецПроцедуры

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

&НаКлиенте
Процедура ОперацияПриЗакрытииКассовойСменыНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
	
	ОбщегоНазначенияУТКлиентСервер.СохранитьЗначенияДоИзменения(ЭтотОбъект, Элементы.ОперацияПриЗакрытииКассовойСмены.Имя);
	
	СтандартнаяОбработка = Ложь;
	ДанныеВыбора = Новый СписокЗначений;
	ДанныеВыбора.Добавить(ПредопределенноеЗначение("Перечисление.ОперацииПриЗакрытииКассовойСмены.АрхивацияЧековККМ"));
	ДанныеВыбора.Добавить(ПредопределенноеЗначение("Перечисление.ОперацииПриЗакрытииКассовойСмены.УдалениеЧековККМ"));
	
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьЗапретОтгрузкиПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьПодарочныеСертификатыПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьАктыОРасхожденияхПослеОтгрузкиПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользованиеЭтаповОплатыВПродажахПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ВедетсяРаботаЧерезТорговыхПредставителейПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользованиеЗаданийТорговымПредставителямПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользованиеЗаданийТорговымПредставителямОчистка(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
КонецПроцедуры

&НаКлиенте
Процедура ДетализироватьЗаданияТорговымПредставителямПоНоменклатуреПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьПередачуНаОтветственноеХранениеСПравомПродажиПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура РежимИсполненияЗаказовПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьАктыРасхожденийПослеОтгрузкиПоОтгрузкамТоваровДавальцуПриИзменении(Элемент)
	ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьАктыРасхожденийПослеПриемкиПоПриемкамТоваровДавальцаПриИзменении(Элемент)
	ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ПечататьБумажныйЧекПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ПриИзмененииРеквизита(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ГруппаДоступаПартнераПриАвтоматическомСозданииПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьПродажуАгентскихУслугПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

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

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

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

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

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

&НаКлиенте
Процедура НазначитьОтветственныхЗаСогласованиеЛогистическихУсловийДокументовПродажи(Команда)
	ОткрытьФорму("РегистрСведений.ИсполнителиЗадач.Форма.ИсполнителиРолиСОбъектомАдресации", 
		Новый Структура("ОсновнойОбъектАдресации,Роль", 
			Неопределено, 
			ПредопределенноеЗначение("Справочник.РолиИсполнителей.СогласующийЛогистическиеУсловияПродаж")));
КонецПроцедуры

&НаКлиенте
Процедура НазначитьОтветственныхЗаСогласованиеФинансовыхУсловийДокументовПродажи(Команда)
	ОткрытьФорму("РегистрСведений.ИсполнителиЗадач.Форма.ИсполнителиРолиСОбъектомАдресации", 
		Новый Структура("ОсновнойОбъектАдресации,Роль", 
			Неопределено, 
			ПредопределенноеЗначение("Справочник.РолиИсполнителей.СогласующийФинансовыеУсловияПродаж")));
КонецПроцедуры

&НаКлиенте
Процедура НазначитьОтветственныхЗаСогласованиеЦеновыхУсловийДокументовПродажи(Команда)
	ОткрытьФорму("РегистрСведений.ИсполнителиЗадач.Форма.ИсполнителиРолиСОбъектомАдресации", 
		Новый Структура("ОсновнойОбъектАдресации,Роль", 
			Неопределено, 
			ПредопределенноеЗначение("Справочник.РолиИсполнителей.СогласующийЦеновыеУсловияПродаж")));
КонецПроцедуры

&НаКлиенте
Процедура НазначитьОтветственныхЗаСогласованиеЗаявокНаВозврат(Команда)
	ОткрытьФорму("РегистрСведений.ИсполнителиЗадач.Форма.ИсполнителиРолиСОбъектомАдресации", 
		Новый Структура("ОсновнойОбъектАдресации,Роль", 
			Неопределено, 
			ПредопределенноеЗначение("Справочник.РолиИсполнителей.СогласующийЗаявкиНаВозвратТоваровОтКлиентов")));
КонецПроцедуры

&НаКлиенте
Процедура НазначитьОтветственныхЗаСогласованиеКоммерческихУсловийДокументовПродажи(Команда)
		ОткрытьФорму("РегистрСведений.ИсполнителиЗадач.Форма.ИсполнителиРолиСОбъектомАдресации", 
		Новый Структура("ОсновнойОбъектАдресации,Роль", 
			Неопределено, 
			ПредопределенноеЗначение("Справочник.РолиИсполнителей.СогласующийКоммерческиеУсловияПродаж")));
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьНастройкиПродавцов(Команда)
	
	ОткрытьФорму("Справочник.НастройкиПродажДляПользователей.ФормаСписка", , ЭтаФорма);
	
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьНастройкиПечатиОбъектов(Команда)
	ОткрытьФорму("РегистрСведений.НастройкиПечатиОбъектов.ФормаСписка", , ЭтаФорма);
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьШаблоныЭтикетокИЦенников(Команда)
	ОткрытьФорму("Справочник.ШаблоныЭтикетокИЦенников.ФормаСписка", , ЭтаФорма);
КонецПроцедуры

&НаКлиенте
Процедура ДополнительнаяКолонкаПечатныхФормДокументовПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент, Ложь);
КонецПроцедуры

&НаКлиенте
Процедура ДополнительнаяКолонкаПечатныхФормДокументовОчистка(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьШтрихкодированиеПечатныхФормОбъектовПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент, Ложь);
КонецПроцедуры

&НаКлиенте
Процедура НаименованиеДляПечатиВидовНоменклатурыПриИзменении(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент, Ложь);
КонецПроцедуры

&НаКлиенте
Процедура ОтображениеСкидокВПечатныхФормахДокументовПродажи(Элемент)
	Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры

&НаКлиенте
Процедура ОтображениеСкидокВПечатныхФормахДокументовПродажиОчистка(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
КонецПроцедуры

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

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

#Область Клиент

&НаКлиенте
Процедура Подключаемый_ПриИзмененииРеквизита(Элемент, ОбновлятьИнтерфейс = Истина, ВнешнееИзменение = Ложь)
	
	Если НЕ ВнешнееИзменение Тогда
		НастройкиСистемыКлиентЛокализация.ПриИзмененииРеквизита_Продажи(
			Элемент,
			ЭтаФорма);
	КонецЕсли;
	
	КонстантаИмя = ПриИзмененииРеквизитаСервер(Элемент.Имя);
	
	Если ОбновлятьИнтерфейс Тогда
		ОбновитьИнтерфейс = Истина;
		ПодключитьОбработчикОжидания("ОбновитьИнтерфейсПрограммы", 2, Истина);
	КонецЕсли;
	
	Если КонстантаИмя <> "" Тогда
		Оповестить("Запись_НаборКонстант", Новый Структура, КонстантаИмя);
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОбработкаНавигационнойСсылкиФормы(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
	НастройкиСистемыКлиентЛокализация.ОбработкаНавигационнойСсылкиФормы_Продажи(Элемент,
		НавигационнаяСсылкаФорматированнойСтроки, 
		СтандартнаяОбработка,
		ЭтаФорма);
		
КонецПроцедуры

&НаКлиенте
Процедура ОбновитьИнтерфейсПрограммы()
	
	Если ОбновитьИнтерфейс = Истина Тогда
		ОбновитьИнтерфейс = Ложь;
		ОбщегоНазначенияКлиент.ОбновитьИнтерфейсПрограммы();
	КонецЕсли;
	
КонецПроцедуры

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

#Область ВызовСервера

&НаСервере
Процедура ОбновитьДоступКПодключаемомуОборудованию()
	
	Если НаборКонстант.ИспользоватьРозничныеПродажи Тогда
		Возврат;
	КонецЕсли;
	
	Константы.ИспользоватьОбменСПодключаемымОборудованиемOffline.Установить(Ложь);
	
КонецПроцедуры

&НаСервере
Функция ПриИзмененииРеквизитаСервер(ИмяЭлемента)
	
	РеквизитПутьКДанным = Элементы[ИмяЭлемента].ПутьКДанным;
	
	КонстантаИмя = СохранитьЗначениеРеквизита(РеквизитПутьКДанным,  Новый Структура);
	
	УстановитьДоступность(РеквизитПутьКДанным);
	
	ОбновитьПовторноИспользуемыеЗначения();
	
	Возврат КонстантаИмя;
	
КонецФункции

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

#Область Сервер

&НаСервере
Функция СохранитьЗначениеРеквизита(РеквизитПутьКДанным, Результат)
	
	// Сохранение значений реквизитов, не связанных с константами напрямую (в отношении один-к-одному).
	Если РеквизитПутьКДанным = "" Тогда
		Возврат "";
	КонецЕсли;
	
	// Определение имени константы.
	КонстантаИмя = "";
	Если СтрНачинаетсяС(НРег(РеквизитПутьКДанным), НРег("НаборКонстант.")) Тогда
		// Если путь к данным реквизита указан через "НаборКонстант".
		ЧастиИмени = СтрРазделить(РеквизитПутьКДанным, ".");
		КонстантаИмя = ЧастиИмени[1];
	Иначе
		// Определение имени и запись значения реквизита в соответствующей константе из "НаборКонстант".
		// Используется для тех реквизитов формы, которые связаны с константами напрямую (в отношении один-к-одному).
		Если РеквизитПутьКДанным = "ВключитьВерсионированиеЗаказовКлиентов"
			ИЛИ РеквизитПутьКДанным = "ВключитьВерсионированиеЗаявокНаВозврат"
			ИЛИ РеквизитПутьКДанным = "ВключитьВерсионированиеСоглашений" Тогда
			
			НаборКонстант.ИспользоватьВерсионированиеОбъектов = Истина;
			КонстантаИмя = "ИспользоватьВерсионированиеОбъектов";
			
		КонецЕсли;
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "РежимИсполненияЗаказов" Тогда
		
		Если РежимИсполненияЗаказов = 1 Тогда
			Константы.ИспользоватьРасширенныеВозможностиЗаказаКлиента.Установить(Истина);
			Константы.ИспользоватьПострочнуюОтгрузкуВЗаказеКлиента.Установить(Ложь);
			НаборКонстант.ИспользоватьРасширенныеВозможностиЗаказаКлиента = Истина;
			НаборКонстант.ИспользоватьПострочнуюОтгрузкуВЗаказеКлиента = Ложь;
		ИначеЕсли РежимИсполненияЗаказов = 2 Тогда
			Константы.ИспользоватьРасширенныеВозможностиЗаказаКлиента.Установить(Истина);
			Константы.ИспользоватьПострочнуюОтгрузкуВЗаказеКлиента.Установить(Истина);
			НаборКонстант.ИспользоватьРасширенныеВозможностиЗаказаКлиента = Истина;
			НаборКонстант.ИспользоватьПострочнуюОтгрузкуВЗаказеКлиента = Истина;
		Иначе
			Константы.ИспользоватьРасширенныеВозможностиЗаказаКлиента.Установить(Ложь);
			Константы.ИспользоватьПострочнуюОтгрузкуВЗаказеКлиента.Установить(Ложь);
			НаборКонстант.ИспользоватьРасширенныеВозможностиЗаказаКлиента = Ложь;
			НаборКонстант.ИспользоватьПострочнуюОтгрузкуВЗаказеКлиента = Ложь;
		КонецЕсли;
		
		КонстантаИмя = "ИспользоватьРасширенныеВозможностиЗаказаКлиента";
		
	КонецЕсли;
	
	// Сохранения значения константы.
	Если КонстантаИмя <> "" Тогда
		КонстантаМенеджер = Константы[КонстантаИмя];
		КонстантаЗначение = НаборКонстант[КонстантаИмя];
		
		Если КонстантаМенеджер.Получить() <> КонстантаЗначение Тогда
			КонстантаМенеджер.Установить(КонстантаЗначение);
		КонецЕсли;
		
		Если НастройкиСистемыПовтИсп.ЕстьПодчиненныеКонстанты(КонстантаИмя, КонстантаЗначение) Тогда
			ЭтаФорма.Прочитать();
		КонецЕсли;
		
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "ВключитьВерсионированиеЗаказовКлиентов" Тогда
		
		ОбъектыДляВерсионирования = Новый Соответствие;
		Если НаборКонстант.ИспользоватьСогласованиеЗаказовКлиентов Тогда
			ОбъектыДляВерсионирования.Вставить("Документ.ЗаказКлиента", "ВерсионироватьПриПроведении");
		КонецЕсли;
		
		Результат.Вставить("ВерсионированиеЗаказовКлиентовВключено",
			ОбщегоНазначенияУТ.ВключитьВерсионированиеОбъектов(ОбъектыДляВерсионирования));
		УстановитьДоступностьВерсионированияЗаказовКлиентов();
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "ВключитьВерсионированиеЗаявокНаВозврат" Тогда
		
		ОбъектыДляВерсионирования = Новый Соответствие;
		Если НаборКонстант.ИспользоватьСогласованиеЗаявокНаВозвратТоваровОтКлиентов Тогда
			ОбъектыДляВерсионирования.Вставить("Документ.ЗаявкаНаВозвратТоваровОтКлиента", "ВерсионироватьПриПроведении");
		КонецЕсли;
		
		Результат.Вставить("ВерсионированиеЗаявокНаВозвратВключено",
			ОбщегоНазначенияУТ.ВключитьВерсионированиеОбъектов(ОбъектыДляВерсионирования));
		УстановитьДоступностьВерсионированияЗаявокНаВозврат();
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "ВключитьВерсионированиеСоглашений" Тогда
		
		ОбъектыДляВерсионирования = Новый Соответствие;
		Если НаборКонстант.ИспользоватьСогласованиеСоглашенийСКлиентами Тогда
			ОбъектыДляВерсионирования.Вставить("Справочник.СоглашенияСКлиентами", "ВерсионироватьПриЗаписи");
		КонецЕсли;
		
		Результат.Вставить("ВерсионированиеСоглашенийВключено",
			ОбщегоНазначенияУТ.ВключитьВерсионированиеОбъектов(ОбъектыДляВерсионирования));
		УстановитьДоступностьВерсионированияСоглашений();
	КонецЕсли;
	
	НастройкиСистемыЛокализация.СохранитьЗначениеРеквизита_Продажи(КонстантаИмя, КонстантаЗначение, ЭтаФорма);
	
	Возврат КонстантаИмя;
	
КонецФункции

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

	Если РеквизитПутьКДанным = "НаборКонстант.СтоимостьТоваровПриОценкеРентабельностиПродажи" ИЛИ РеквизитПутьКДанным = "" Тогда
		ЗначениеКонстанты = НаборКонстант.СтоимостьТоваровПриОценкеРентабельностиПродажи;
		Если ЗначениеКонстанты = Перечисления.СтоимостьТоваровПриОценкеРентабельностиПродажи.ПоРасчетнойСебестоимости Тогда
			Элементы.ГруппаСтраницыНормативныйВидЦен.ТекущаяСтраница = Элементы.ГруппаНормативныйВидЦенГруппаПоРасчетнойСебестоимости;
		ИначеЕсли ЗначениеКонстанты = Перечисления.СтоимостьТоваровПриОценкеРентабельностиПродажи.ПоНормативномуВидуЦен Тогда
			Элементы.ГруппаСтраницыНормативныйВидЦен.ТекущаяСтраница = Элементы.ГруппаНормативныйВидЦенПоНормативномуВидуЦен;
		КонецЕсли;
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "НаборКонстант.ОперацияПриЗакрытииКассовойСмены" ИЛИ РеквизитПутьКДанным = "" Тогда
		ЗначениеКонстанты = НаборКонстант.ОперацияПриЗакрытииКассовойСмены;
		ИспользоватьРозничныеПродажи = НаборКонстант.ИспользоватьРозничныеПродажи;
		Элементы.КоличествоДнейХраненияЗаархивированныхЧеков.Доступность = (ЗначениеКонстанты = Перечисления.ОперацииПриЗакрытииКассовойСмены.АрхивацияЧековККМ И ИспользоватьРозничныеПродажи);
	КонецЕсли;
		
	Если РеквизитПутьКДанным = "НаборКонстант.ИспользоватьСтатусыРеализацийТоваровУслуг" ИЛИ РеквизитПутьКДанным = "" Тогда
		
		ЗначениеКонстанты = НаборКонстант.ИспользоватьСтатусыРеализацийТоваровУслуг;
		Элементы.ИспользоватьОтгрузкуБезПереходаПраваСобственности.Доступность = ЗначениеКонстанты;
		Элементы.ГруппаКомментарийИспользоватьОтгрузкуБезПереходаПраваСобственности.Видимость = Не ЗначениеКонстанты;
		
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "НаборКонстант.ВедетсяРаботаЧерезТорговыхПредставителей" ИЛИ РеквизитПутьКДанным = "" Тогда
		УстановитьДоступность("НаборКонстант.ИспользоватьЗаказыКлиентов");
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "НаборКонстант.ИспользованиеЗаданийТорговымПредставителям" ИЛИ РеквизитПутьКДанным = "" Тогда
		УстановитьДоступностьИспользованияЗаданий();
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "РежимИсполненияЗаказов" ИЛИ РеквизитПутьКДанным = "" Тогда
		
		ОбщегоНазначенияУТКлиентСервер.ОтображениеПредупрежденияПриРедактировании(
			Элементы.РежимИсполненияЗаказов,  РежимИсполненияЗаказов > 0);
		ОбщегоНазначенияУТКлиентСервер.ОтображениеПредупрежденияПриРедактировании(
			Элементы.РежимИсполненияЗаказов1, РежимИсполненияЗаказов > 1)
		
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "НаборКонстант.ИспользованиеЭтаповОплатыВПродажах" ИЛИ РеквизитПутьКДанным = "" Тогда
		
		ЗначениеКонстанты = НаборКонстант.ИспользованиеЭтаповОплатыВПродажах;
		ОбщегоНазначенияУТКлиентСервер.ОтображениеПредупрежденияПриРедактировании(
			Элементы.УпрощеннаяСхема, ЗначениеКонстанты <> Перечисления.ИспользованиеЭтаповОплаты.УпрощеннаяСхема);
		ОбщегоНазначенияУТКлиентСервер.ОтображениеПредупрежденияПриРедактировании(
			Элементы.РасширеннаяНастройка, ЗначениеКонстанты = Перечисления.ИспользованиеЭтаповОплаты.ГрафикиОплаты);
		
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "НаборКонстант.ИспользоватьНесколькоКассККМ" ИЛИ РеквизитПутьКДанным = "" Тогда
		
		ЗначениеКонстанты = НаборКонстант.ИспользоватьНесколькоКассККМ;
		
		Если ЗначениеКонстанты Тогда
			Элементы.ГруппаСтраницыКассыККМ.ТекущаяСтраница = Элементы.ГруппаПояснениеНесколькоКассККМ;
		Иначе
			Элементы.ГруппаСтраницыКассыККМ.ТекущаяСтраница = Элементы.ГруппаПояснениеОднаКассаККМ;
		КонецЕсли;
		
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "НаборКонстант.ВыводитьДопКолонкиНДС" ИЛИ РеквизитПутьКДанным = "" Тогда
		Элементы.ВыводитьДопКолонкиНДС.Доступность = НаборКонстант.ИспользоватьУчетНДС;
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "НаборКонстант.ИспользоватьОказаниеАгентскихУслугПриЗакупке"
		ИЛИ РеквизитПутьКДанным = "НаборКонстант.ИспользоватьДоговорыСКлиентами" 
		ИЛИ РеквизитПутьКДанным = "НаборКонстант.ИспользоватьЗаказыКлиентов"
		ИЛИ РеквизитПутьКДанным = "НаборКонстант.ИспользоватьЗаявкиНаВозвратТоваровОтКлиентов"
		ИЛИ РеквизитПутьКДанным = "РежимИсполненияЗаказов"
		ИЛИ РеквизитПутьКДанным = "НаборКонстант.ВариантОбособленияТоваровВПродажах"
		ИЛИ РеквизитПутьКДанным = "ВариантОбособленияТоваровУслугАгентскаяСхемаПоЗакупкам"
		ИЛИ РеквизитПутьКДанным = "НаборКонстант.ИспользоватьКомиссиюПриПродажах"
		ИЛИ РеквизитПутьКДанным = "" Тогда
		
		ЗначениеКонстанты = НаборКонстант.ИспользоватьОказаниеАгентскихУслугПриЗакупке;
		
		ОбособлениеТоваровПодходит = НаборКонстант.ВариантОбособленияТоваровВПродажах = Перечисления.ВариантыОбособленияТоваровВПродажах.ЗаказКлиента
				ИЛИ НаборКонстант.ВариантОбособленияТоваровВПродажах = Перечисления.ВариантыОбособленияТоваровВПродажах.Договор
				ИЛИ НаборКонстант.ВариантОбособленияТоваровВПродажах.Пустая();
		
		МожноИспользоватьОбособлениеПоЗаказам = НаборКонстант.ИспользоватьЗаказыКлиентов
			И Константы.ИспользоватьОбособленноеОбеспечениеЗаказов.Получить()
			И РежимИсполненияЗаказов = 2
			И ОбособлениеТоваровПодходит;
		
		МожноИспользоватьОказаниеАгентскихУслугПриЗакупке = НаборКонстант.ИспользоватьДоговорыСКлиентами
			И Константы.ИспользоватьОтветственноеХранениеВПроцессеЗакупки.Получить()
			И (ОбособлениеТоваровПодходит ИЛИ (Не НаборКонстант.ИспользоватьЗаказыКлиентов И Не НаборКонстант.ИспользоватьЗаявкиНаВозвратТоваровОтКлиентов));
			
		Элементы.ГруппаКомментарийИспользоватьОказаниеАгентскихУслугПриЗакупке.Видимость = НЕ МожноИспользоватьОказаниеАгентскихУслугПриЗакупке;
		Элементы.ИспользоватьОказаниеАгентскихУслугПриЗакупке.Доступность = МожноИспользоватьОказаниеАгентскихУслугПриЗакупке;
		
		ЗначениеКонстанты = НаборКонстант.ИспользоватьОказаниеАгентскихУслугПриЗакупке;
		
		Если ЗначениеКонстанты Тогда
			
			Элементы.ВариантОбособленияТоваровВПродажах.ТолькоПросмотр = Истина;
			Элементы.ВариантОбособленияТоваровУслугАгентскаяСхемаПоЗакупкам.Доступность = Истина;
			
			Элементы.ВариантОбособленияТоваровВПродажах.СписокВыбора.Очистить();
			Элементы.ВариантОбособленияТоваровУслугАгентскаяСхемаПоЗакупкам.СписокВыбора.Очистить();
			
			ТекстПоЗаказуКлиента = НСтр("ru = 'По заказу клиента'");
			ТекстПоДоговоруСКлиентом = НСтр("ru = 'По договору с клиентом'");
			
			Если МожноИспользоватьОбособлениеПоЗаказам Тогда
				Элементы.ВариантОбособленияТоваровВПродажах.СписокВыбора.Добавить(Перечисления.ВариантыОбособленияТоваровВПродажах.ЗаказКлиента, ТекстПоЗаказуКлиента);
				Элементы.ВариантОбособленияТоваровВПродажах.СписокВыбора.Добавить(Перечисления.ВариантыОбособленияТоваровВПродажах.Договор, ТекстПоЗаказуКлиента);
								
				Элементы.ВариантОбособленияТоваровУслугАгентскаяСхемаПоЗакупкам.СписокВыбора.Добавить(Перечисления.ВариантыОбособленияТоваровВПродажах.ЗаказКлиента, ТекстПоЗаказуКлиента);
				Элементы.ВариантОбособленияТоваровУслугАгентскаяСхемаПоЗакупкам.СписокВыбора.Добавить(Перечисления.ВариантыОбособленияТоваровВПродажах.Договор, ТекстПоДоговоруСКлиентом);
				Элементы.ВариантОбособленияТоваровУслугАгентскаяСхемаПоЗакупкам.ТолькоПросмотр = Ложь;
				Элементы.ГруппаВариантОбособленияТоваровАгентскаяСхемаПоЗакупкам.Видимость = Ложь;
				Элементы.ГруппаКомментарийИспользованияОбособленияПриВключеннойОпцииАгентскойЗакупки.Видимость = Истина;
			ИначеЕсли НаборКонстант.ИспользоватьЗаказыКлиентов
				ИЛИ НаборКонстант.ИспользоватьЗаявкиНаВозвратТоваровОтКлиентов Тогда
				Элементы.ВариантОбособленияТоваровВПродажах.СписокВыбора.Добавить(Перечисления.ВариантыОбособленияТоваровВПродажах.Договор, ТекстПоЗаказуКлиента);
				Элементы.ВариантОбособленияТоваровУслугАгентскаяСхемаПоЗакупкам.СписокВыбора.Добавить(Перечисления.ВариантыОбособленияТоваровВПродажах.Договор, ТекстПоДоговоруСКлиентом);
				Элементы.ГруппаВариантОбособленияТоваровАгентскаяСхемаПоЗакупкам.Видимость = Истина;
				Элементы.ВариантОбособленияТоваровУслугАгентскаяСхемаПоЗакупкам.ТолькоПросмотр = Истина;
				Элементы.ГруппаКомментарийИспользованияОбособленияПриВключеннойОпцииАгентскойЗакупки.Видимость = Истина;
			Иначе
				Элементы.ВариантОбособленияТоваровВПродажах.СписокВыбора.Добавить(Перечисления.ВариантыОбособленияТоваровВПродажах.Договор," ");
				Элементы.ВариантОбособленияТоваровУслугАгентскаяСхемаПоЗакупкам.СписокВыбора.Добавить(Перечисления.ВариантыОбособленияТоваровВПродажах.Договор, ТекстПоДоговоруСКлиентом);
				Элементы.ГруппаВариантОбособленияТоваровАгентскаяСхемаПоЗакупкам.Видимость = Истина;
				Элементы.ВариантОбособленияТоваровУслугАгентскаяСхемаПоЗакупкам.ТолькоПросмотр = Истина;
				Элементы.ГруппаКомментарийИспользованияОбособленияПриВключеннойОпцииАгентскойЗакупки.Видимость = Ложь;
			КонецЕсли;
			
			РежимИсполненияЗаказовДоступность = (НаборКонстант.ИспользоватьЗаказыКлиентов 
													ИЛИ НаборКонстант.ИспользоватьЗаявкиНаВозвратТоваровОтКлиентов) 
													И НЕ (НаборКонстант.ВариантОбособленияТоваровВПродажах = Перечисления.ВариантыОбособленияТоваровВПродажах.ЗаказКлиента);
			
			Элементы.РежимИсполненияЗаказов.Доступность  = РежимИсполненияЗаказовДоступность;
			Элементы.РежимИсполненияЗаказов1.Доступность = РежимИсполненияЗаказовДоступность;
			Элементы.РежимИсполненияЗаказов2.Доступность = РежимИсполненияЗаказовДоступность;
		Иначе
			
			Элементы.ВариантОбособленияТоваровВПродажах.ТолькоПросмотр = Ложь;
			
			Элементы.ГруппаВариантОбособленияТоваровАгентскаяСхемаПоЗакупкам.Видимость = Ложь;
			Элементы.ГруппаВариантОбособленияТоваровАгентскаяСхемаПоЗакупкам.Видимость = Ложь;
			Элементы.ГруппаКомментарийИспользованияОбособленияПриВключеннойОпцииАгентскойЗакупки.Видимость = Ложь;
			
			Элементы.ВариантОбособленияТоваровВПродажах.СписокВыбора.Очистить();
			Если Константы.ФормироватьФинансовыйРезультат.Получить() Тогда
				Элементы.ВариантОбособленияТоваровВПродажах.СписокВыбора.Добавить(Перечисления.ВариантыОбособленияТоваровВПродажах.НаправлениеДеятельности);
			КонецЕсли;
			Элементы.ВариантОбособленияТоваровВПродажах.СписокВыбора.Добавить(Перечисления.ВариантыОбособленияТоваровВПродажах.ЗаказКлиента);
			
			Элементы.ВариантОбособленияТоваровУслугАгентскаяСхемаПоЗакупкам.СписокВыбора.Очистить();
			Элементы.ВариантОбособленияТоваровУслугАгентскаяСхемаПоЗакупкам.Доступность = Ложь;
			
			РежимИсполненияЗаказовДоступность = НаборКонстант.ИспользоватьЗаказыКлиентов ИЛИ НаборКонстант.ИспользоватьЗаявкиНаВозвратТоваровОтКлиентов;
			
			Элементы.РежимИсполненияЗаказов.Доступность  = РежимИсполненияЗаказовДоступность;
			Элементы.РежимИсполненияЗаказов1.Доступность = РежимИсполненияЗаказовДоступность;
			Элементы.РежимИсполненияЗаказов2.Доступность = РежимИсполненияЗаказовДоступность;
		
		КонецЕсли;
		
		ИспользоватьДоговорыСКлиентами = НаборКонстант.ИспользоватьДоговорыСКлиентами;
		ИспользоватьСоглашения = НаборКонстант.ИспользоватьСоглашенияСКлиентами;
		ИспользоватьКомиссиюПриПродажах = НаборКонстант.ИспользоватьКомиссиюПриПродажах;
		ИспользоватьКомиссию20 = Константы.ИспользуетсяКомиссионнаяПродажа20.Получить();
		
		Элементы.ИспользоватьКомиссиюПриПродажах.Доступность = ИспользоватьДоговорыСКлиентами;
			
		МожноВыбиратьВариантКомиссионныхПродаж = ИспользоватьКомиссиюПриПродажах
			И НЕ НаборКонстант.ТолькоКомиссионныеПродажи25
			И ИспользоватьСоглашения
			И ИспользоватьДоговорыСКлиентами
			И ИспользоватьКомиссию20;
			
		Элементы.ГруппаВариантаКомиссионныхПродаж.Видимость = МожноВыбиратьВариантКомиссионныхПродаж;
			
		Элементы.ГруппаКомментарийИспользоватьКомиссиюПриПродажаБезДоговора.Видимость = НЕ НаборКонстант.ИспользоватьДоговорыСКлиентами;
		
		Элементы.РежимВыбораКомиссионныхПродаж.СписокВыбора.Очистить();
		Элементы.РежимВыбораКомиссионныхПродаж.СписокВыбора.Добавить(Ложь, КомиссионнаяТорговляСервер.ПостфиксСхемыКомиссии25());
		Элементы.РежимВыбораКомиссионныхПродаж.СписокВыбора.Добавить(Истина, 
					КомиссионнаяТорговляСервер.ПостфиксСхемыКомиссии20() + "/" + КомиссионнаяТорговляСервер.ПостфиксСхемыКомиссии25());
		
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "НаборКонстант.ИспользоватьПродажуАгентскихУслуг" 
		ИЛИ РеквизитПутьКДанным = "НаборКонстант.ИспользоватьКомиссиюПриЗакупках"
		ИЛИ РеквизитПутьКДанным = "" Тогда
		
		ВиднаГруппаКомментарийИспользоватьКомиссионныеЗакупки = НаборКонстант.ИспользоватьПродажуАгентскихУслуг И НаборКонстант.ИспользоватьКомиссиюПриЗакупках;
		Элементы.ГруппаКомментарийИспользоватьКомиссионныеЗакупки.Видимость = ВиднаГруппаКомментарийИспользоватьКомиссионныеЗакупки;
		Элементы.ИспользоватьКомиссиюПриЗакупках.Доступность = НЕ ВиднаГруппаКомментарийИспользоватьКомиссионныеЗакупки;
		
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "НаборКонстант.ИспользоватьПередачуНаОтветственноеХранениеСПравомПродажи"
		Или РеквизитПутьКДанным = "" Тогда
		
		ЗначениеКонстанты = НаборКонстант.ИспользоватьПередачуНаОтветственноеХранениеСПравомПродажи;
		
		Элементы.АктПослеПередачиХранителю.Видимость = ЗначениеКонстанты;
		
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "НаборКонстант.ИспользоватьДоговорыСКлиентами"
		Или РеквизитПутьКДанным = "НаборКонстант.ИспользоватьПередачуНаОтветственноеХранениеСПравомПродажи"
		Или РеквизитПутьКДанным = "НаборКонстант.ИспользоватьОказаниеАгентскихУслугПриЗакупке"
		Или РеквизитПутьКДанным = "НаборКонстант.ИспользоватьСоглашенияСКлиентами"
		Или РеквизитПутьКДанным = "НаборКонстант.ИспользоватьКомиссиюПриПродажах"
		Или РеквизитПутьКДанным = "НаборКонстант.ИспользоватьОтгрузкуБезПереходаПраваСобственности"
		Или РеквизитПутьКДанным = "" Тогда
		
		ЗначениеКонстантыИспользоватьДоговорыСКлиентами = НаборКонстант.ИспользоватьДоговорыСКлиентами;
		ЗначениеКонстантыОтветственногоХранения = НаборКонстант.ИспользоватьПередачуНаОтветственноеХранениеСПравомПродажи;
		ЗначениеКонстантыИспользованиеАгентскойЗакупки = НаборКонстант.ИспользоватьОказаниеАгентскихУслугПриЗакупке;
		ЗначениеКонстантыКомиссионныхПродаж = НаборКонстант.ИспользоватьКомиссиюПриПродажах;
		ЗначениеКонстантыИспользоватьОтгрузкуБезППС = НаборКонстант.ИспользоватьОтгрузкуБезПереходаПраваСобственности;
		
		ИспользуетсяКомиссионнаяПродажаПоДоговорам = ЗначениеКонстантыКомиссионныхПродаж И ЗначениеКонстантыИспользоватьДоговорыСКлиентами;
		
		ДоступноРедактированиеДоговорыСКлиентами =
			Не ЗначениеКонстантыОтветственногоХранения
			И Не ЗначениеКонстантыИспользованиеАгентскойЗакупки
			И Не ЗначениеКонстантыИспользоватьОтгрузкуБезППС
			И Не ИспользуетсяКомиссионнаяПродажаПоДоговорам;
		
		Элементы.ИспользоватьДоговорыСКлиентами.Доступность = ДоступноРедактированиеДоговорыСКлиентами;
		Элементы.ГруппаИспользоватьДоговорыСКлиентамиПредупреждение.Видимость =
			ЗначениеКонстантыИспользоватьДоговорыСКлиентами
				И Не ДоступноРедактированиеДоговорыСКлиентами;
		
		ТекстКомментария = НСтр("ru = 'Невозможно отключение договоров с клиентами, так как:'");
		
		ТекстКомментария = ТекстКомментария
			+ ?(ЗначениеКонстантыОтветственногоХранения,
				Символы.ПС + НСтр("ru = '— включена опция ""Передача на ответственное хранение с правом продажи""'"),
				"");
		
		ТекстКомментария = ТекстКомментария
			+ ?(ЗначениеКонстантыИспользованиеАгентскойЗакупки,
				Символы.ПС + НСтр("ru = '— включена опция ""Оказание агентских услуг по продаже""'"),
				"");
		
		ТекстКомментария = ТекстКомментария
			+ ?(ИспользуетсяКомиссионнаяПродажаПоДоговорам,
				Символы.ПС + Элементы.ПредупреждениеИспользоватьДоговорыСКлиентамиКомиссионныеПродажи.Заголовок,
				"");
		
		ТекстКомментария = ТекстКомментария
			+ ?(ЗначениеКонстантыИспользоватьОтгрузкуБезППС,
				Символы.ПС + НСтр("ru = '— включена опция ""Отгрузка без перехода права собственности""'"),
				"");
		
		
		Элементы.КомментарийИспользоватьДоговорыСКлиентамиПредупреждение.Заголовок = ТекстКомментария;
		
	КонецЕсли;
	
	Если РеквизитПутьКДанным = "" Тогда
		
		ЗначениеКонстанты = Константы.ИспользоватьОтветственноеХранениеВПроцессеЗакупки.Получить();
		
		Элементы.АктРасхожденийПослеОтгрузкиПоОтгрузкамТоваровСХранения.Видимость  = ЗначениеКонстанты;
		
	КонецЕсли;
	
	
	ОбменДаннымиУТУП.УстановитьДоступностьНастроекУзлаИнформационнойБазы(ЭтотОбъект);
	
	ОтображениеПредупрежденияПриРедактировании(РеквизитПутьКДанным);
	
	НастройкиСистемыЛокализация.УстановитьДоступность_Продажи(РеквизитПутьКДанным, ЭтотОбъект);
КонецПроцедуры

&НаСервере
Процедура ОтображениеПредупрежденияПриРедактировании(РеквизитПутьКДанным)
	
	СтруктураКонстант = Новый Структура(
		"ИспользоватьДоговорыСКлиентами,
		|ИспользоватьЗаказыКлиентов,
		|ИспользоватьЗаявкиНаВозвратТоваровОтКлиентов,
		|ИспользоватьКомиссиюПриПродажах,
		|ИспользоватьЗапретОтгрузки,
		|ИспользоватьПодарочныеСертификаты,
		|ИспользоватьРасширенныеВозможностиЗаказаКлиента,
		|ИспользоватьПострочнуюОтгрузкуВЗаказеКлиента,
		|ИспользоватьСтатусыРеализацийТоваровУслуг,
		|ИспользоватьПередачуНаОтветственноеХранениеСПравомПродажи,
		|ИспользоватьОтгрузкуБезПереходаПраваСобственности");
	
	НастройкиСистемыЛокализация.ОтображениеПредупрежденияПриРедактировании_Продажи(СтруктураКонстант);
	
	Для Каждого КлючИЗначение Из СтруктураКонстант Цикл
		ОбщегоНазначенияУТКлиентСервер.ОтображениеПредупрежденияПриРедактировании(
			Элементы[КлючИЗначение.Ключ],
			НаборКонстант[КлючИЗначение.Ключ]);
	КонецЦикла;
	
КонецПроцедуры

&НаСервере
Процедура ГруппаДоступаПартнераПриАвтоматическомСозданииУстановитьВидимость()
	Элементы.ГруппаДоступаПартнераПриАвтоматическомСоздании.Видимость = Константы.АвтоматическиСоздаватьПартнеровПриОтправкеЭлектронногоЧекаПокупателю.Получить();
КонецПроцедуры

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

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

&НаСервере
Процедура УстановитьДоступностьВерсионированияДокументовПродажи()
	УстановитьДоступностьВерсионированияЗаказовКлиентов();
	УстановитьДоступностьВерсионированияЗаявокНаВозврат();
	УстановитьДоступностьВерсионированияСоглашений();
КонецПроцедуры

&НаСервере
Процедура УстановитьДоступностьВерсионированияЗаказовКлиентов()
	
	ИспользоватьВерсионированиеОбъекта = ОбщегоНазначенияУТ.ИспользоватьВерсионированиеОбъекта("Документ.ЗаказКлиента");
	Элементы.ВключитьВерсионированиеЗаказовКлиентов.Доступность =
		НаборКонстант.ИспользоватьСогласованиеЗаказовКлиентов
		И (НЕ НаборКонстант.ИспользоватьВерсионированиеОбъектов
			ИЛИ НЕ ИспользоватьВерсионированиеОбъекта);
			
	Если НЕ ИспользоватьВерсионированиеОбъекта Тогда
		Элементы.ВключитьВерсионированиеЗаказовКлиентов.Заголовок = НСтр("ru='Включить версионирование'");
	Иначе
		Элементы.ВключитьВерсионированиеЗаказовКлиентов.Заголовок = НСтр("ru='Версионирование включено'");
		Элементы.ВключитьВерсионированиеЗаказовКлиентов.Шрифт = Новый Шрифт();
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Процедура УстановитьДоступностьВерсионированияЗаявокНаВозврат()
	
	ИспользоватьВерсионированиеОбъекта = ОбщегоНазначенияУТ.ИспользоватьВерсионированиеОбъекта("Документ.ЗаявкаНаВозвратТоваровОтКлиента");
	Элементы.ВключитьВерсионированиеЗаявокНаВозврат.Доступность =
		НаборКонстант.ИспользоватьСогласованиеЗаявокНаВозвратТоваровОтКлиентов
		И (НЕ НаборКонстант.ИспользоватьВерсионированиеОбъектов
			ИЛИ НЕ ИспользоватьВерсионированиеОбъекта);
			
	Если НЕ ИспользоватьВерсионированиеОбъекта Тогда
		Элементы.ВключитьВерсионированиеЗаявокНаВозврат.Заголовок = НСтр("ru='Включить версионирование'");
	Иначе
		Элементы.ВключитьВерсионированиеЗаявокНаВозврат.Заголовок = НСтр("ru='Версионирование включено'");
	КонецЕсли;
	
КонецПроцедуры

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

&НаСервере
Процедура УстановитьДоступностьИспользованияЗаданий()
	
	Элементы.ДетализироватьЗаданияТорговымПредставителямПоНоменклатуре.Доступность =
		НаборКонстант.ИспользованиеЗаданийТорговымПредставителям <> Перечисления.ИспользованиеЗаданийТорговымПредставителям.НеИспользуются;
			
КонецПроцедуры

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

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

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

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