Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Выгрузка DBF, колонки сьежают заполняются, в чем проблема?

Выгрузка DBF, колонки сьежают заполняются, в чем проблема?
Я
   SkillUp
 
23.04.19 - 09:01
Ребят, вчерашнего вечера не могу найти решение. Идет выгрузка в ДБФ. Четко указываю ,какую колонку как заполнять, в результате колонки не понятным образом заполняются, вот - https://drive.google.com/open?id=1TnnsAGoPCSAxa1zskLocmqsUxF18fx1k  , колонка sex(пол) - заполнение ,0 или 1 (муж жен), заполняется в колонке - "NUMTEL". Колонка SERDOC (серия документа) - заполняется опять в колонке - "NUMTEL". Пож. подскажите из-за чего такое ?

Мой КОД:

    ДБФ = Новый XBase; // Этап 1. Создание объекта XBase
    //ДБФ.Кодировка = КодировкаXBase.OEM; // Этап 2. Указание кодировки
    // Этап 3. Описание имени и типа поля
    ДБФ.Поля.Добавить("CODE", "N", 10, 0);
    ДБФ.Поля.Добавить("NUM", "S", 10);     
    ДБФ.Поля.Добавить("NAME", "S", 302);
    ДБФ.Поля.Добавить("SEX", "N",10,0);
    ДБФ.Поля.Добавить("DOCCODE", "N", 16,0);
    ДБФ.Поля.Добавить("SERDOC", "S", 10);
    ДБФ.Поля.Добавить("NUMDOC", "S", 10);
    ДБФ.Поля.Добавить("VYDDOC", "S", 200);
    ДБФ.Поля.Добавить("DATEDOC", "D", 8);
    ДБФ.Поля.Добавить("NUMTEL", "S", 30);
    ДБФ.Поля.Добавить("ADDR", "S", 100);
    ДБФ.Поля.Добавить("BIRTHDATE", "D", 8);
    ДБФ.Поля.Добавить("SHARED", "N", 10, 0);
    //0 если нету
    ДБФ.Поля.Добавить("WOFEE", "N", 10, 0);
    //1 есди есть документ
    ДБФ.Поля.Добавить("TOXINSPUM", "S", 10);
    //1 если есть документ, 0 если нету.
    ДБФ.Поля.Добавить("WORKBOOK", "N", 10, 0);
    ДБФ.Поля.Добавить("DATEADD", "D", 8);
    ДБФ.Поля.Добавить("DATEEND", "D", 8);
    ДБФ.Поля.Добавить("NOTUSED", "N", 10,0);
    ДБФ.Поля.Добавить("SPFU",    "N", 10,0);
    ДБФ.Поля.Добавить("SPD",     "N", 10,0);
    ДБФ.Поля.Добавить("DRFO",    "S", 15);
    ДБФ.Поля.Добавить("EMAIL",    "S", 100);
    ДБФ.Поля.Добавить("MOBTEL",   "S", 20);
    ДБФ.Поля.Добавить("USEDMOB",  "N", 10,0);
    ДБФ.Поля.Добавить("CERTNAME", "S",200);
    ДБФ.Поля.Добавить("EDRPOU", "S", 10);
    
    ДБФ.Поля.Добавить("DEPID",    "N", 16,0);
    ДБФ.Поля.Добавить("DEPNAME",    "S", 200);
    
    ДБФ.Поля.Добавить("LASTNAME",   "S", 100);
    ДБФ.Поля.Добавить("FIRSTNAME",   "S", 100);
    ДБФ.Поля.Добавить("MIDDLENAME",   "S", 100);
    ДБФ.Поля.Добавить("UKR_GROMAD",   "N", 10,0);
    ДБФ.Поля.Добавить("USEEMAIL",   "N", 5);
    ДБФ.Поля.Добавить("USEMEDOC",   "N", 5);
    ДБФ.Поля.Добавить("NRC",   "N", 5,0);
    ДБФ.Поля.Добавить("TN",   "N", 10,0);
    ДБФ.Поля.Добавить("USEMEDOC",   "N", 5,0);
    
    ДБФ.СоздатьФайл(Путь2); // Этап 4. Создание файла
    //Выборка нужных данных.
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПаспортныеДанныеФизЛиц.Период,
    |    ПаспортныеДанныеФизЛиц.ФизЛицо,
    |    ПаспортныеДанныеФизЛиц.ДокументВид,
    |    ПаспортныеДанныеФизЛиц.ДокументСерия,
    |    ПаспортныеДанныеФизЛиц.ДокументНомер,
    |    ПаспортныеДанныеФизЛиц.ДокументДатаВыдачи,
    |    ПаспортныеДанныеФизЛиц.ДокументКемВыдан,
    |    ФизическиеЛица.Ссылка,
    |    ФизическиеЛица.ВерсияДанных,
    |    ФизическиеЛица.ПометкаУдаления,
    |    ФизическиеЛица.Родитель,
    |    ФизическиеЛица.ЭтоГруппа,
    |    ФизическиеЛица.Код,
    |    ФизическиеЛица.Наименование,
    |    ФизическиеЛица.ДатаРождения,
    |    ФизическиеЛица.ИНН,
    |    ФизическиеЛица.Комментарий,
    |    ФизическиеЛица.МестоРождения,
    |    ФизическиеЛица.ОсновноеИзображение,
    |    ФизическиеЛица.КодПоДРФО,
    |    ФизическиеЛица.ГруппаФизическихЛиц,
    |    СотрудникиОрганизаций.Код КАК ТабленьныйНомер,
    |    СотрудникиОрганизаций.ГрафикРаботы,
    |    СотрудникиОрганизаций.ДатаНачала,
    |    СотрудникиОрганизаций.ДатаОкончания,
    |    СотрудникиОрганизаций.ТарифныйРазряд,
    |    СотрудникиОрганизаций.ВалютаТарифнойСтавки,
    |    СотрудникиОрганизаций.Должность,
    |    СотрудникиОрганизаций.ГрафикРаботы КАК ГрафикРаботы1,
    |    СотрудникиОрганизаций.ВидДоговора,
    |    СотрудникиОрганизаций.ДатаПриемаНаРаботу,
    |    СотрудникиОрганизаций.ДатаУвольнения
    |ИЗ
    |    Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц КАК ПаспортныеДанныеФизЛиц
    |        ПО СотрудникиОрганизаций.Физлицо = ПаспортныеДанныеФизЛиц.ФизЛицо
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
    |        ПО СотрудникиОрганизаций.Физлицо = ФизическиеЛица.Ссылка
    |ГДЕ
    |    СотрудникиОрганизаций.ВидЗанятости = &ВидЗанятости";
    
    Запрос.УстановитьПараметр("ВидЗанятости", Перечисления.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы);    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ДБФ.Добавить(); // Добавление строки
        // Заполнение значения поля
        ДБФ.CODE = ВыборкаДетальныеЗаписи.Код;
        ДБФ.NUM  = ВыборкаДетальныеЗаписи.Ссылка.КодПоДРФО;     
        ДБФ.NAME = ВыборкаДетальныеЗаписи.Ссылка.Ссылка.Наименование;
        //
        Если ВыборкаДетальныеЗаписи.Ссылка.Пол = Перечисления.ПолФизическихЛиц.ПустаяСсылка() Тогда
            Пар = Неопределено;
        ИначеЕсли ВыборкаДетальныеЗаписи.Ссылка.Пол = Перечисления.ПолФизическихЛиц.Мужской Тогда
            Пар = 0;
        ИначеЕсли ВыборкаДетальныеЗаписи.Ссылка.Пол = Перечисления.ПолФизическихЛиц.Женский Тогда
            Пар = 1;
        КонецЕсли;      
        ДБФ.SEX= Пар;
        
        Если ВыборкаДетальныеЗаписи.ДокументВид = Справочники.ДокументыУдостоверяющиеЛичность.НайтиПоНаименованию("Паспорт") Тогда
            Док = 3;
        Иначе
            Док = 0;
        КонецЕсли;    
        ДБФ.DOCCODE= Док;
        ДБФ.SERDOC=  ВыборкаДетальныеЗаписи.ДокументСерия;
        ДБФ.NUMDOC=  ВыборкаДетальныеЗаписи.ДокументНомер;
        ДБФ.VYDDOC=  ВыборкаДетальныеЗаписи.ДокументКемВыдан;
        ДБФ.DATEDOC= ВыборкаДетальныеЗаписи.ДокументДатаВыдачи;
        и т.д. заполнение...

        ДБФ.Записать(); /
        
    КонецЦикла;
    
    ДБФ.ЗакрытьФайл();

    Сообщить("Выгрузка выполнена!");

