Имя: Пароль:
1C
 
Исправить дату в таблице значений
,
0 kciod
 
27.03.17
19:21
Народ привет.
Подскажите че делаю не так?

Запрос выгружаю в таблицу значений.
Далее обхожу ТЗ чтобы подправить некоторые значения по нужному формату:

Для каждого КолонкиТЗ из ТаблицаЗначений Цикл
КолонкиТЗ.ДатаДокумента = Формат(КолонкиТЗ.ДатаДокумента,"ДФ=dd.MM.yyyy");
Сообщить(ТипЗнч(КолонкиТЗ.ДатаДокумента));
КонецЕсли;

В ответ получаю пустую строку.

Если передаю все в новую ТЗ или в переменную, дата встает как надо.
1 Остап Сулейманович
 
27.03.17
19:25
(0) Осмелюсь предположить что в КолонкиТЗ.ДатаДокумента - Дата. И запихнуть туда строку, которая Формат(...) никак не получится. Оставьте себе в КолонкиТЗ.ДатаДокумента Дату. А форматируйте при выводе. Например :

Для каждого КолонкиТЗ из ТаблицаЗначений Цикл
Сообщить(Формат(КолонкиТЗ.ДатаДокумента,"ДФ=dd.MM.yyyy"));
Сообщить(ТипЗнч(КолонкиТЗ.ДатаДокумента));
КонецЕсли;
2 kciod
 
27.03.17
19:31
Я тоже по началу так думал.
Но вывожу Сообщить(ТипЗнч(КолонкиТЗ.ДатаДокумента)); Пишет Дата, после Формата пишет "Не опередело"
3 mistеr
 
27.03.17
19:32
(1) +1

Интересно, а отрицательные суммы такие любители обходов тоже пытаются покрасить в красный цвет уже в ТЗ?
4 shuhard
 
27.03.17
19:34
(2) всё верно
ты на место даты пытаешься воткнуть текст
это можно сделать лишь в новую колонку ТЗ
5 kciod
 
27.03.17
19:36
А смысл мне делать это еще где-то? В запросе сделать не получится. Какой смысл делать промежуточные переходы?

У меня ТЗ формируется на сервере, я ее там обработаю. Потом через временяку на клиента передаю и выгружаю в EXCEL.
6 Остап Сулейманович
 
27.03.17
19:37
(5) Вот когда "и выгружаю в EXCEL" - тогда и форматируй. А так - пускай там дата полежит.
7 jsmith82
 
27.03.17
19:37
Добавь новую колонку, чо
8 Остап Сулейманович
 
27.03.17
19:38
+ (6) Опять же дату можно и в Ексель загнать. А отформатировать отображение уже там.
9 kciod
 
27.03.17
19:38
Как вариант конечно, но вот я решил озадачиться сделать так)

Кстати, если делаю новую ТЗ и в нее передаю Колонки с форматом, то все работает нормально.
10 Остап Сулейманович
 
27.03.17
19:38
(7) Ему жалко буковок в коде и байтиков в памяти.
11 kciod
 
27.03.17
19:41
Если честно де, хотел оптимизировать код )
12 kciod
 
27.03.17
22:58
Походу разобрался.
Когда выгружаем из запроса и предварительно не указываем тип, то ставится тип из запроса. В моем случае это тип дата. а фот функция формат, наоборот, превращает в строку. Поэтому и косяк. Попробую заранее прописать форматы колонок.
13 b_ru
 
27.03.17
23:02
(12) Сделай так:
ТаблицаЗначений.Колонки.Добавить("ДатаСтрокой");
Для Каждого Стр Из ТаблицаЗначений Цикл
    Стр.ДатаСтрокой = Формат(Стр.Дата, "ДФ=dd.MM.yyyy");
КонецЦикла;
14 Йохохо
 
27.03.17
23:20
а вот так Экселю не хватит
ВЫБРАТЬ
Представление(НачалоПериода(тТаблица.Дата, ДЕНЬ)) КАК ДатаСтрокой
...
15 France
 
28.03.17
01:12
для колонки тип поменяй
16 1dvd
 
28.03.17
07:18
В ТЗ надо хранит именно дату, а как её отображать и где -
это другой вопрос
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.