Имя: Пароль:
1C
1С v8
Проблема с типом данных Дата
0 kap-v-kstu
 
16.12.12
20:56
ИначеЕсли
ЧтениеXML.Имя = "DocDate"  
Тогда DocDate = ЧтениеXML.Значение;
КонецЕсли;


Date = Строка(DocDate);
Сообщить("'"+Date+"'");
Док.Дата = "'"+Date+"'";

в файле в DocDate хранится DocDate="20150308"
1 kap-v-kstu
 
16.12.12
20:57
Док не записываетсЯ из=за неправильного формата даты.
Если пишу Док.Дата = ТекущаяДата(), то все ок.
2 kap-v-kstu
 
16.12.12
20:58
в чем может быть проблема? спасибо
3 kap-v-kstu
 
16.12.12
21:00
в  Date значение из файла попадает
4 Undefined vs NULL
 
16.12.12
21:02
Date = Строка(DocDate);
Док.Дата = Дата(Date);
5 kap-v-kstu
 
16.12.12
21:20
Функция дата() для формата 2015,03,08. А у меня 20150308...
6 Ctyd
 
16.12.12
22:24
Выполнить("Док.Дата = '"+Date+"'");

мож так получиться
7 kap-v-kstu
 
16.12.12
22:41
не получается...в чем может быть проблема??
8 DrShad
 
16.12.12
22:43
а DocDate какой вид имеет?
9 France
 
16.12.12
22:45
а чем на "Дата(Date)" ругуется то?? (и, ваще то,date зарезервировано, не?)
10 kap-v-kstu
 
16.12.12
22:51
DocDate="20150308"
{Форма.Форма.Форма(200)}: Ошибка при вызове метода контекста (Записать): Значение поля "Дата" не может быть пустой датой
11 kap-v-kstu
 
16.12.12
22:53
{Форма.Форма.Форма(73)}: Преобразование значения к типу Дата не может быть выполнено
                   Док.Дата = Дата(Date);
12 Ctyd
 
16.12.12
22:55
Дата='00010101';
   ДатаСтрока="20150308";
   Выполнить("Дата = '"+ДатаСтрока+"'");
Все работает.. если Датастрока верная
13 DrShad
 
16.12.12
22:56
(10) к чему тогда лишние привидение к строке Date = Строка(DocDate);?
14 kap-v-kstu
 
16.12.12
22:57
{Форма.Форма.Форма(75)}: Ошибка компиляции при вычислении выражения или выполнении фрагмента кода
                   Выполнить("Дата = '"+Date+"'");
по причине:
{(1,8)}: Неправильная константа типа Дата
Дата = <<?>>''
15 France
 
16.12.12
22:58
Date - зарезервировано!
16 France
 
16.12.12
22:59
назови его "этадурацкаядата", и должно наступить счастье
17 Ctyd
 
16.12.12
23:04
(16) Так точно!

(14) Выполнить("Док.Дата = '"+Date+"'");
18 Ctyd
 
16.12.12
23:08
тебе ошибку написало.
19 kap-v-kstu
 
16.12.12
23:13
{Форма.Форма.Форма(75)}: Ошибка компиляции при вычислении выражения или выполнении фрагмента кода
                   Выполнить("Док.Дата = '"+Date+"'");
по причине:
{(1,12)}: Неправильная константа типа Дата
Док.Дата = <<?>>''
20 France
 
16.12.12
23:15
ле, напиши да Док.Дата  =  Date(ЧтениеХМЛ.Значение) и радуйся жизни..
21 kap-v-kstu
 
16.12.12
23:17
Док.Дата = Дата(1980,12,05)  - норм

так не срабатывает:
текст = "1980,12,05";
Док.Дата = Дата(текст);



в чем разница??
22 France
 
16.12.12
23:17
теперь напиши "Дата(чтениеХМЛ.Значение)
23 kap-v-kstu
 
16.12.12
23:20
Форма.Форма.Форма(81)}: Преобразование значения к типу Дата не может быть выполнено
                  Док.Дата  =  Date(ЧтениеXML.Значение);
24 DrShad
 
16.12.12
23:20
(21) а ты сам не видишь? в первом случае у тебя три цифры, а во втором текст
25 kap-v-kstu
 
16.12.12
23:22
И каким образом тогдат передавать текст в функцию дата()??я же беру этот текст из xml
26 DrShad
 
16.12.12
23:24
(25) то что в (22) что говорит?
27 kap-v-kstu
 
16.12.12
23:25
Форма.Форма.Форма(81)}: Преобразование значения к типу Дата не может быть выполнено
                 Док.Дата  =  Date(ЧтениеXML.Значение);
28 France
 
16.12.12
23:26
что интересно в "ЧтениеХМЛ.Значение"..
29 DrShad
 
16.12.12
23:29
(28) +100500 и откуда оно туда попало
30 kap-v-kstu
 
16.12.12
23:41
"20150308" Смотрел в отладчике
31 DrShad
 
16.12.12
23:43
(30) откуда файл получил? у всех нормальных прогов в XML тип дата выгружается как тип дата
32 France
 
16.12.12
23:44
тут чудеса, тут леший бродит..
разбери на части, и суй в дату..
33 kap-v-kstu
 
16.12.12
23:49
Файл мне выгружают?даже не знаю кто
34 DrShad
 
16.12.12
23:54
(33) ну тогда (32) и не парься
35 kap-v-kstu
 
16.12.12
23:56
ща попробую, спасибо большое_)
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.