Документы продажи / Параметры оформления документов продажи / Модуль формы

файл

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

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

	СтруктураПараметров = ПолучитьПараметры(Параметры);
	ЗаполнитьЗначенияСвойств(ЭтаФорма, СтруктураПараметров);
	
	ФискализацияДоступна = РозничныеПродажиВызовСервера.ФискализацияДоступна();
	
	ОбновитьГиперссылкуФискальноеОборудование();
	
	//++ Локализация
	ИспользуетсяНоменклатураГосИС = ИнтеграцияИСУТ.ИспользуютсяПодсистемыГОСИС();
	Элементы.ОтдельныеНакладныеПоТоварамСОсобенностьюУчета.Видимость = ИспользуетсяНоменклатураГосИС;
	
	ТекстОтдельныеНакладныеПоТоварамСОсобенностьюУчета = 
	НСтр("ru = 'При создании накладных товары будут группироваться в зависимости от вида ГосИС:" + Символы.ПС + "- %1'");
	ТекстОтдельныеНакладныеПоТоварамСОсобенностьюУчета = СтрШаблон(ТекстОтдельныеНакладныеПоТоварамСОсобенностьюУчета, 
			СтрСоединить(ИнтеграцияИСУТ.СписокИспользуемыхПодсистем(Истина), Символы.ПС + "- "));
	Элементы.ОтдельныеНакладныеПоТоварамСОсобенностьюУчета.РасширеннаяПодсказка.Заголовок = 
		ТекстОтдельныеНакладныеПоТоварамСОсобенностьюУчета;
	//-- Локализация
	УстановитьВидимостьДоступность(ЭтаФорма);
	
КонецПроцедуры

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

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

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

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

&НаКлиенте
Процедура СоздаватьДокументПродажиПриИзменении(Элемент)
	
	УстановитьВидимостьДоступность(ЭтаФорма);
	
КонецПроцедуры

&НаКлиенте
Процедура СоздаватьПриходныйКассовыйОрдерПриИзменении(Элемент)

	УстановитьВидимостьДоступность(ЭтаФорма);

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

&НаКлиенте
Процедура ПробиватьФискальныйЧекПриИзменении(Элемент)

	УстановитьВидимостьДоступность(ЭтаФорма);

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

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

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

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

&НаКлиенте
Процедура ОК(Команда)
	
	СохранитьПараметры = Истина;
	Закрыть(ПолучитьПараметры(ЭтаФорма));
	
КонецПроцедуры

&НаКлиенте
Процедура Отмена(Команда)
	
	Закрыть(Неопределено);
	
КонецПроцедуры

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

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

&НаКлиентеНаСервереБезКонтекста
Функция ПолучитьПараметры(Источник)
	
	СтруктураПараметров = Новый Структура();
	
	СтруктураПараметров.Вставить("КлючОбъекта",                      Источник.КлючОбъекта);
	СтруктураПараметров.Вставить("Организация",                      Источник.Организация);
	СтруктураПараметров.Вставить("Склад",                            Источник.Склад);
	СтруктураПараметров.Вставить("СостояниеНакладной",               Источник.СостояниеНакладной);
	СтруктураПараметров.Вставить("СостояниеОрдера",                  Источник.СостояниеОрдера);
	СтруктураПараметров.Вставить("СохраненыНастройкиОформления",     Источник.СохраненыНастройкиОформления);
	
	СтруктураПараметров.Вставить("ПечататьАктВыполненныхРабот",      Источник.ПечататьАктВыполненныхРабот);
	СтруктураПараметров.Вставить("ПечататьРеализациюТоваровУслуг",   Источник.ПечататьРеализациюТоваровУслуг);
	СтруктураПараметров.Вставить("ПечататьПриходныйКассовыйОрдер",   Источник.ПечататьПриходныйКассовыйОрдер);
	СтруктураПараметров.Вставить("ПечататьПередачуТоваровХранителю", Источник.ПечататьПередачуТоваровХранителю);
	СтруктураПараметров.Вставить("СоздаватьДокументПродажи",         Источник.СоздаватьДокументПродажи);
	СтруктураПараметров.Вставить("СоздаватьПриходныйКассовыйОрдер",  Источник.СоздаватьПриходныйКассовыйОрдер);
	СтруктураПараметров.Вставить("ПробиватьФискальныйЧек",           Источник.ПробиватьФискальныйЧек);
	//++ Локализация
	СтруктураПараметров.Вставить("СоздаватьСчетФактуру",             Источник.СоздаватьСчетФактуру);
	СтруктураПараметров.Вставить("ОтдельныеНакладныеПоТоварамСОсобенностьюУчета",	Источник.ОтдельныеНакладныеПоТоварамСОсобенностьюУчета);
	//-- Локализация
	СтруктураПараметров.Вставить("НеОткрыватьФормуСозданногоДокумента", Источник.НеОткрыватьФормуСозданногоДокумента);
	
	Возврат СтруктураПараметров;
	
КонецФункции

&НаКлиентеНаСервереБезКонтекста
Процедура ОбработатьИзменениеФлага(Реквизит, ЗависимыйЭлемент, ЗависимыйРеквизит  = Неопределено)
	
	ЗависимыйЭлемент.Доступность = Реквизит;
	Если Не Реквизит И ЗависимыйЭлемент <> Неопределено Тогда
		ЗависимыйРеквизит = Неопределено;
	КонецЕсли;
	
КонецПроцедуры

&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьВидимостьДоступность(Форма)
	
	//++ НЕ УТ
	ЭтоПередачаВПереработку = ЭтоПередачаВПереработку(Форма.КлючОбъекта);
	//-- НЕ УТ
	
	ОбработатьИзменениеФлага(
		Форма.СоздаватьДокументПродажи,
		Форма.Элементы.ПечататьРеализацию,
		Форма.ПечататьРеализациюТоваровУслуг);
		
	ОбработатьИзменениеФлага(
		Форма.СоздаватьДокументПродажи,
		Форма.Элементы.ПечататьПередачу,
		Форма.ПечататьПередачуТоваровХранителю);
	
	ОбработатьИзменениеФлага(
		Форма.СоздаватьДокументПродажи,
		Форма.Элементы.ПечататьАкт,
		Форма.ПечататьАктВыполненныхРабот);
		
	//++ Локализация
	Форма.Элементы.СоздаватьСчетФактуру.Видимость =
		//++ НЕ УТ
		Не ЭтоПередачаВПереработку И
		//-- НЕ УТ
		Истина;
	ОбработатьИзменениеФлага(
		Форма.СоздаватьДокументПродажи,
		Форма.Элементы.СоздаватьСчетФактуру,
		Форма.СоздаватьСчетФактуру);
	//-- Локализация
	
	ОбработатьИзменениеФлага(
		Форма.СоздаватьДокументПродажи,
		Форма.Элементы.НеОткрыватьФормуСозданногоДокумента,
		Форма.НеОткрыватьФормуСозданногоДокумента);

	//++ Локализация
	ОбработатьИзменениеФлага(
		Форма.ИспользуетсяНоменклатураГосИС,
		Форма.Элементы.ОтдельныеНакладныеПоТоварамСОсобенностьюУчета,
		Форма.ОтдельныеНакладныеПоТоварамСОсобенностьюУчета);
	//-- Локализация
		
	ЕстьПравоСоздаватьПКО =
		//++ НЕ УТ
		Не ЭтоПередачаВПереработку И
		//-- НЕ УТ
		ЕстьПравоСоздаватьПКО();
	Форма.Элементы.СоздаватьПриходныйКассовыйОрдер.Видимость = ЕстьПравоСоздаватьПКО;
	ОбработатьИзменениеФлага(
		Форма.СоздаватьДокументПродажи,
		Форма.Элементы.СоздаватьПриходныйКассовыйОрдер,
		Форма.СоздаватьПриходныйКассовыйОрдер);
		
	Форма.Элементы.ПечататьПриходныйКассовыйОрдер.Видимость = ЕстьПравоСоздаватьПКО;
	ОбработатьИзменениеФлага(
		Форма.СоздаватьПриходныйКассовыйОрдер,
		Форма.Элементы.ПечататьПриходныйКассовыйОрдер,
		Форма.ПечататьПриходныйКассовыйОрдер);
	
	//++ НЕ УТ
	Если ЭтоПередачаВПереработку Тогда
		
		Форма.Элементы.ПечататьПередачу.Видимость   = Ложь;
		Форма.Элементы.ПечататьРеализацию.Видимость = Ложь;
		Форма.Элементы.ПечататьАкт.Видимость        = Ложь;
		
	КонецЕсли;
	//-- НЕ УТ
	
	Форма.Элементы.ГруппаФискализация.Видимость =
		//++ НЕ УТ
		Не ЭтоПередачаВПереработку И
		//-- НЕ УТ
		Форма.ФискализацияДоступна;
	
	Форма.Элементы.ПробиватьФискальныйЧек.Видимость = Форма.Элементы.ГруппаФискализация.Видимость;
	ОбработатьИзменениеФлага(
		Форма.СоздаватьДокументПродажи,
		Форма.Элементы.ПробиватьФискальныйЧек,
		Форма.ПробиватьФискальныйЧек);
		
	Форма.Элементы.НастройкиПодключаемогоОборудования.Видимость = Форма.ПробиватьФискальныйЧек;
	
КонецПроцедуры

&НаСервереБезКонтекста
Функция ЕстьПравоСоздаватьПКО()
	
	Возврат ПравоДоступа("Добавление",Метаданные.Документы.ПриходныйКассовыйОрдер);
	
КонецФункции

&НаСервере
Процедура ОбновитьГиперссылкуФискальноеОборудование()
	
	НастройкиПодключаемогоОборудования = Новый ФорматированнаяСтрока(НСтр("ru = 'Настройка'"),, 
		ЦветаСтиля.ГиперссылкаЦвет,, "НастроитьОборудование");
	
КонецПроцедуры

//++ НЕ УТ
&НаКлиентеНаСервереБезКонтекста
Функция ЭтоПередачаВПереработку(КлючОбъекта)
	
	Возврат Не СтрНайти(КлючОбъекта, "ЖурналДокументовПередачиВПереработку2_5") = 0;
	
КонецФункции
//-- НЕ УТ

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

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