Программно создать документ перенос данны
По теме из базы знаний
- Перенос данных из УПП 1.3 / КА 1.1 в БП 3. Переносятся документы, справочники и начальные остатки
- Перенос данных из ERP 2/ КА 2 / УТ 11 в УПП 1.3 / КА 1.1 / УТ 10.3. Переносятся все возможные документы и справочники
- Перенос данных СЗВ-стаж из ЗУП 2.5 в ЗУП 3.1
- Перенос данных из Парус 7.хх в ЗУП ред.3
- Перенос данных из Парус 8 в ЗУП ред.3
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Что за перенос вы пытаетесь сделать ? Как понять регистр выбирается ?)
Программное создание документа делается методом СоздатьДокумент() и записывается :
предварительно заполнив его реквизиты.
Программное создание документа делается методом СоздатьДокумент() и записывается :
НовДок = Документы.РасходнаяНакладная.СоздатьДокумент();
НовДок.Записать();
предварительно заполнив его реквизиты.
Перенос данных в ЗУП - это такой же "регистратор движений" как операция бухгалтерский и налоговый учет в БП. Тут нет табличных частей, которые можно было бы заполнить и потом провести документ, потому как это документы - регистраторы движений. Т.е. создаёте документ, записываете его, и используете ссылку как регистратор в создаваемых движениях.
Не нужны табличные части, сразу пишите движения по нужным регистрам, а в табличную часть ТаблицаРегистров заполняете идентификаторами регистров сведений и накоплений, которые Вы этим документов двигаете (по этому списку формируются закладки при открытии документа).
Не нужны табличные части, сразу пишите движения по нужным регистрам, а в табличную часть ТаблицаРегистров заполняете идентификаторами регистров сведений и накоплений, которые Вы этим документов двигаете (по этому списку формируются закладки при открытии документа).
(5)
пишет ошибка не установлен отбор по регистратору. подскажите как поправить.
&НаСервере
Процедура СоздатьДокументПереносДанных()
ТЗ = ДанныеИзФайлаНаФорме.Выгрузить();
РеестрОтпусков = Документы.ПереносДанных.СоздатьДокумент();
РеестрОтпусков.Дата = ТекущаяДата();
РеестрОтпусков.ПериодРегистрации = НачалоМесяца(ТекущаяДата());
РеестрОтпусков.Организация = Объект.Организация;
ДокументОбъект = РеестрОтпусков;
НЗ = ДокументОбъект.Движения.РеестрОтпусков;
Для Каждого Строка Из ТЗ Цикл
ЗаполнитьРеестр = НЗ.Добавить();
ЗаполнитьРеестр.Период = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.Период);
ЗаполнитьРеестр.Активность = Истина;
ЗаполнитьРеестр.Сотрудник = Справочники.Сотрудники.НайтиПоНаименованию(Строка.Сотрудник);
ЗаполнитьРеестр.ФизическоеЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(Строка.ФизическоеЛицо);
ЗаполнитьРеестр.ВидОтпуска = Справочники.ВидыОтпусков.НайтиПоНаименованию(Строка.ВидОтпуска);
ЗаполнитьРеестр.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск);
ЗаполнитьРеестр.КонецПериодаЗаКоторыйПредоставляетсяОтпуск = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.КонецПериодаЗаКоторыйПредоставляетсяОтпуск);
ЗаполнитьРеестр.КоличествоДнейОтпуска = СтроковыеФункцииКлиентСервер.СтрокаВЧисло(Строка.КоличествоДнейОтпуска);
ЗаполнитьРеестр.ДатаНачалаПериодаОтсутствия = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.ДатаНачалаПериодаОтсутствия);
ЗаполнитьРеестр.ДатаОкончанияПериодаОтсутствия = СтроковыеФункцииКлиентСервер.СтрокаВДату(Строка.ДатаОкончанияПериодаОтсутствия);
Если ЗначениеЗаполнено(Строка.Основание) Тогда
ЗаполнитьРеестр.Основание = Строка.Основание;
КонецЕсли;
ЗаполнитьРеестр.ДокументОснование = РеестрОтпусков.Ссылка;
КонецЦикла;
НЗ.Записать(Истина);
ДокументОбъект.Записать();
РеестрОтпусков.Записать();
КонецПроцедуры
Показатьпишет ошибка не установлен отбор по регистратору. подскажите как поправить.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот