Официальный
1С:Франчайзи

task@MoscowSoft.com
Меню
Каталог Наши клиенты Акции Покупки Компания Статьи Контакты

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

Представляем наши разработки:

Универсальные переносы данных 1С (перенос документов, остатков и справочной информации):

Данные программы разработаны в нашей компании. Позволяют комфортно выполнить переход со старых программ 1С на новые. В отличие от типовых переносов фирмы 1С эти разработки позволяют переносить документы за выбранный период.  
Переносы данных можно приобрести за безналичный расчет на юридическое лицо (предоставим закрывающие документы) или оплатить банковской картой через шлюз Яндекс.Кассы (предоставим электронный чек).
31.03.2018

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


 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

КонецЦикла;

 

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

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

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

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

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

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

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

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

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

 

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

 

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


Назад к списку новостей