Поставляемый макет изменен. Проверяет, был ли изменен поставляемый макет по сравнению с предыдущей версией конфигурации.
// Проверяет, был ли изменен поставляемый макет по сравнению с предыдущей версией конфигурации.
//
// Параметры:
// ПутьКМакету - Строка - полный путь к макету в формате:
// "Документ.<ИмяДокумента>.<ИмяМакета>"
// "Обработка.<ИмяОбработки>.<ИмяМакета>"
// "ОбщийМакет.<ИмяМакета>".
// Возвращаемое значение:
// Булево - Истина, если макет был изменен.
//
Функция ПоставляемыйМакетИзменен(ПутьКМакету) Экспорт
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Макет ""%1"" не существует. Операция прервана.'"), ПутьКМакету);
ЧастиПути = СтрРазделить(ПутьКМакету, ".", Истина);
Если ЧастиПути.Количество() <> 2 И ЧастиПути.Количество() <> 3 Тогда
ВызватьИсключение ТекстОшибки;
КонецЕсли;
ИмяМакета = ЧастиПути[ЧастиПути.ВГраница()];
ЧастиПути.Удалить(ЧастиПути.ВГраница());
ИмяОбъекта = СтрСоединить(ЧастиПути, ".");
ОбъектМетаданных = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ИмяОбъекта);
ТекстЗапроса =
"ВЫБРАТЬ
| ПоставляемыеМакетыПечати.ПредыдущаяКонтрольнаяСумма <> """"
| И ПоставляемыеМакетыПечати.КонтрольнаяСумма <> ПоставляемыеМакетыПечати.ПредыдущаяКонтрольнаяСумма КАК Изменен,
| ПоставляемыеМакетыПечати.ИмяМакета КАК ИмяМакета
|ИЗ
| РегистрСведений.ПоставляемыеМакетыПечати КАК ПоставляемыеМакетыПечати
|ГДЕ
| ПоставляемыеМакетыПечати.Объект = &Объект
| И ПоставляемыеМакетыПечати.ИмяМакета ПОДОБНО &ИмяМакета
| И ПоставляемыеМакетыПечати.ВерсияМакета = &ВерсияМакета";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.Параметры.Вставить("Объект", ОбъектМетаданных);
Запрос.Параметры.Вставить("ИмяМакета", ИмяМакета + "%");
Запрос.Параметры.Вставить("ВерсияМакета", Метаданные.Версия);
Выборка = Запрос.Выполнить().Выбрать();
СписокМакетов = Новый Соответствие;
Пока Выборка.Следующий() Цикл
СписокМакетов.Вставить(Выборка.ИмяМакета, Выборка.Изменен);
КонецЦикла;
ИменаПоиска = ИменаМакета(ИмяМакета);
Для Каждого ИмяПоиска Из ИменаПоиска Цикл
Изменен = СписокМакетов[ИмяПоиска];
Если Изменен <> Неопределено Тогда
Возврат Изменен;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ИспользуетсяПользовательскийМакет (БСП)
КонтрольныеСуммыФайловКомплектаВнешнейКомпоненты (БСП)
ИР Кнопка "Изменить" в окне "Пользователь"
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)