Простой пример кода для работы с переносом данных (ЗУП)


Задача: необходимо выделить сумму районного коэффициента для выставления проводок, приходящегося на «Премию к празднику».

 

Хочу поделиться информацией о работе с документом "ПереносДанных"!

В основном под переносом данных предполагается процесс, но не документ, о документе и о работе с ним мало информации.

Документ "Перенос данных" — это аналог документа Ручная операция в Бухгалтерии. Служит для корректировки записей регистров. В новом документе нажимаете кнопку "Настройка состава регистров". Выбираете регистр, который хотите регистрировать. На вкладке, соответствующей виду регистра, появится вкладка, соответствующая выбранному регистру. В таблице регистра добавляете строку, заполняете необходимые поля. После записи документа данные будут добавлены в соответствующий регистр.

 

 

1С ИТС : "Учетные данные переносятся в те документы (при их наличии), которые предусмотрены для ввода информации при начале работы «с нуля». Данные, для первоначального внесения которых не предусмотрено специальных документов, по-прежнему переносятся в «технический» документ «Перенос данных»." 

Это вся информация, которую я нашла об этом документе.

 

Интерес к этому документу возник давно, еще в зуп 2.5 и бухгалтерии 1.6. Использовали его в переносе данных со старой версии на новую, одно но, в этом документе задействованы все регистры сведений, расчета и накопления, не думаю что я открыла мир для всех, но многим эта особенность его неизвестна.

PS: (нашла статью пока писала://infostart.ru/public/877934/ тоже об использовании документа "ПереносДанных")

 

При постановке задачи были предположения как ее можно выполнить, после перебора многих вариантов был выбран этот документ "ПереносДанных".

        Нужно было выделить сумму районного коэффициента и подставить ему в соответствие проводку,  обработкой заполнен документ Перенос данных и регистр начисления "БухучетНачисленияУдержанияПоСотрудникам" берем сумму премии, рассчитываем "Районный коэффициент" и записываем в регистр, который в дальнейшем будет отображен в документе "ПереносДанных".  

Была небольшая проблема при создании документа, "ПереносДанных" нельзя прикреплять созданный, необходимо создавать "*Новый объект"(документ). 

    Регистратор = Документы.ПереносДанных.СоздатьДокумент();
Регистратор.Дата = ТекущаяДата();
Регистратор.ПериодРегистрации   = НачалоМесяца(ТекущаяДата());

Регистратор.Организация         =     Справочники.Организации.НайтиПоНаименованию(".......");

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

Премия  = ПланыВидовРасчета.Начисления.НайтиПоКоду("ПР002");
РК      = ПланыВидовРасчета.Начисления.НайтиПоКоду("РР001");

Запрос.УстановитьПараметр("ВидПремии", Премия);
Запрос.УстановитьПараметр("Начисление", РК);
Запрос.УстановитьПараметр("ДокПеренос", Регистратор.ПолучитьСсылкуНового());

РезультатЗапроса = Запрос.Выполнить();
ДокументОбъект = Регистратор;
Нз=ДокументОбъект.Движения.БухучетНачисленияУдержанияПоСотрудникам;
Рег               = ДокументОбъект.ТаблицаРегистров.Добавить();
Рег.Имя           = "БухучетНачисленияУдержанияПоСотрудникам";
ДокументОбъект.Записать();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

строканз =Нз.Добавить();
ЗаполнитьЗначенияСвойств(строканз,ВыборкаДетальныеЗаписи);

КонецЦикла;
ДокументОбъект.Записать();

        После завершения работы и проведения всего одной операции эта обработка больше не понадобилась. Так как сейчас есть возможность начислять районный коэффициент в документе "Премия", и в этом документе устанавливать проводки, как нужно бухгалтеру. 

Очень рада комментариям, замечаниям.

2 Comments

  1. Alxesp

    Добавьте слово «ЗУП» в заголовок!

    Reply
  2. user1020226

    Спасибо за замечание, уже!

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *