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

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 2121 31.07.20 05:13 Сейчас в теме
Перенос данных в ЗУП - это такой же "регистратор движений" как операция бухгалтерский и налоговый учет в БП. Тут нет табличных частей, которые можно было бы заполнить и потом провести документ, потому как это документы - регистраторы движений. Т.е. создаёте документ, записываете его, и используете ссылку как регистратор в создаваемых движениях.
Не нужны табличные части, сразу пишите движения по нужным регистрам, а в табличную часть ТаблицаРегистров заполняете идентификаторами регистров сведений и накоплений, которые Вы этим документов двигаете (по этому списку формируются закладки при открытии документа).
6. CD_SVEN 31.07.20 07:23 Сейчас в теме
(5)
&НаСервере
Процедура СоздатьДокументПереносДанных()
	ТЗ                                                           = ДанныеИзФайлаНаФорме.Выгрузить();
	РеестрОтпусков                                               = Документы.ПереносДанных.СоздатьДокумент();
	РеестрОтпусков.Дата                                          = ТекущаяДата();
	РеестрОтпусков.ПериодРегистрации                             = НачалоМесяца(ТекущаяДата());
	РеестрОтпусков.Организация                                   = Объект.Организация;
	ДокументОбъект                                               = РеестрОтпусков;
	НЗ                                                           = ДокументОбъект.Движения.РеестрОтпусков;
	Для Каждого Строка Из ТЗ Цикл
		ЗаполнитьРеестр                                             = НЗ.Добавить();
		ЗаполнитьРеестр.Период                                      = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.Период);
		ЗаполнитьРеестр.Активность                                  = Истина;
		ЗаполнитьРеестр.Сотрудник                                   = Справочники.Сотрудники.НайтиПоНаименованию(Строка.Сотрудник);
		ЗаполнитьРеестр.ФизическоеЛицо                              = Справочники.ФизическиеЛица.НайтиПоНаименованию(Строка.ФизическоеЛицо);
		ЗаполнитьРеестр.ВидОтпуска                                  = Справочники.ВидыОтпусков.НайтиПоНаименованию(Строка.ВидОтпуска);
		ЗаполнитьРеестр.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск);
		ЗаполнитьРеестр.КонецПериодаЗаКоторыйПредоставляетсяОтпуск  = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.КонецПериодаЗаКоторыйПредоставляетсяОтпуск);
		ЗаполнитьРеестр.КоличествоДнейОтпуска                       = СтроковыеФункцииКлиентСервер.СтрокаВЧисло(Строка.КоличествоДнейОтпуска);
		ЗаполнитьРеестр.ДатаНачалаПериодаОтсутствия                 = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.ДатаНачалаПериодаОтсутствия);
		ЗаполнитьРеестр.ДатаОкончанияПериодаОтсутствия              = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.ДатаОкончанияПериодаОтсутствия);
		Если ЗначениеЗаполнено(Строка.Основание) Тогда
			ЗаполнитьРеестр.Основание                                  = Строка.Основание;
		КонецЕсли;
		ЗаполнитьРеестр.ДокументОснование                           = РеестрОтпусков.Ссылка;
	КонецЦикла;
	НЗ.Записать(Истина);
	ДокументОбъект.Записать();
	РеестрОтпусков.Записать();
КонецПроцедуры
Показать

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

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