2.
serg_info
116
15.04.10 13:45
Сейчас в теме
() Не надо передавать в DBF как текст, передавайте как дату прямо из 1С...
тзЭкран - таблица значений где живет список сотрудников
тзЭкран.ДатаРождения - столбец типа дата
тзЭкран.ДатаРождения=новСотрудник.ДатаРождения;
Тут кусок кода, он достаточно длинный т.к. там дальше много проверок + вывод диагностики + добавление исключение рукми перед выгрузкой и т.д.
//_____________________________
Процедура ВыгрузитьВДБФ()
ДБФ=СоздатьОбъект("XBASE");
ДБФ.ОткрытьФайл(СокрЛП(ВыбФайл));
ДБФ.ОчиститьФайл();
Для сч=1 По тзЭкран.КоличествоСтрок() Цикл
тзЭкран.ПолучитьСтрокуПоНомеру(сч);
ДБФ.Добавить();
ДБФ.FNAME=ВзятьФИО(тзЭкран.Сотрудник.Наименование,1);
ДБФ.LNAME=ВзятьФИО(тзЭкран.Сотрудник.Наименование,2);
ДБФ.SNAME=ВзятьФИО(тзЭкран.Сотрудник.Наименование,3);
Если (тзЭкран.Сотрудник.Пол.Выбран()=1) и (Найти("МЖ",Лев(тзЭкран.Сотрудник.Пол.Наименование,1))>0) Тогда
ДБФ.SEX=Лев(тзЭкран.Сотрудник.Пол.Наименование,1);
Иначе
Сообщить("Не определен пол у "+тзЭкран.Сотрудник);
КонецЕсли;
стПусто="";
ДБФ.BIRTHDAY=тзЭкран.ДатаРождения;
СЗ=глРазложить(тзЭкран.Сотрудник.АдресПрописка);
ДБФ.AREA=СЗ.ПолучитьЗначение(3,стПусто);
ДБФ.PUNKT=СЗ.ПолучитьЗначение(6,стПусто);
ДБФ.CITY=СЗ.ПолучитьЗначение(5,стПусто);
Если СокрЛП(СЗ.ПолучитьЗначение(3,стПусто))="Санкт-Петербург г" Тогда
ДБФ.AREA="";
ДБФ.CITY="Санкт-Петербург г";
КонецЕсли;
// добавлено
Если ПустаяСтрока(ДБФ.CITY)=1 Тогда
ДБФ.CITY="-";
КонецЕсли;
Если ПустаяСтрока(СЗ.ПолучитьЗначение(7,стПусто))=1 Тогда
ДБФ.STREET="-";
Иначе
ДБФ.STREET=СЗ.ПолучитьЗначение(7,стПусто);
КонецЕсли;
Если ПустаяСтрока(СЗ.ПолучитьЗначение(8,стПусто))=1 Тогда
ДБФ.HOUSE="-";
Иначе
ДБФ.HOUSE=СЗ.ПолучитьЗначение(8,стПусто);
КонецЕсли;
Если ПустаяСтрока(СЗ.ПолучитьЗ