Имя: Пароль:
1C
1C 7.7
v7: Формат даты и .xls
, , ,
0 bagira
 
16.09.11
13:06
День добрый! Подскажите как можно победить такую вещь. В программе представление даты настроено в "2 знака". При этом я обработкой формирую таблицу в которой колонка принимает значение определенной даты. Параметр задала так:
Дат1 = Формат(день,"Д(0)ДДММГГГГ");
4 знака на год, но выводится все равно 2 знака, цепляет настройки  представления даты, как мне обойти это дело?
1 andrewks
 
16.09.11
13:09
враньё
2 bagira
 
16.09.11
13:11
а мне что делать больше нечего чтоли? В настройках поменяла представление даты на 4 знака, вышло 4, поменяла назад, снова 2
3 vicof
 
16.09.11
13:12
Возможно формат задаешь и в макете, и в коде
4 Amra
 
16.09.11
13:13
(2)  Перефразируем вопрос. В чем суть получения даты с 4 знаками вместо двух, если в базе принята работа с 2 знаками?
5 bagira
 
16.09.11
13:17
мне надо выгрузить екселевский файл..... где колонки это даты  ... выгружаю из 7-ки.
Потом по этим файлам я в 8-ке уже должна сформировать табели в ЗУПе........... так вот при загрузке нужно дату с 4-мя знаками....
Самое интересное, что если я захожу в сформированный файл и на колонке с датой просто 2 раза щелкаю, у меня дата преобразуется как надо, но это же не есть хорошо..
6 Rie
 
16.09.11
13:17
(0) Где 2 знака? В Excel? Тогда нужно именно для _Excel_ задавать формат представления даты в конкретной ячейке.
7 bagira
 
16.09.11
13:18
в макете просто параметр Дат1, без формата
8 andrewks
 
16.09.11
13:18
бу-га-га

казалось бы, при чём здесь 1С?
9 bagira
 
16.09.11
13:19
(6) Я не спорю, что надо для екселя задать тип ячейки, но как это сделать программно не знаю, подскажите
10 vicof
 
16.09.11
13:20
сделай в экселе, запиши макрос и будь счастлива
11 bagira
 
16.09.11
13:20
сама запись в ексель написана просто
ИмяФайла = "за_"+ПериодСтр(ДатаНач,ДатаКон);
   ПутьКФайлу = "\\Fileserver\Выгрузка по водителям\"+ИмяФайла;
   Таб.Записать(ПутьКФайлу,"XLS");
и туда пишется моя таблица, но не с той датой, ну вернее год обрезанный там
12 vicof
 
16.09.11
13:23
Хех))
Ну тогда или руками заменять, или выгружать как белые люди.
13 Rie
 
16.09.11
13:24
(11) Туда записалась _дата_? Измени формат ячейки Excel (Формат - Ячейки...).
14 Эльниньо
 
16.09.11
13:25
(11) В Таб.Показать() что?
15 andrewks
 
16.09.11
13:26
(13) туда записалась _дата_! иначе эксель бы не показывал год с двумя знаками
16 Rie
 
16.09.11
13:26
(15) Это был риторический вопрос :-)
17 Kookish
 
16.09.11
13:45
Тогда, получается, вопрос звучит так: "как программно изменить формат ячейки в Экселе". Отсюда:

http://www.google.ru/search?q=OLE+Excel+%22формат+ячеек%22&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox
18 Kookish
 
16.09.11
13:53
Далее:

http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=920

И:
Формат даты
Код на VBA (эталон):

Sub Test1()
 Dim R As Range
 Set R = Range("a1")
 R.Clear ' очистим формулы и форматы
 R.Value2 = Date ' запишем текущую дату
 R.NumberFormat = "d/mm/yy"   ' работает
 R.NumberFormatLocal = "ДД.ММ.ГГ" ' работает
 ' дальше не работает
 R.NumberFormat = "ДД.ММ.ГГ"  ' не работает
 R.NumberFormatLocal = "d/mm/yy" ' ОШИБКА!
 Set R = Nothing
End Sub

Код на Delphi:

R := ASheet.Range['A1', EmptyParam];
R.Value2 := Date;
R.NumberFormat := 'd/mm/yy'; // ОШИБКА!
R.NumberFormat := 'ДД.ММ.ГГ'; // работает
R.NumberFormatLocal := 'ДД.ММ.ГГ'; // работает <-------
R.NumberFormatLocal := 'd/mm/yy'; // ОШИБКА

Что только не узнаешь, читая форум Мисты!
Программист всегда исправляет последнюю ошибку.