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