Имя: Пароль:
1C
1C 7.7
v7: Форматирование строки (в тип Дата) при загрузке в справочник из Excel [решено]
0 FenixDokFuntik
 
22.06.15
15:31
Доброго времени суток!
Столкнулся с такой проблемой. Хочу загрузить таблицу из excel, загружает хорошо, НО есть нюанс.. в excel есть колонка с формированием ДД.ММ.ГГГГ ч:мм. При загрузке в поле (у неё формат "Строка" на 50 символов) выдаёт только дату и то в формате "01.01.01", хотя стоит 01.01.2000. Проверял что получаю на входе - то же  самое..
Как можно решить проблему?
1 vicof
 
22.06.15
15:34
Смещение дат в скл-сервере не настроено?
2 FenixDokFuntik
 
22.06.15
15:37
база DBF, не серверный вариант
3 Масянька
 
22.06.15
15:40
(2) Попробуй посмотреть на входе, что даст Дата(твое поле с датой).
4 FenixDokFuntik
 
22.06.15
15:44
выдаёт в таком виде: 01.01.01
5 Масянька
 
22.06.15
15:44
(4) Строка()?
6 FenixDokFuntik
 
22.06.15
15:46
да
7 Масянька
 
22.06.15
15:48
(6) Что, блин, "да"?
Строка(твое поле с датой) - тоже возвращает 01.01.01?
Сколько в эске цифр на год установлено?
8 vicof
 
22.06.15
15:49
(7) Такая маленькая, и такая злая)
9 FenixDokFuntik
 
22.06.15
15:50
(7) блин.. Моя строка возвращает 01.01.01.
." в excel есть колонка с формированием ДД.ММ.ГГГГ ч:мм. "
10 FenixDokFuntik
 
22.06.15
15:50
внимательней надо быть=)
11 FenixDokFuntik
 
22.06.15
15:50
строка моя с датой и временем на 50 символов
12 Масянька
 
22.06.15
15:52
(8) Я не злая, я справедливая (С)
13 Масянька
 
22.06.15
15:52
(10) Отсеки время и  посмотри, что даст Дата() и что Строка().
14 FenixDokFuntik
 
22.06.15
15:54
(13) у меня на входе со стороны екселя херня идёт - выдаёт 01.01.01 хотя должна 01.01.2001 00:00. Если б хоть со стороны екселя приходило нормально, проблемы бы не было
15 Масянька
 
22.06.15
15:56
(14) Чем на входе смотришь (код)?
16 vicof
 
22.06.15
15:57
(14) Формат у ячейки другой поставь. Представления могут быть разными, а значение одно. Ты что грузишь, значение или представление?
17 aka AMIGO
 
22.06.15
16:02
ЗЫ. спутный вопрос: обращение к ячеке для чтения в Excel  - только Value ?
а то в MSScriptControl.ScriptControl дополнительно есть String
18 Масянька
 
22.06.15
16:04
(14) Сделала файл Excel. Заполнила первую колонку "12.06.2015  12:30:00" - формат - дата, дата + время.
В эске код -

        Значение = СокрЛП(Строка(Лист.Cells(НомерСтроки, 1).Value));
        Сообщить("1 - " + Значение + " - " + ТипЗначенияСтр(Значение));

возвращает "1 - 12.06.15 - Строка".
19 aka AMIGO
 
22.06.15
16:07
(18) а, ну, вот и ответ :)
20 FenixDokFuntik
 
22.06.15
16:10
(17) Только Value
21 FenixDokFuntik
 
22.06.15
16:11
(18) а вот теперь вопрос: как получить уже в 1С полную строку? =)
22 aka AMIGO
 
22.06.15
16:11
(20) ага.
(21) и еще - в любом случае строка. И с ней надо поработать, превратив её в дату.
23 Масянька
 
22.06.15
16:12
(21) Какую строку?
Вот такой код - Сообщить("2 - " + Дата(Значение) + " - " + ТипЗначенияСтр(Дата(Значение))); - возвращает - 2 - 12.06.15 - Дата.
24 palpetrovich
 
22.06.15
16:13
(20)  да ладно
25 aka AMIGO
 
22.06.15
16:13
вообще-то взаимодействие 1С7.7 и Excel - в достаточной степени убогое, потому ожидать мнОгого не стОит..
26 Масянька
 
22.06.15
16:15
+(23) Такой код:

        мДата = Дата(СокрЛП(Строка(Лист.Cells(НомерСтроки, 1).Value)));
        Сообщить("2 - " + мДата + " - " + ТипЗначенияСтр(мДата));


возвращает -> 2 - 12.06.15 - Дата
27 FenixDokFuntik
 
22.06.15
16:15
у меня здесь Лист.Cells(НомСтр,1).Value уже приходит только дата
28 Масянька
 
22.06.15
16:15
(27) Так чего тебе надобно, старче? (С)
29 aka AMIGO
 
22.06.15
16:18
(28) неверное, теперь только стукнуть :)

(27) - в Сервисе/настройках 1С у тебя какой тип даты стоит?
30 palpetrovich
 
22.06.15
16:18
а так попробовать не судьба?
Лист.Cells(НомерСтроки, 1).Text
31 Масянька
 
22.06.15
16:19
(29) Не, я думаю ему нуно:

        мДата = Дата(СокрЛП(Строка(Лист.Cells(НомерСтроки, 1).Value)));
        мДата1 = Формат(мДата, "ДДММММГГГГ");
32 aka AMIGO
 
22.06.15
16:23
(30) а, точно! Забыл уже..

(31) ну, да.. либо дележкой на подстроки, со вставкой номера века
И.. стукнуть :)
33 FenixDokFuntik
 
22.06.15
16:24
(30) Спасибо большое!!!! Получилось!!!
34 FenixDokFuntik
 
22.06.15
16:25
блин,я то же забыл.. Пользовался ж как-то в 8 ке..
35 palpetrovich
 
22.06.15
16:27
(33) фух :)
36 FenixDokFuntik
 
22.06.15
16:29
(35) ещё какой=)))
37 Масянька
 
22.06.15
16:32
(33) А теперь внимательно прочитай (0)... И объясни - чего надо-то было?
38 aka AMIGO
 
22.06.15
16:34
(37) всё, девочка, решен вопрос :)
не мучай ТС :)
39 Масянька
 
22.06.15
16:44
(38) Правильно поставленный вопрос - содержит половину решения (С) :)))))