Блог Tiger

Основная специалисзация программирование в среде 1С 8

Телефонный справочник города

Конвертация в 1С 8 из регистра сведений в справочник

26.11.2013 15:11 | Просмотров: 6587 | Доход: 195 руб. | Комментариев: 0
[Программирование] 
Рейтинг: 5/3

Стояла задача создать конвертацию данных, чтобы должности организации из бухгалтерии переносились в управление торговлей, но вот не задача в бухгелтерии должность хранится в регистре сведений, а в УТ реквизит справочника "Физические лица".

Как конвериторовать сотрудники организации в справочник физ. лицо?

Необходимо создать стандартное правило для выгрузки физ.лиц из БУХ в УТ "ФизическиеЛица00001", гле источник будет пустой, а приемник будет справочник "Физические лица".

Далее в ПКО "ФизическиеЛица00001" заходим в ПКС и ставим галочку "Получать значения из входящих данных".

После этого заходим на вкладку "Правила выгрузки данных" и в правиле "ФизическиеЛица" прописываем код в секцию "Перед выгрузкой"

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

		ВыгрузитьПоПравилу(,,ВходящиеДанные,, "ФизическиеЛица00001");
	КонецЕсли;
КонецЕсли;

Все, радуемся новой выгрузке ;)


© Tiger
| Комментировать статью |