Где ошибку допустил?
 
 
   zehn
 
1 - 23.04.19 - 09:04
Мужской пол должен быть 1. Женский - 0. Это даже физически так.
   SkillUp
 
2 - 23.04.19 - 09:06
(1) В моем примере именно должно быть: женский - 1 ,мужской -0 (требования по мануалу!)
   zehn
 
3 - 23.04.19 - 09:08
Это противоестественный мануал.
Ну смотри, что у тебя в " и т.д. заполнение..." происходит
   SkillUp
 
4 - 23.04.19 - 09:11
(3) Вот надо было создать тему ,и только после этого нахожу из-за чего... Спасибо! Ошибку увидел!
   hhhh
 
5 - 23.04.19 - 09:14
(4) это что за дебилизм у вас?

 Если ВыборкаДетальныеЗаписи.Ссылка.Пол

пишите по-человечески

    |    ФизическиеЛица.Пол,
   zehn
 
6 - 23.04.19 - 09:20
(5) На формирование ДБФ.NAME, я так понимаю, топающий ножкой т-щ внимания не обратил? Страшно лопнуть стало?
   SkillUp
 
7 - 23.04.19 - 09:21
(5) Да, согласен, это просто из-за нервов, надо было быстро, выгрузка одноразовая...
   SkillUp
 
8 - 23.04.19 - 09:22
(6) И тут тоже как и в в (4) ))) Согласен...
   SkillUp
 
9 - 23.04.19 - 09:23
как и в (7)*
   SkillUp
 
10 - 23.04.19 - 10:49
(6) Да, именно из-а этого поля колонки "ехали", ты был прав на 100%, поставил ширину 150 и все стало гуд!
   Ёпрст
 
11 - 23.04.19 - 11:30
(0)
  Пар = Неопределено;
.....
  ДБФ.SEX= Пар;
   Garykom
 
12 - 23.04.19 - 13:15
(11) Пол - неопределенный
   Ёпрст
 
13 - 23.04.19 - 13:25
(12) гребанная толерантность)
   1Сергей
 
14 - 23.04.19 - 13:33
   SkillUp
 
15 - 10.06.19 - 15:37
(14) ))))))))))))))))))

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.