Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
StaLL1n
19 / 19 / 4
Регистрация: 13.04.2014
Сообщений: 268
1

ТЗ во временную таблицу. Преобразование значения к типу Дата не может быть выполнено

13.05.2014, 06:52. Просмотров 1477. Ответов 2
Метки нет (Все метки)

Здравствуйте!
В общем выбрал запросом из таблицы sql дату формата дата/время(ВремяПрихода) и дата(Дата)
SQL
1
2
3
4
5
|SELECT
    |CAST(Checkinout.CheckTime AS DATE) Дата,
        |MIN(Checkinout.CheckTime) AS  ВремяПрихода
        |блаблабла
        |FROM блаблабла
Далее мне нужно пометить эту тз во временую таблицу,а для этого необходимо типизировать поля
Я сделал так:
1C
1
2
ТаблицаТабеля.Колонки.Добавить("Дата", Новый ОписаниеТипов("Дата", , ,Новый КвалификаторыДаты));
ТаблицаТабеля.Колонки.Добавить("ВремяПрихода",Новый ОписаниеТипов("Дата", , ,Новый КвалификаторыДаты));
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Recordset = Conn.Execute(ТекстЗапроса);
    ТЗСКЛ = Новый ТаблицаЗначений;
    
    Для каждого Field из Recordset.Fields Цикл
        ТЗСКЛ.Колонки.Добавить(Field.Name);
    КонецЦикла;
    
    Пока не Recordset.EOF Цикл
         СтрокаТабеля = ТаблицаТабеля.Добавить();
         
         СтрокаТабеля.Имя = Строка(Recordset.Fields(0).Value);
         СтрокаТабеля.Дата = Дата(Recordset.Fields(1).Value);
         СтрокаТабеля.ВремяПрихода = Дата(Recordset.Fields(2).Value);
         СтрокаТабеля.ВремяУхода = Дата(Recordset.Fields(3).Value);
         СтрокаТабеля.РабочихЧасов = Число(Recordset.Fields(4).Value);
         СтрокаТабеля.Прогулов = Число(Recordset.Fields(5).Value);       
         Recordset.MoveNext();
    КонецЦикла;
И вот тут клиент мне выдает ошибку Преобразование значения к типу Дата не может быть выполнено
СтрокаТабеля.ВремяПрихода = Дата(Recordset.Fields(1).Value);
Уверен,что дело в описании типов но в интернете ничего для себя подходящего не нашел.

Добавлено через 38 минут
Все разобрался...кому интересно-нужно было добавить частидаты в квалификаторе и там выбрать дату либо датувремя
1C
1
2
ТаблицаТабеля.Колонки.Добавить("Дата", Новый ОписаниеТипов("Дата", , ,Новый КвалификаторыДаты(ЧастиДаты.Дата)));
    ТаблицаТабеля.Колонки.Добавить("ВремяПрихода",Новый ОписаниеТипов("Дата", , ,Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя)));
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2014, 06:52
Ответы с готовыми решениями:

Перевод с обычной формы на управляемую: ошибка "Преобразование значения к типу Дата не может быть выполнено"
Добрый день, перевожу обычную форму на управляемую Вот часть кода нОбъект =...

8.3.5 Преобразование значения к типу Число не может быть выполнено
При создании документа возникает следующая ошибка: {ОбщийМодуль.РасчетОсаго.Модуль(41)}:...

Преобразование значения к типу Число не может быть выполнено
Ошибка такая {ОбщийМодуль.РасчетОсаго.Модуль(42)}: Преобразование значения к типу Число не может...

Преобразование значения к типу Число не может быть выполнено
Всем доброго времени суток! Я только начала изучать 1С по Чистову. Сейчас выходит следующая ошибка...

Преобразование значения к типу Число не может быть выполнено.
Всем привет! Я пока Новичек в области 1С, но на данный момент выходит такая ошибка,непонимаю что...

2
wladimir_ui
Шизофреник
358 / 361 / 83
Регистрация: 25.06.2013
Сообщений: 1,141
13.05.2014, 06:53 2
Лучший ответ Сообщение было отмечено StaLL1n как решение

Решение

в отладчике тормазните на этом моменте и гляньте, что там внутре (Recordset.Fields(n).Value)
преобразуйте для использования встроенной функции к понятному для 1с виду

Преобразование к дате:
Дата("19840326062421");
Дата(1984,03,26,06,24,21);
Дата(1984,03,26)

Если там уже дата сидит, то без свистелок:
1C
1
2
3
...
СтрокаТабеля.Дата = Recordset.Fields(1).Value;
...
Добавлено через 53 секунды
ну и гуд, раз разобрались
1
StaLL1n
19 / 19 / 4
Регистрация: 13.04.2014
Сообщений: 268
13.05.2014, 07:02  [ТС] 3
Цитата Сообщение от wladimir_ui Посмотреть сообщение
СтрокаТабеля.Дата = Recordset.Fields(1).Value;
С квалификаторами даты такую же конструкцию использовал,все отлично работает спасибо за участие
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2014, 07:02

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

Преобразование значения к типу Дата не может быть выполнено
Ошибка: Преобразование значения к типу Дата не может быть выполнено...

Внутренняя ошибка "Преобразование значения к типу Дата не может быть выполнено"
1С.8.2 / При загрузке Выписки из казначейства в Документ Кассовые выбытия происходит ошибка, на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru