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