Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Создание dbf.

Создание dbf.
Я
   bard666
 
10.04.18 - 11:28
Доброго времени суток!
Средствами 1с создаю файл dbf. Клиент говорит, что дату видит как MM.DD.YYYY. Начал разбираться на своей стороне. Действительно, открываю офисом 2003 на серваке, вижу также. На моей машине 2013 офис открывает корректно DD.MM.YYYY. Проверяю формат ячейки екселя: дата DD.MM.YYYY (самый верхний) на обеих машинах. Проверяю формат отображения даты ОС - такой же. dbf viewer 2000 открывает файл корректно. Блокнот или wordpad показывают дату как YYYYMMDD + следущая колонка.
Платформа 8.3.10.2252.
Фрагменты кода
Т = Новый Xbase; 
    ИмяФайлаВыгрузки = Прав(СокрЛП(НомерДокумента),8)+".dbf";
    ИмяФайла = ИмяФайлаВыгрузки;
    мИмяДБФ = КаталогВременныхФайлов()+ИмяФайла;


    Т.поля.Добавить("NDOC",     "S", 20, 0);//Номер расходной накладной СИА

    Т.поля.Добавить("DATEDOC",  "D"       );//Дата расходной накладной СИА

    Т.поля.Добавить("CODEPST",  "S", 12, 0);//Код товара


Т.Добавить();
        НомерЗаписи = Т.НомерЗаписи();
        
        Т.УстановитьЗначениеПоля("NDOC",     НомерДокумента);    
        Т.УстановитьЗначениеПоля("DATEDOC",  ДатаДокумента);
        Т.УстановитьЗначениеПоля("CODEPST",  Прав(СокрЛП(Выборка.Номенклатура.Код), 12));



Вопрос по колонке DATEDOC. Может кто сталкивался с подобным?
 
 
   VladZ
 
1 - 10.04.18 - 11:30
(0) "Действительно, открываю офисом 2003 на серваке, вижу также" - чем открываешь?
   bard666
 
2 - 10.04.18 - 11:32
(1) Excel 2003
   SSSSS_AAAAA
 
3 - 10.04.18 - 11:33
(0) С чем "подобным"? С неумением клиента настроить свои проги для правильного показа даты? Да сплошь и рядом.
Короче, к созданию дбф все упомянутое не имеет ни малейшего отношения. Все упирается в средства отображения даты и в их настройку.
   Остап Сулейманович
 
4 - 10.04.18 - 11:33
(0) "Блокнот или wordpad показывают дату как YYYYMMDD".
И что? Вас это удивило?
   Остап Сулейманович
 
5 - 10.04.18 - 11:34
+ (4) Зачем ДБФ смотреть блокнотом - я понять затрудняюсь...
   bard666
 
6 - 10.04.18 - 11:36
(3) Проверил формат ячейки на серваке, проверил системные настройки, попробовал в новый файл ексель прописать дату в таком же формате DD.MM.YYYY, день и месяц не поменялись месати. Какие настройки ещё смотреть?
   Остап Сулейманович
 
7 - 10.04.18 - 11:38
(6) Региональные настройки в панели управления.
   SSSSS_AAAAA
 
8 - 10.04.18 - 11:39
(6) Какой еще "ячейки"? В дбф нет ячеек. Ексель показывает в соответствии с региональными настройками винды.
   bard666
 
9 - 10.04.18 - 11:40
(4) (5) дополнительная проверка. Удивило, что дата отображается совместно со следущим полем. К примеру, дата 05.04.2018, далее в колонке 000003461. Блокнот показывает 20180405000003461.
   VladZ
 
10 - 10.04.18 - 11:41
DBF нужно смотреть специальной программой. Не нужно открывать Экселем.
 
 Рекламное место пустует
   bard666
 
11 - 10.04.18 - 11:42
(7) Региональные настройки проверил. Все как надо.
   SSSSS_AAAAA
 
12 - 10.04.18 - 11:42
(9) Более идиотского выбора смотрели для дбф трудно придумать. Блокнот ничего не знает про поля, ячейки и прочую муть и показывает просто байтики так, как они идут в файле.
   bard666
 
13 - 10.04.18 - 11:42
(8) Формат ячейки екселя, которым открыл dbf
   SSSSS_AAAAA
 
14 - 10.04.18 - 11:43
(11) Ну раз как надо, то что еще не так?
   SSSSS_AAAAA
 
15 - 10.04.18 - 11:44
Как сказано в (10) нужно выбрать правильную смотрелку.
   s03
 
16 - 10.04.18 - 11:44
(0) "Т.УстановитьЗначениеПоля("DATEDOC",  ДатаДокумента)" - а не пробовал, прежде чем дату в поле загонять, преобразовать её в однозначно понятный (для любых систем) вид, например Формат(ДатаДокумента, "ДФ=dd.MM.yyyy")?
   bard666
 
17 - 10.04.18 - 11:47
(16) Так изначально поле создается в формате Date. Не передавать же туда строку.
   SSSSS_AAAAA
 
18 - 10.04.18 - 11:47
(16) С каких это пор строковый вид стал однозначным для всех систем?
   SSSSS_AAAAA
 
19 - 10.04.18 - 11:48
(17) "dbf viewer 2000 открывает файл корректно"
Все с файлом ясно. Остальное - настройки клиентов, пытающихся этот файл показать. Вот их и надо ковырять.
   zwei
 
20 - 10.04.18 - 11:48
(16) Преобразовать дату к строке, чтобы при присвоении оно опять неявно преобразовалось в дату. Браво.
   Garykom
 
21 - 10.04.18 - 11:49
(0) 1. Привет драгдилерам

2. Файл DBF созданный в 1С у клиента у тебя на компе нормально открывается? Если до то проблема в чьем-то экселе/блокноте ))
   Остап Сулейманович
 
22 - 10.04.18 - 11:49
(9) "Блокнот показывает 20180405000003461" И что? Длина поля типа Дата в ДБФ = 8. Для хранения вполне достаточно. Что вас смущает? Что следующее поле приписано встык? Или что не вставляются разделители элементов даты? Так я вас расстрою - в ДБФ нет не только разделителей полей, но и разделителей строк.
Оно все есть в заголовке файла. И длина записи и тип каждого поля с указанием длины. И общее количество записей. Все в заголовке.
   s03
 
23 - 10.04.18 - 11:50
(17) (20) так для проверки, что запишет и что потом прочитает можно и поменять тип, нет?

(18) а разве тот же Excel не хранит дату, на самом деле, как число? и только от формата ячейки зависит что будет показана именно дата?
   Остап Сулейманович
 
24 - 10.04.18 - 11:52
Вот и выросло поколение для которого Эксель есть альфа и омега... (((
   Garykom
 
25 - 10.04.18 - 11:53
Кстати! Пусть поставят LibreOffice, открывают DBF им и сохраняют формат XLS.
Только не забыть выделить все и автоширина колонок перед сохранением...
   Garykom
 
26 - 10.04.18 - 11:55
(25)+ Libre при открытии еще кодировку сам не умеет и всегда спрашивает "тебе какая кириллица".
   bard666
 
27 - 10.04.18 - 11:56
(25) Точно. Все уйдем на линукс)
Спасибо всем за советы.
Соглашусь с (19). На своей стороне все проверил, в таком же ключе уходят файлы другим клиентам. Вопросы только у одного. Пусть решает на своей стороне как просматривать и обрабатывать.


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