Добавление данных по регистру в документ "Перенос данных" в ЗУП

navarrow 33 1 4
&НаСервере
Процедура ДелоНаСервере()
	
	Док = Документы.ПереносДанных.СоздатьДокумент();	
	Док.Дата = ТекущаяДата();
	Док.ПериодРегистрации = Период.ДатаНачала;
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	НачислениеЗарплатыНачисления.Сотрудник КАК Сотрудник,
		|	НачислениеЗарплатыНачисления.ОтработаноДней КАК ОтработаноДней,
		|	НачислениеЗарплатыНачисления.ОтработаноЧасов КАК ОтработаноЧасов,
		|	НачислениеЗарплатыНачисления.Ссылка КАК Ссылка,
		|	НачислениеЗарплатыНачисления.ДатаНачала КАК ДатаНачала,
		|	НачислениеЗарплатыНачисления.Подразделение.ГоловнаяОрганизация КАК ПодразделениеГоловнаяОрганизация,
		|	НачислениеЗарплатыНачисления.Сотрудник.ФизическоеЛицо КАК СотрудникФизическоеЛицо,
		|	НачислениеЗарплатыНачисления.Подразделение КАК Подразделение,
		|	НачислениеЗарплатыНачисления.Сотрудник.ГоловнойСотрудник КАК СотрудникГоловнойСотрудник
		|ИЗ
		|	РегистрСведений.ВидыЗанятостиСотрудников.СрезПоследних(, ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятости.Подработка)) КАК ВидыЗанятостиСотрудниковСрезПоследних
		|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.НачислениеЗарплаты.Начисления КАК НачислениеЗарплатыНачисления
		|		ПО ВидыЗанятостиСотрудниковСрезПоследних.Сотрудник = НачислениеЗарплатыНачисления.Сотрудник
		|ГДЕ
		|	НачислениеЗарплатыНачисления.ОтработаноДней > 0
		|	И НачислениеЗарплатыНачисления.Начисление.Код <> ""РК""
		|	И ВидыЗанятостиСотрудниковСрезПоследних.ДействуетДо >= НачислениеЗарплатыНачисления.ДатаНачала
		|	И НачислениеЗарплатыНачисления.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";
	
	Запрос.УстановитьПараметр("ДатаНачала", Период.ДатаНачала);
	Запрос.УстановитьПараметр("ДатаОкончания", Период.ДатаОкончания);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ДокументОбъект = Док;
	
	Нз = ДокументОбъект.Движения.ДанныеОВремениДляРасчетаСреднегоОбщий;
	Рег = ДокументОбъект.ТаблицаРегистров.Добавить();
	Рег.Имя = "ДанныеОВремениДляРасчетаСреднегоОбщий";
	ДокументОбъект.Ответственный = ПользователиКлиентСервер.ТекущийПользователь();
			
	Выборка = РезультатЗапроса.Выбрать();
	
	Пока Выборка.Следующий() Цикл
		СтрокаНз = Нз.Добавить();
		СтрокаНз.Период = Выборка.ДатаНачала;
		СтрокаНз.Активность = Истина;
		СтрокаНз.Сотрудник = Выборка.СотрудникГоловнойСотрудник;
		СтрокаНз.ПорядокРасчета = Перечисления.ПорядокРасчетаСреднегоЗаработкаОбщий.Постановление2010;
		СтрокаНз.ОтработаноДней = Выборка.ОтработаноДней;
		СтрокаНз.ОтработаноЧасов = Выборка.ОтработаноЧасов;	
	КонецЦикла;
		
	ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);
	Сообщение = Новый СообщениеПользователю();
	Сообщение.Текст = "Создан документ " + ДокументОбъект;
	Сообщение.КлючДанных = ДокументОбъект.Ссылка;
	Сообщение.ПутьКДанным = "Объект";
	Сообщение.Сообщить();	
	
	
КонецПроцедуры
0

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

См. также

ЗаполнитьДанныеРегистраВерсииКлассификаторовОбластейДанных (БСП)

ПеренестиКэшДанныхКлассификаторов (БСП)

Код для переноса данных

УстановитьРеквизитыФормыВзаимодействияПоДаннымРегистра (БСП)

ПриЗаписиДокумента (БСП)

Ограничение, одним видом документов, запроса из регистра

ПриОпределенииРегистровСДвижениями (БСП)

ПеренестиНастройкиТранспортаОбменаСообщениями (БСП)

ПеренестиЗащищаемыеОбластиПерсональныхДанных (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз

Комментарии

Модератору