Имя: Пароль:
1C
1С v8
Формат. Преобразование из типа строка в тип дата
0 Sky69
 
15.05.13
11:24
Подскажите пожалуйста как можно преобразовать данные из строки в тип дата.
М= Формат(СтрТЗ.НомерМесяца,"ЧЦ=2; ЧВН= ");
Г= Формат(СтрТЗ.НомерГода,"ЧЦ=4");
ДатаФ=""+01+"."+М+"."+Г+"";
А = Формат(ДатаФ,"ДЛФ=Д");
не работает,ругается на то,что тип строка в дату нельзя преобразовать
1 zak555
 
15.05.13
11:26
пиши в СтрТЗ сразу дату
2 ДенисЧ
 
15.05.13
11:26
значит, неправильная дата в строке...
3 User_Agronom
 
15.05.13
11:26
Синтаксис:

Дата(<Значение>)
Параметры:

<Значение> (обязательный)

Тип: Строка.
Исходное значение даты.
Строка должна содержать дату в локальном формате даты или в каноническом виде YYYYMMDDHHMMSS.
4 User_Agronom
 
15.05.13
11:27
Передаём строку - получаем дату
5 Sky69
 
15.05.13
11:32
ДатаФ=Дата(""+Г+М+"01");
Так чтоли?
6 Sky69
 
15.05.13
11:33
не работает все равно
7 Зойч
 
15.05.13
11:34
(3) Либо "31.12.2011 23:59:59"
8 Sky69
 
15.05.13
11:34
(1) сразу дату туда никак не записать, передается только номер месяца и года
9 Sky69
 
15.05.13
11:44
ДатаФ = "01."+М+"."+Г+" 23:59:59";
А = Формат(ДатаФ,"ДЛФ=Д");
все равно ругается, А- получается тип строка, а не дата.
10 de Bug
 
15.05.13
11:52
ДатаФ = Дата(Г, М, 1, 23, 59, 59);
11 Зойч
 
15.05.13
11:53
(9) год должен быть 4 знака
12 AaNnDdRrEeYy
 
15.05.13
11:54
кавычки у строки должны быть одинарными.
13 zzerro
 
15.05.13
11:55
ДатаФ = Дата(20130515115432);
14 zzerro
 
15.05.13
11:55
(13)т.е. так ДатаФ = Дата("20130515115432");
15 AaNnDdRrEeYy
 
15.05.13
11:56
(14) вот так ДатаФ = Дата('20130515115432');
16 zzerro
 
15.05.13
11:57
(15) не так ниразу, а вот так:
ДатаФ = '20130515115432';
17 Sky69
 
15.05.13
11:58
М= Формат(СтрТЗ.НомерМесяца,"ЧЦ=2; ЧВН= ");
Г= Формат(СтрТЗ.НомерГода,"ЧЦ=4; ЧГ=0");
ДатаФ = "01."+М+"."+Г+" 23:59:59";
А = Формат(ДатаФ,"ДЛФ=Д");

Получилось. Ошибка была в том,что не поставила ЧГ=0
18 zzerro
 
15.05.13
12:00
(17) у тебя же не дата, а строка получилась
19 Зойч
 
15.05.13
12:01
(17) Да вот же было
ДатаФ = Дата(Г, М, 1, 23, 59, 59);
20 zzerro
 
15.05.13
12:04
(19) во, только Г и М тогда числами должны быть, можно так:
ДатаФ = Дата(Г + М + "01235959");