Имя: Пароль:
1C
1С v8
Выгрузка DBF, колонки сьежают заполняются, в чем проблема?
0 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= ВыборкаДетальныеЗаписи.ДокументДатаВыдачи;
        и т.д. заполнение...

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

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

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

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

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

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