Программно создать документ перенос данны

1. CD_SVEN 30.07.20 22:19 Сейчас в теме
Доброго времени суток, подскажите пожалуйста как программно создать документ перенос данных, не могу получить табоичную часть, регистр выбирается а таблица нет. Покажите пример пода пожалуйста)))
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. BackinSoda 31.07.20 00:57 Сейчас в теме
(1) Что за перенос вы пытаетесь сделать ? Как понять регистр выбирается ?)
Программное создание документа делается методом СоздатьДокумент() и записывается :
НовДок = Документы.РасходнаяНакладная.СоздатьДокумент();
НовДок.Записать();

предварительно заполнив его реквизиты.
3. TimoninD 31.07.20 02:22 Сейчас в теме
(1) Опишите задачу подробнее.
4. Bazin 5 31.07.20 05:08 Сейчас в теме
У него одна табличная часть, куда нужно записать имя регистра. Данные пишите непосредственно в регистр, а документ указываете в качестве регистратора
5. Alex_E 2353 31.07.20 05:13 Сейчас в теме
Перенос данных в ЗУП - это такой же "регистратор движений" как операция бухгалтерский и налоговый учет в БП. Тут нет табличных частей, которые можно было бы заполнить и потом провести документ, потому как это документы - регистраторы движений. Т.е. создаёте документ, записываете его, и используете ссылку как регистратор в создаваемых движениях.
Не нужны табличные части, сразу пишите движения по нужным регистрам, а в табличную часть ТаблицаРегистров заполняете идентификаторами регистров сведений и накоплений, которые Вы этим документов двигаете (по этому списку формируются закладки при открытии документа).
6. CD_SVEN 31.07.20 07:23 Сейчас в теме
(5)
&НаСервере
Процедура СоздатьДокументПереносДанных()
	ТЗ                                                           = ДанныеИзФайлаНаФорме.Выгрузить();
	РеестрОтпусков                                               = Документы.ПереносДанных.СоздатьДокумент();
	РеестрОтпусков.Дата                                          = ТекущаяДата();
	РеестрОтпусков.ПериодРегистрации                             = НачалоМесяца(ТекущаяДата());
	РеестрОтпусков.Организация                                   = Объект.Организация;
	ДокументОбъект                                               = РеестрОтпусков;
	НЗ                                                           = ДокументОбъект.Движения.РеестрОтпусков;
	Для Каждого Строка Из ТЗ Цикл
		ЗаполнитьРеестр                                             = НЗ.Добавить();
		ЗаполнитьРеестр.Период                                      = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.Период);
		ЗаполнитьРеестр.Активность                                  = Истина;
		ЗаполнитьРеестр.Сотрудник                                   = Справочники.Сотрудники.НайтиПоНаименованию(Строка.Сотрудник);
		ЗаполнитьРеестр.ФизическоеЛицо                              = Справочники.ФизическиеЛица.НайтиПоНаименованию(Строка.ФизическоеЛицо);
		ЗаполнитьРеестр.ВидОтпуска                                  = Справочники.ВидыОтпусков.НайтиПоНаименованию(Строка.ВидОтпуска);
		ЗаполнитьРеестр.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск);
		ЗаполнитьРеестр.КонецПериодаЗаКоторыйПредоставляетсяОтпуск  = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.КонецПериодаЗаКоторыйПредоставляетсяОтпуск);
		ЗаполнитьРеестр.КоличествоДнейОтпуска                       = СтроковыеФункцииКлиентСервер.СтрокаВЧисло(Строка.КоличествоДнейОтпуска);
		ЗаполнитьРеестр.ДатаНачалаПериодаОтсутствия                 = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.ДатаНачалаПериодаОтсутствия);
		ЗаполнитьРеестр.ДатаОкончанияПериодаОтсутствия              = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.ДатаОкончанияПериодаОтсутствия);
		Если ЗначениеЗаполнено(Строка.Основание) Тогда
			ЗаполнитьРеестр.Основание                                  = Строка.Основание;
		КонецЕсли;
		ЗаполнитьРеестр.ДокументОснование                           = РеестрОтпусков.Ссылка;
	КонецЦикла;
	НЗ.Записать(Истина);
	ДокументОбъект.Записать();
	РеестрОтпусков.Записать();
КонецПроцедуры
Показать

пишет ошибка не установлен отбор по регистратору. подскажите как поправить.
consplus_pavlov; +1 Ответить
7. Alex_E 2353 31.07.20 07:59 Сейчас в теме
Перед циклом:
РеестрОтпусков.Записать();

в каждой строке цикла:
ЗаполнитьРеестр.Регистратор = РеестрОтпусков.Ссылка;
Оставьте свое сообщение
Вакансии
Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день