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