Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 12:39

Выгрузка загрузка ЗиК 8.2

Автор asdfr1, 28 апр 2012, 20:27

0 Пользователей и 1 гость просматривают эту тему.

asdfr1

Объясните в дух словах.делаю выгрузку ЗиК 8.2 с ФИО, ДеньРождение, ИНН, СтраховСвид из Справочника Физические лица в *.TXT . Не удаётся всё это загрузить в чистую базу, ФИО ложится нормально всё остальное куда попало. И зачем два справочника СотрудникиОрганизации, ФизическиеЛица

Текст = Новый ТекстовыйДокумент;
Путь = "C:\IDE\"+"sotrudniki.txt";

Текст = Новый ТекстовыйДокумент;

Текст.Прочитать(Путь);

Для НомерСтроки=1 по Текст.КоличествоСтрок() Цикл

Стр = Текст.ПолучитьСтроку(НомерСтроки);

Позиция = Найти (Стр, ";");


Спр=Справочники.ФизическиеЛица.СоздатьЭлемент();//.Наименование

Спр.Наименование = Сред (Стр, Позиция+1);
Сообщить(Спр.Наименование);

Спр.ДатаРождения = Сред (Стр, Позиция+1);

Спр.ИНН = Сред (Стр, Позиция+1);

Спр.СтраховойНомерПФР = Сред (Стр, Позиция+1);

Спр.Записать();

КонецЦикла;   

sergejK74

А чем отличается получаемое значение в этой строке
Спр.Наименование = Сред (Стр, Позиция+1);

от этой?
Спр.ДатаРождения = Сред (Стр, Позиция+1);
Явно между ними пропущена какая-то строка кода. Подумай, может значение перменной Стр нужно как-то модифицировать. Примеров в интерненте куча.
Одно ФизЛицо может быть совместителем, может уволится из организации и снова быть принято на работу.
Поэтому данные и разнесены в два справочника

Кнопочка Спасибо - слева!

asdfr1

 Спр.Наименование = Сред (Стр, Позиция+1);
Спр.ДатаРождения = Сред (Стр, Позиция+1);
То что между ними нет разницы понятно. мне непонятно: Стр = Текст.ПолучитьСтроку(НомерСтроки); Позиция = Найти (Стр, ";");
Получаем строку, ищем первую позицию ";" дальше то что ? КоличествоСимволов от первого ";" до + второго символа ";" ?




sergejK74

Кусок комментария из чужого кода. Правда там принцип немного отличается.
//Удаляем из строки найденную подстроку и повторяем цикл с оставшейся строкой

Правда берут сомнения, что у тебя и ФИО нормально в базу ложаться.
Кнопочка Спасибо - слева!

asdfr1

хмм, такая мысль была, удалять предыдущее найденное. спс на наводку.будем думать :xfbnsdfb:

asdfr1


sergejK74

Подсказка (прозрачнее не бывает). Раз у тебя есть ЗУП, то загляни в общий модуль ОбщегоНазначения, в нем найди функцию РазложитьСтрокуВМассивПодстрок и подумай как это использовать для собственного блага.
Кнопочка Спасибо - слева!

дфтын

Пример строки файл надотЪ.
А вообще физ лица - это общее множество людей, сотрудники - кто работает.
чтоб у тебя физ лицо стало сотрудником придется еще приказ о приеме делать.
И не заниматься фигней, а научиться из строки с разделителями делать список значений али массив.

дфтын

Подсказчики меня радуют.
Все сюда пришли вероятно чтоб слушать подсказки вида - посмотри там.

asdfr1

Цитата: дфтын от 29 апр 2012, 20:11
Подсказчики меня радуют.
Все сюда пришли вероятно чтоб слушать подсказки вида - посмотри там.
0000000054;Васькин Вася Васькович;26.06.1971;165113186111;051-011-111 11;

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск