1. Создаем внешнюю обработку, вид = "ЗаполнениеОбъекта"
2. В расширении в документе "Разовое начисление" добавила макет "Загрузка данных из файла", в котором указаны наименования колонок, которые соответствуют колонкам табличной части документа.
Обязательно заполнить параметр расшифровки у ячейки. (По идее макет можно было вставить во внешнюю обработку, но менеджер документа в любом случае дорабатывать, поэтому и вынесла макет в расширение)
3. В модуле менеджера добавляем процедуру с пустым телом
// Устанавливает параметры загрузки.
//
Процедура УстановитьПараметрыЗагрузкиИзФайлаВТЧ(Параметры) Экспорт
КонецПроцедуры
4. В форме внешней обработки описываем вызов обработки "Загрузка данных из файла" и загрузку данных в таб. часть
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
ПараметрыЗагрузки = ЗагрузкаДанныхИзФайлаКлиент.ПараметрыЗагрузкиДанных();
ПараметрыЗагрузки.ПолноеИмяТабличнойЧасти = "РазовоеНачисление.Начисления";
ПараметрыЗагрузки.Заголовок = НСтр("ru = 'Загрузка списка сотрудников из файла'");
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("Организация", ВладелецФормы.Объект.Организация);
ПараметрыЗагрузки.ДополнительныеПараметры = ДополнительныеПараметры;
Оповещение = Новый ОписаниеОповещения("ЗагрузитьСотрудниковИзФайлаЗавершение", ЭтотОбъект, ВладелецФормы.Объект);
ЗагрузкаДанныхИзФайлаКлиент.ПоказатьФормуЗагрузки(ПараметрыЗагрузки, Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьСотрудниковИзФайлаЗавершение(АдресЗагруженныхДанных, ДополнительныеПараметры) Экспорт
Если АдресЗагруженныхДанных = Неопределено Тогда
Возврат;
КонецЕсли;
ЗагрузитьСотрудниковИзФайлаНаСервере(АдресЗагруженныхДанных, ДополнительныеПараметры);
КопироватьДанныеФормы(ДополнительныеПараметры, ВладелецФормы.Объект);
КонецПроцедуры
&НаСервере
Процедура ЗагрузитьСотрудниковИзФайлаНаСервере(АдресЗагруженныхДанных, ДокументРазовоеНачисление)
ДобавленыСтроки = Ложь;
ЗагруженныеДанные = ПолучитьИзВременногоХранилища(АдресЗагруженныхДанных);
ДокументРазовоеНачисление.Начисления.Загрузить(ЗагруженныеДанные);
Для Каждого Стр Из ДокументРазовоеНачисление.Начисления Цикл
Стр.ПериодДействия = НачалоМесяца(ДокументРазовоеНачисление.МесяцНачисления);
КонецЦикла;
Модифицированность = Модифицированность ИЛИ ДобавленыСтроки;
КонецПроцедуры
5. Подключаем обработку, открываем документ, загружаем данные. (Можно в макет, можно из файла)
6. Дополнительно. Для красивого сопоставления данных (К примеру 2 сотрудника в разных подразделениях), чтобы открылась форма какого сотрудника выбрать, необходимо описать в менеджере документа процедуры и алгоритм сопоставления. Пример есть в типовом документе "График отпусков"
Процедура СопоставитьЗагружаемыеДанные(АдресЗагружаемыхДанных, АдресТаблицыСопоставления, СписокНеоднозначностей, ПолноеИмяТабличнойЧасти, ДополнительныеПараметры) Экспорт
Процедура ЗаполнитьСписокНеоднозначностей(ПолноеИмяТабличнойЧасти, СписокНеоднозначностей, ИмяКолонки, ЗагружаемыеЗначенияСтрока, ДополнительныеПараметры) Экспорт
Протестировано на релизе Зарплата и управление персоналом, редакция 3.1 (3.1.8.246).