Как скопировать регистр сведений из одной базы в другую 1с

Обновлено: 07.07.2024

Здравствуйте спецы. Вопрос возник. Мне надо скопировать email контрагента и вставить его в новое контактное лицо контрагента. Делаю так:

Есть запрос, в котором получаю email контрагента.

После запроса создаю новое контактное лицо контрагента "ААА" и хочу туда внести email контрагента, но как видно на картинке, там всё пусто.

Чего не хватает в моём коде и правильно ли делаю, можете подсказать?

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Удалить запись регистра сведений
Ответ = Вопрос("Для строки уже существует штрих код,сформировать новый штрихкод для выбранной.

Выбрать запись из регистра сведений
Добрый день! На форме обработки есть поле выбора. При нажатии на кнопку выбора появляется форма.

Как получить сведения из регистра сведений
Доброго дня! Есть справочник СотрудникиОрганизации к этому справочнику я добавил РегистрСведений в.

Как получить выбранную строку регистра сведений в справочник
Здравствуйте! Есть Справочник ВидыНарушений со строковыми реквизитами НормативныйДокумент и.

СсылкаНаОбъект - это что? контрагент? В таком случае Вы контактную информацию добавляете контрагенту, а не контактному лицу.

Tklwegsd, СсылкаНаОбъект - да, контрагент, понял, позже проверю.

Добавлено через 20 часов 27 минут
Tklwegsd, сделал так: ЗаписьРегистра.Объект = Справочники.КонтактныеЛицаКонтрагентов;

Получаю ошибку: <ВнешняяОбработка.ОтладкаВнешнихПечатныхФорм.МодульОбъекта(4 2)>: Ошибка при вызове метода контекста (Записать)
ЗаписьРегистра.Записать(Истина);
по причине:
Не удалось записать: "Контактная информация"!

Нублю, нужен совет, куда копать.

ЗаписьРегистра.Объект = Справочники.КонтактныеЛицаКонтрагентов;

Добавлено через 1 минуту
Ответь для себя на вопросы:
1. Какой тип?

Dethmontt, 1. ЗаписьРегистра.Объект - Неопределено
2. Справочники.КонтактныеЛицаКонтрагентов - СправочникМенеджер.КонтактныеЛицаКонтрагентов Справочники.КонтактныеЛицаКонтрагентов - СправочникМенеджер.КонтактныеЛицаКонтрагентов

Добавлено через 46 секунд

Это значение типа НЕОПРЕДЕЛЕНО, а я про ТИП поля БД спрашиваю

Добавлено через 47 секунд
Тип - определяет возможный набор значений

Dethmontt, что-то не пойму, как узнать тип ЗаписьРегистра.Объект
По отдельности:
ЗаписьРегистра - РегистрыСведенийМенеджерЗаписи.КонтактнаяИнформация
Объект - Неопределено

Если прописываю по-старому: ЗаписьРегистра.Объект = СсылкаНаОбъект;
То, ЗаписьРегистра.Объект - СправочникСсылка.Контрагенты.

А мне получается нужно, чтобы был СправочникСсылка.КонтактныеЛицаКонтрагентов.

В дереве конфигурации - в измерениях

Добавлено через 57 секунд

А мне получается нужно, чтобы был СправочникСсылка.КонтактныеЛицаКонтрагентов.

Dethmontt, ЗаписьРегистра.Объект -
СправочникСсылка.Организации, СправочникСсылка.Пользователи, СправочникСсылка.Контрагенты, СправочникСсылка.КонтактныеЛица, СправочникСсылка.ФизическиеЛица, СправочникСсылка.КонтактныеЛицаКонтрагентов, СправочникСсылка.ЛичныеКонтакты

Добавлено через 5 минут
<ВнешняяОбработка.ОтладкаВнешнихПечатныхФорм.МодульОбъекта(3 2,28)>: Переменная не определена (СправочникСсылка)
ЗаписьРегистра.Объект = <<?>>СправочникСсылка.КонтактныеЛицаКонтрагентов; (Проверка: Толстый клиент (обычное приложение))

<ВнешняяОбработка.ОтладкаВнешнихПечатныхФорм.МодульОбъекта(3 2,28)>: Переменная не определена (СправочникСсылка)
ЗаписьРегистра.Объект = <<?>>СправочникСсылка.КонтактныеЛицаКонтрагентов; (Проверка: Толстый клиент (обычное приложение)) Dethmontt, вопрос новичка, как его узнать, подставить? Dethmontt, вопрос новичка, как его узнать, подставить? Встречный вопрос: А откуда берется переменная СсылкаНаОбъект . Dethmontt, СсылкаНаОбъект - реквизит с составным типом данных:
СправочникСсылка.Контрагенты, СправочникСсылка.КонтактныеЛицаКонтрагентов, РегистрСведенийНаборЗаписей.КонтактнаяИнформация Dethmontt, вернулся к тому с чего начинал, код в заголовке.
ЗаписьРегистра.Объект = СсылкаНаОбъект;
А мне надо иначе, чтобы был тип не СправочникСсылка.Контрагента, а СправочникСсылка.КонтактныеЛицаКонтрагентов.

Neophyte1C, вернулись к началу.

Что такое СсылкаНаОбъект откуда там взялось значение "ООО Лена".

Dethmontt, проверяю работу кода через отладчик внешней печатной формы, для реквизита СсылкаНаОбъект указал составной тип данных (СправочникСсылка.Контрагенты, СправочникСсылка.КонтактныеЛицаКонтрагентов, РегистрСведенийНаборЗаписей.КонтактнаяИнформация). Открывая форму подставляю контрагента "ООО Лена".

Сейчас изменил код немного так

Где параметр запроса СсылкаНаОбъект.Владелец - СправочникСсылка.Контрагент, но открываю уже контактное лицо контрагента "Иванов Иван Иванович", а не "ООО Лена".

И получаю следующую ошибку:
<ВнешняяОбработка.ОтладкаВнешнихПечатныхФорм.МодульОбъекта(3 8)>: Ошибка при вызове метода контекста (Записать)
НовыйОбъект.Записать();
по причине:
Значение поля "Владелец" не заполнено или заполнено неверно

В данной главе рассматривается перенос данных непосредственно из исходной информационной базы в 1С:Бухгалтерию 8. Такой способ переноса считается основным.

Если по каким-либо причинам основной способ переноса данных использовать нельзя, например, при переносе из базовых версий, рекомендуется воспользоваться методикой переноса данных из файла выгрузки. Подробно загрузка данных из файла рассмотрена в главе «Вспомогательные методики переноса».

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

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

Этап 1. Резервное копирование

Выполним резервное копирование исходной информационной базы.

Этап 2. Загрузка данных

Запустим 1С:Бухгалтерию 8.

Дополнительные настройки в информационной базе 1С:Бухгалтерии 8 не требуются. Настройки параметров учета для корректного переноса данных установлены в информационной базе по умолчанию.

Необходимо воспользоваться помощником перехода (меню Сервис – Перенос данных из информационных баз 1С:Предприятия 7.7).

Шаг 1. Выбор варианта загрузки данных

Выберем пункт Загрузить данные из информационной базы.

Шаг 2. Выбор исходной информационной базы, настройки переноса

После выбора информационной базы в поле Путь к информационной базе отображается расположение базы.

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

  • Только справочники – будут перенесены только справочники исходной информационной базы;
  • Остатки на начало года – нужно выбрать этот пункт, если перенос осуществляется на 01число года;
  • Остатки на начало года и обороты за период – нужно выбрать этот пункт, если перенос осуществляется в середине года.

В поле Период укажем период переноса.

Например, если перенос осуществляется на 01 января 2009 года, то установим значение переключателя в положение Остатки на начало года. В поле Период выберем – 2009 г.

Нажмем кнопку Далее для выполнения переноса данных.

Шаг 3. Загрузка

Загрузка данных и их проверка осуществляются автоматически.

  • подключение к информационной базе,
  • выгрузка данных,
  • загрузка данных,
  • проведение загруженных документов,
  • проверка загруженных документов.

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

Внимание!

Если загрузка осуществляется в программный продукт базовой версии, то ИНН и КПП организации в 1С:Бухгалтерии 8 будут заменены на ИНН/КПП организации исходной информационной базы.

Шаг 4. Результат переноса

Если перенос данных прошел успешно, выводится строка: «Перенос данных прошел успешно!».

Если используется версия ПРОФ, можно сразу приступить к переносу следующей информационной базы, нажав кнопку Продолжить. Порядок сопоставления данных при переносе из нескольких информационных баз описан в главе «Вспомогательные методики переноса».

Кнопка Завершить используется для закрытия формы.

Если используется базовая версия, перенос данных окончен. Следует нажать кнопку Завершить для закрытия формы.

При ведении нескольких рабочих баз 1С порой возникает необходимость обмена данными между ними. Существует 2 способа переноса данных:

  1. Перенос данных с использованием правил обмена и обработки «Обмен данными XML». Правила обмена создаются с помощью конфигурации 1С:Конвертация данных.
  2. Перенос данных между похожими информационными базами обработкой «Выгрузка и загрузка данных XML».

Рассмотрим второй вариант, т.е. выгрузку и загрузку данных из/в конфигураций, в которых имеются одни и те же (идентичные), нужные нам объекты. Для этого воспользуемся внешней обработкой «Выгрузка и загрузка данных XML», которую можно скачать здесь.

Условие использования этой обработки следующее: В информационной базе, из которой выгружаются данные, должны присутствовать такие же объекты и с такими же реквизитами (наименование и тип данных), как и в базе, в которую производится загрузка данных.

Рассмотрим пример с переносом данных этой обработкой. Предположим, нужно перенести документы «Платёжное поручение входящее» и «Платёжное поручение исходящее». Решение этой задачи будет следующим.

image001

Затем нужно указать период, за который будем выгружать объекты данных из базы 1С и сами объекты. Нужные нам для выгрузки документы помечаем галочкой в поле структуры объектов конфигурации в столбце «Данные для выгрузки». Если в выгружаемых документах есть ссылки на элементы справочников, которых нет в другой конфигурации, то имеет смысл проставить галочки в столбце «При необходимости», чтобы эти элементы тоже выгрузились вместе с документами.

image003

Теперь на данном шаге нужно решить, выгружать ли вместе с документами их движения по регистрам или перепровести эти документы уже в другой базе? Для перепроведения выгружаемых документов уже в другой базе можно воспользоваться обработкой «Групповая обработка справочников и документов». Если алгоритмы проведения в данных информационных базах чем-то отличаются, то галочку напротив «Выгружать с документом все его движения» ставить не следует.

image005

Вот и всё, настройка выгрузки закончена, здесь всё просто! Нажимаем кнопку «Выгрузить данные» и ждём пока данные сохраняться в файл XML. Для более сложных выгрузок можно задавать отбор на выгружаемые объекты не только по периоду.

После выгрузки переходим во вторую базу 1С и открываем там эту же обработку. Переходим на вкладку «Загрузка» и указываем здесь тот же файл XML, в который мы выгрузили данные.

image007

На этой вкладке ставим одну единственную галочку напротив «Продолжить загрузку объектов в случае возникновения ошибки» и нажимаем на кнопку «Загрузить данные». Остальные функции, например, использование итогов мы не рассматриваем, хотя эта функция может значительно ускорить загрузку объектов (записей по регистрам).

Обработку «Выгрузка и загрузка данных XML» (версия 2.1.8) для платформы 1С:Предприятие v8.3 (тонкий клиент) можно скачать здесь.

Обработку «Выгрузка и загрузка данных XML» (версия 2.1.6) для платформы 1С:Предприятие v8.2 (толстый клиент) можно скачать здесь.

Ранее я уже приводил пример обработки переноса бухгалтерских проводок из одной базы в другую. Теперь выкладываю обработку для полного переноса данных - кому-нибудь да пригодится.

Основной плюс обработки - ее универсальность, т.е. работать будет на любой конфигурации, никаких правил переноса создавать не надо. 1С сама знает, по каким правилам записывать объекты и, соответственно, считывать.

  • Константы
  • Справочники
  • Документы
  • Регистры сведений
  • Регистры накопления
  • Регистры бухгалтерии
  • Регистры расчета
  • Планы видов характеристик
  • Планы видов расчета
  • Планы счетов

т.е. практически все, что нужно для нормальной работы. Перенос происходит через промежуточные xml-файлы, для каждого типа объекта - свой файл. Это сделано для того, чтобы не произошло переполнения оперативной памяти при переносе больших баз.

(В частности у меня при переносе данных в бухгалтерии память "наелась" на регистре сведений "Адресный классификатор", поэтому я отключил его перенос. Слава богу, его можно заполнить в любое время).

При выгрузке данных помечаем объекты, которые хотим перенести, указываем каталог выгрузки:

Выгрузка

При загрузке в базу-приемник (должна иметь идентичную конфигурацию с базой-источником) также выбираем каталог загрузки и после обновления видим загружаемые файлы, из которых можем выбрать нужные:

Загрузка

Для того, чтобы объекты записывались в базу в любом случае, используется конструкция:

соответственно в модулях таких объектов в процедуре ПередЗаписью() должно быть что-то типа:

чтобы пропустить возможные механизмы проверки на заполненность и/или корректность реквизитов объекта и т.п. В стандартных процедурах это уже, как правило, предусмотрено (это обеспечивает запись объектов при переносе из распределенных баз), для "своих" объектов это необходимо учесть.

Проверено на Бухгалтерии 2.0 последнего релиза (2.0.49.15).

05.09.2013 - перезалил файл, поскольку при переносе данных в УТ 10 произошла ошибка, связанная с тем, что одно из измерений (или реквизитов) в одном из регистров сведений называлось "Регистр".

Читайте также: