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