7.7 Загрузка Сотр

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем змейкин, 7 июл 2013.

  1. TopicStarter Overlay
    змейкин
    Offline

    змейкин Опытный в 1С

    Регистрация:
    25 мар 2013
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    Привет всем народ Проблема не могу загрузить из выгруженной таблицы справочник сотрудников
    "Пишет код не уникален" Поля совпадают между выгрузкой и загрузкой совпадают а все равно не загружает с файла
    Пример с кода:
    Код:
    Перем Путь, ИмяФайла;
    Перем ДБФ;
    Функция ОткрытьБазу()
    ДБФ = СоздатьОбъект("XBase");
    Попытка
    ДБФ.ОткрытьФайл(Путь+ИмяФайла,,0);
    Исключение
    Предупреждение("Ошибка отрытия файла " + Путь+ИмяФайла);
    Возврат 0;
    КонецПопытки;
    Если ДБФ.Открыта() = 0 Тогда
    Предупреждение("Ошибка отрытия файла " + Путь+ИмяФайла);
    Возврат 0;
    КонецЕсли;
    
    Возврат 1;
    КонецФункции
    Процедура Загрузить()
    Если ОткрытьБазу()=0 Тогда
    Возврат;
    КонецЕсли;
    ДБФ.КодоваяСтраница(1);
    Сч=0;
    СпрСотр=СоздатьОбъект("Справочник.Сотрудники");
    СпрСотр.ИспользоватьДату(НачМесяца(ДатаВПериоде));
    СпрРод=СоздатьОбъект("Справочник.Сотрудники");
    // Цикл по записям ДБФ базы
    Пока ДБФ.ВКонце()=0 Цикл
    
    тРодитель = ПолучитьПустоеЗначение("Справочник.Сотрудники");
    ЭтоГруппа = ДБФ.Group;
    КодРодителя = ДБФ.CodeR;
    
    Если КодРодителя<>0 Тогда
    Если СпрРод.НайтиПоКоду(КодРодителя,0)=1 Тогда
    тРодитель = СпрРод.ТекущийЭлемент();
    СпрСотр.ИспользоватьРодителя(тРодитель);
    Иначе
    Сообщить("Не найден родитель с кодом "+ КодРодителя);
    КонецЕсли;
    Иначе
    СпрСотр.ИспользоватьРодителя(тРодитель);
    КонецЕсли;
    Если ПустоеЗначение(СпрСотр)=0 Тогда
    СпрРод.Удалить();
    СпрСотр.Удалить();
    Иначе
    Если ЭтоГруппа = 1 Тогда
    СпрСотр.НоваяГруппа();
    СпрСотр.Новый();
    Иначе
    СпрСотр.Новый();
    КонецЕсли;
    
    текИНН = СокрЛП(ДБФ.INN);
    СпрСотр.Код =СокрЛП(ДБФ.Code);
    СпрСотр.Наименование= СокрЛП(ДБФ.Name0);
    
    Если ЭтоГруппа = 0 Тогда
    СпрСотр.Имя	  = СокрЛП(ДБФ.Imya);    //Имя
    СпрСотр.Фамилия  = СокрЛП(ДБФ.Famil);   //Фамилия
    СпрСотр.Отчество = СокрЛП(ДБФ.Otch);    //Отчество
    
    СпрСотр.Адрес = СокрЛП(ДБФ.Adres);   //Адрес
    СпрСотр.Телефон = СокрЛП(ДБФ.Pfone);    //Телефон
    Если ДБФ.Sex="М" Тогда
    СпрСотр.Пол=Перечисление.Пол.М;
    ИначеЕсли ДБФ.Sex="Ж" Тогда
    СпрСотр.Пол=Перечисление.Пол.Ж;
    КонецЕсли;
    СпрСотр.Должность = СокрЛП(ДБФ.Dol);   //Должность
    
    СпрСотр.ДатаПриема = СокрЛП(ДБФ.Dat1);		   //Дата приема
    СпрСотр.Оклад = СокрЛП(ДБФ.Okl);//Оклад
    СпрСотр.Аванс =СокрЛП(ДБФ.Av); //аванс
    //Паспортные данные
    СпрСотр.ПаспортСерия = СокрЛП(ДБФ.Ser);	 //Серия
    СпрСотр.ПаспортНомер = СокрЛП(ДБФ.Nom);	 //Номер
    
    СпрСотр.ИНН=СокрЛП(ДБФ.INN);
    КонецЕсли;
    КонецЕсли;
    СпрСотр.Записать();
    Сч=Сч+1;
    Сообщить(Строка(Сч)+"Добавлен элемент справочника - "+ДБФ.Name0+" ИНН: "+текИНН);
    ДБФ.Следующая();
    КонецЦикла;
    ДБФ.ЗакрытьФайл();
    СпрСотр="";
    СпрСотрР="";
    Сообщить("Загрузка справочника закончена.");
    КонецПроцедуры
    Процедура Выбрать()
    Если (ФС.ВыбратьФайл(0,ИмяФайла,Путь,"Выбор файла загрузки","DBF файлы|*.DBF")=0) Тогда
    Путь="";
    Возврат;
    КонецЕсли;
    КонецПроцедуры
    Путь=КаталогИБ();
    ДатаЗаписи='01.12.2006';
    
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    Если СпрСотр.НайтиПоКоду(СокрЛП(ДБФ.code),0)=0 Тогда
    Если ЭтоГруппа = 1 Тогда
    СпрСотр.НоваяГруппа();
    СпрСотр.Новый();
    Иначе
    СпрСотр.Новый();
    КонецЕсли;
    КонецЕсли;
    
  3. TopicStarter Overlay
    змейкин
    Offline

    змейкин Опытный в 1С

    Регистрация:
    25 мар 2013
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    Все получилось спасибо)

Поделиться этой страницей