Top.Mail.Ru
Меню
Каталог Программы 1С Опыт и отзывы Услуги Компания Статьи Контакты

Функция "ВыгрузитьРегистр()" в конвертации данных

Основатель и генеральный директор компании MoscowSoft, Сорокин Сергей
Сорокин Сергей, Генеральный директор MoscowSoft  31.03.2018 Актуальность проверена: 03.11.2024   3 мин. Прочитать позже
Подобрать перенос данных 1С

Специализируемся на переносах данных 1С с 2015г.

Подобрать перенос данных 1С >>

Интеграция 1С с маркетплейсами

Специализируемся на интеграциях 1С с маркетплейсами с 2021г.

Изучить продукты >>

Если необходимо конвертировать значения справочника в значения регистра или выгрузить сопутствующую информацию (например, для справочника Физические лица перенести паспортные данные физлиц и их ФИО с историей).


 

Примеры кода:

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

Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
ВыгрузитьПоПравилу(Выборка.Ссылка,,,,"ХранилищеДополнительнойИнформации");
КонецЦикла;

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

Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
// ВыгрузитьПоПравилу(Выборка,,,,"ПаспортныеДанныеФизЛиц");

Отбор = Новый ТаблицаЗначений;
Отбор.Колонки.Добавить("Имя");
Отбор.Колонки.Добавить("Значение");
Отбор.Колонки.Добавить("Использование");

СтрокаОтбора = Отбор.Добавить();
СтрокаОтбора.Имя = "ФизЛицо";
СтрокаОтбора.Значение = Выборка.ФизическоеЛицо;
СтрокаОтбора.Использование = Истина;

СтрокаОтбора = Отбор.Добавить();
СтрокаОтбора.Имя = "ВидДокумента";
СтрокаОтбора.Значение = Выборка.ВидДокумента;
СтрокаОтбора.Использование = Истина;

Строки = Новый ТаблицаЗначений;
Строки.Колонки.Добавить("Период");
Строки.Колонки.Добавить("Физлицо");
Строки.Колонки.Добавить("ВидДокумента");
Строки.Колонки.Добавить("Серия");
Строки.Колонки.Добавить("Номер");
Строки.Колонки.Добавить("ДатаВыдачи");
Строки.Колонки.Добавить("СрокДействия");
Строки.Колонки.Добавить("КемВыдан");
Строки.Колонки.Добавить("КодПодразделения");
Строки.Колонки.Добавить("ЯвляетсяДокументомУдостоверяющимЛичность");
Строки.Колонки.Добавить("Представление");

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

НаборЗаписей = Новый Структура("Отбор, Строки");
НаборЗаписей.Отбор = Отбор;
НаборЗаписей.Строки = Строки;

ВыгрузитьРегистр(НаборЗаписей, , , , "ПаспортныеДанныеФизЛиц");
КонецЦикла;

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

Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
// ВыгрузитьПоПравилу(Выборка,,,,"ФИОФизЛиц");

Отбор = Новый ТаблицаЗначений;
Отбор.Колонки.Добавить("Имя");
Отбор.Колонки.Добавить("Значение");
Отбор.Колонки.Добавить("Использование");

СтрокаОтбора = Отбор.Добавить();
СтрокаОтбора.Имя = "ФизическоеЛицо";
СтрокаОтбора.Значение = Выборка.ФизическоеЛицо;
СтрокаОтбора.Использование = Истина;

Строки = Новый ТаблицаЗначений;
Строки.Колонки.Добавить("ФизическоеЛицо");
Строки.Колонки.Добавить("Имя");
Строки.Колонки.Добавить("Отчество");
Строки.Колонки.Добавить("Фамилия");
Строки.Колонки.Добавить("Период");

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

НаборЗаписей = Новый Структура("Отбор, Строки");
НаборЗаписей.Отбор = Отбор;
НаборЗаписей.Строки = Строки;

ВыгрузитьРегистр(НаборЗаписей, , , , "ФИОФизЛиц");

КонецЦикла;

 

А также можете посмотреть пример конвертации данных из справочника в регистр:

Отбор = Новый ТаблицаЗначений;
Отбор.Колонки.Добавить("Имя");
Отбор.Колонки.Добавить("Значение");
Отбор.Колонки.Добавить("Использование");

СтрокаОтбора = Отбор.Добавить();
СтрокаОтбора.Имя = "СтруктурнаяЕдиница";
СтрокаОтбора.Значение = Объект.Владелец;
СтрокаОтбора.Использование = Истина;

СтрокаОтбора = Отбор.Добавить();
СтрокаОтбора.Имя = "ОтветственноеЛицо";
СтрокаОтбора.Значение = Объект.ОтветственноеЛицо;
СтрокаОтбора.Использование = Истина;

Строки = Новый ТаблицаЗначений;
Строки.Колонки.Добавить("Активность");
Строки.Колонки.Добавить("Ссылка");
Строки.Колонки.Добавить("Период");
Строки.Колонки.Добавить("СтруктурнаяЕдиница");
Строки.Колонки.Добавить("ОтветственноеЛицо");
Строки.Колонки.Добавить("Должность");
Строки.Колонки.Добавить("ФизическоеЛицо");

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

Строка.Период = Объект.ДатаНачала;
Строка.СтруктурнаяЕдиница = Объект.Владелец;
Строка.Активность = Истина;

НаборЗаписей = Новый Структура("Отбор, Строки");
НаборЗаписей.Отбор = Отбор;
НаборЗаписей.Строки = Строки;

ВыгрузитьРегистр(НаборЗаписей, , , , "ОтветственныеЛицаОрганизаций");

 

В последнем примере в конфигурации-источнике данные - это справочник. А в приемнике - регистр сведений. Правила - из ПВД, "Перед выгрузкой".

 

А в первом примере указаны правила из ПКО, "После конвертации". Это сделано для того, чтобы для  тех физлиц, которые только что выгружены, была перенесена доп. информация.

MoscowSoft логотип

Нужна помощь?

Если не получается разобраться с вопросом самостоятельно, обратитесь к нам. Получите бесплатную консультацию эксперта!

Основатель и генеральный директор компании MoscowSoft, Сорокин Сергей
Сорокин Сергей, Генеральный директор MoscowSoft

Возврат к списку