ОбновитьДанныеЗависимыхПроизводственныхКалендарей (БСП)

Автор: 1С
ОбщийМодуль.КалендарныеГрафики
БСП

Обновить данные зависимых производственных календарей. Обновляет данные зависимых производственных календарей от базовых.

// Обновляет данные зависимых производственных календарей от базовых.
//
Процедура ОбновитьДанныеЗависимыхПроизводственныхКалендарей() Экспорт
	
	Если ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() Тогда
		Возврат;
	КонецЕсли;
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("Год", 2018);
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ЗависимыеКалендари.Ссылка КАК Календарь,
		|	ЗависимыеКалендари.БазовыйКалендарь КАК БазовыйКалендарь
		|ПОМЕСТИТЬ ВТЗависимыеКалендари
		|ИЗ
		|	Справочник.ПроизводственныеКалендари КАК ЗависимыеКалендари
		|ГДЕ
		|	ЗависимыеКалендари.БазовыйКалендарь <> ЗНАЧЕНИЕ(Справочник.ПроизводственныеКалендари.ПустаяСсылка)
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	ДанныеКалендарей.ПроизводственныйКалендарь КАК ПроизводственныйКалендарь,
		|	ДанныеКалендарей.Год КАК Год
		|ПОМЕСТИТЬ ВТГодыКалендарей
		|ИЗ
		|	РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеКалендарей
		|ГДЕ
		|	ДанныеКалендарей.Год >= &Год
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	ЗависимыеКалендари.БазовыйКалендарь КАК БазовыйКалендарь,
		|	ЗависимыеКалендари.БазовыйКалендарь.Код КАК КодПроизводственногоКалендаря,
		|	ДанныеБазовыхКалендарей.Год КАК Год
		|ИЗ
		|	ВТЗависимыеКалендари КАК ЗависимыеКалендари
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТГодыКалендарей КАК ДанныеБазовыхКалендарей
		|		ПО (ДанныеБазовыхКалендарей.ПроизводственныйКалендарь = ЗависимыеКалендари.БазовыйКалендарь)
		|		ЛЕВОЕ СОЕДИНЕНИЕ ВТГодыКалендарей КАК ДанныеЗависимогоКалендаря
		|		ПО (ДанныеЗависимогоКалендаря.ПроизводственныйКалендарь = ЗависимыеКалендари.Календарь)
		|			И (ДанныеЗависимогоКалендаря.Год = ДанныеБазовыхКалендарей.Год)
		|ГДЕ
		|	ДанныеЗависимогоКалендаря.Год ЕСТЬ NULL";
	
	РезультатЗапроса = Запрос.Выполнить();
	Если РезультатЗапроса.Пустой() Тогда
		Возврат;
	КонецЕсли;
	
	ТаблицаИзменений = РезультатЗапроса.Выгрузить();
	Справочники.ПроизводственныеКалендари.ОбновитьДанныеЗависимыхПроизводственныхКалендарей(ТаблицаИзменений);
	
	Если ОбщегоНазначения.РазделениеВключено() Тогда
		ЗапланироватьОбновлениеДанныхЗависимыхОтПроизводственныхКалендарей(ТаблицаИзменений);
		Возврат;
	КонецЕсли;
	
	ПараметрыОбработчика = ОбновлениеИнформационнойБазыСлужебный.ПараметрыОтложенногоОбработчикаОбновления(
		"КалендарныеГрафики.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей");
	Если ПараметрыОбработчика <> Неопределено И ПараметрыОбработчика.Свойство("ТаблицаИзменений") Тогда
		ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(ТаблицаИзменений, ПараметрыОбработчика.ТаблицаИзменений);
	КонецЕсли;
	
	ПараметрыОбработчика = Новый Структура("ТаблицаИзменений");
	ПараметрыОбработчика.ТаблицаИзменений = ТаблицаИзменений;
	ОбновлениеИнформационнойБазыСлужебный.ЗаписатьПараметрыОтложенногоОбработчикаОбновления(
		"КалендарныеГрафики.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей", ПараметрыОбработчика);
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей (БСП)

ПриОбновленииДанныхЗависимыхОтПроизводственныхКалендарей (БСП)

ЗапланироватьОбновлениеДанныхЗависимыхОтПроизводственныхКалендарей (БСП)

ОбновитьДанныеПроизводственныхКалендарей (БСП)

ПриЗаполненииБлокируемыхОбъектовЗависимыхОтПроизводственныхКалендарей (БСП)

ЗаполнитьДанныеОбновленияДанныхЗависимыхОтПроизводственныхКалендарей (БСП)

ЗаполнитьДанныеЗависимыеОтПроизводственныхКалендарей (БСП)

ОбновитьГрафикиРаботыПоДаннымПроизводственныхКалендарей (БСП)

Синтакс-помощник БСП с нейросетевым ассистентом