IPB Style© Fisana

Перейти к содержимому


8.1 выгрузить данные справочника в иерархии "Физические лица


  • Чтобы отвечать, сперва войдите на форум
1 ответ в теме

#1 solare

solare

    Лейтенант

  • Пользователи
  • ФишкаФишка
  • 57 Сообщений:
0
  • Город , ,

Опубликовано 23 December 2010 - 16:34

Помогите пожалуйста. Мне нужно выгрузить данные справочника в иерархии "Физические лица" в другую версию конфигурации 8.1. Стандартной обработкой не получится, хотел написать руками.
Вы бы не могли мне помочь примером кода выгрузки справочника напимер в фал "Выгрузка" на с:\\ Очень нужен пример кода, остальное я по аналогии (реквизиты) допишу. Помогите пожалуйста.
Я понимаю, что нужно создать файл, найти по владельцу, если это группа и т.д. Но вот с правильным написание кода никак.
я всегда использовал стандартные обработки выгрузки в эдентичную конфигурацию и горя не знал, а сейчас обновился и даже не знаю с чего начать. Не могли бы вы помочь мне примером синтаксиса с самого начала.

Добавлено (23.12.2010, 15:35)
---------------------------------------------
мне нужно что-то типа этого, но полсностью справочник в иерархии

Процедура КнопкаВыгрузитьНажатие(Кнопка)
ПутьКФайлу = "D:\Vigruzka_"+Формат(ТекущаяДата(),"ДФ=YYYYMMdd")+".xml";
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл(ПутьКФайлу, "UTF-8");
Запись.ЗаписатьОбъявлениеXML(); //<?xml version="1.0" encoding="UTF-8"?>
Запись.ЗаписатьНачалоЭлемента("orgstructure");
Запрос = Новый Запрос;
Запрос.Текст="
|ВЫБРАТЬ
| РаботникиОрганизацийСрезПоследних.Сотрудник,
| РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
| РаботникиОрганизацийСрезПоследних.Должность,
| РаботникиОрганизацийСрезПоследних.Период,
| РаботникиОрганизац ийСрезПоследних.ПодразделениеОрганизации.Порядок КАК ПодразделениеОрганизацииПорядок,
| РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния
|ИЗ
| РегистрСведений.РаботникиОрганизаций .СрезПоследних(&dateper, ) КАК РаботникиОрганизацийСрезПоследних
|
|УПОРЯДОЧИТЬ ПО
| ПодразделениеОрганизацииПорядок
|ИТОГИ ПО
| ПодразделениеОрганизации ИЕРАРХИЯ
|АВТОУПОРЯДОЧИВАНИЕ
|";
Запрос.УстановитьПараметр("dateper", ТекущаяДата());
Результат = Запрос.Выполнить();
Дерево = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
ОбойтиУровеньДерева(Дерево.Строки, Запись);
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();
КонецПроцедуры

Добавлено (23.12.2010, 16:34)
---------------------------------------------
а вот и пример процедуры:ОбойтиУровеньДерева(Строки, Запись)

Процедура ОбойтиУровеньДерева(Строки, Запись)
Для каждого Строка из Строки Цикл
Если ПустаяСтрока(Строка(Строка.Сотрудник)) Тогда
Запись.ЗаписатьНачалоЭлемента("department");
Запись.ЗаписатьАтрибут("dep_id", Строка(Строка.ПодразделениеОрганизации.УникальныйИдентификатор()));
Запись.ЗаписатьАтрибут("dep_name", Строка(Строка.ПодразделениеОрганизации));
Запись.ЗаписатьАтрибут("dep_code", СокрЛП(Строка(Строка.ПодразделениеОрганизации.Код)));
ОбойтиУровеньДерева(Строка.Строки, Запись);
Запись.ЗаписатьКонецЭлемента();
Иначе
Запись.ЗаписатьНачалоЭлемента("orgposition");
Запись.ЗаписатьАтрибут("user_id", Строка(Строка.Сотрудник.УникальныйИдентификатор()));
Запись.ЗаписатьАтрибут("user_position_id", Строка(Строка.Должность.УникальныйИдентификатор()));
Запись.ЗаписатьАтрибут("user_position", Строка(Строка.Должность));
Запись.ЗаписатьАтрибут("user_is_active", ?(Строка.ПричинаИзмененияСостояния = Перечисления.ПричиныИзмененияСостояния.Увольнение,"0","1"));
ОбойтиУровеньДерева(Строка.Строки, Запись);
Запись.ЗаписатьКонецЭлемента();
КонецЕсли
КонецЦикла;
КонецПроцедуры

Помогите пожалуйста сделать выгрузку в иерархии всего справочника


#2 Ardi

Ardi

    Генерал-полковник

  • Пользователи
  • ФишкаФишкаФишкаФишкаФишкаФишкаФишкаФишкаФишка
  • 855 Сообщений:
152
  • ГородСтолица

Опубликовано 23 December 2010 - 18:32

Quote (solare)
а сейчас обновился и даже не знаю с чего начать.

Если конфигурация одинаковая, но разные релизы - то должно работать старое. Разве нет?
Услуги программиста 1С 7.7, 8.1 . Киев. Обновление 1с Обслуживание. Сопровождение 1с.
(097) 304-37-49
http://progc1.narod.ru/




1 пользователей читают эту тему

0 пользователей, 1 гостей, 0 невидимых