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