Выгрузка данных в SQL. Проблема с Datetime

1. Profaner 17.02.17 16:17 Сейчас в теме
Доброго времени суток! Проблема следующая: выгружаю в SQL данные, используя хранимую процедуру. Один из параметров имеет тип Datetime. Записываю в него значение типа Дата+время, в итоге дата передается правильно, а время теряется. Пытался сделать формат даты, ругается на строковый реквизит. Какие могут быть идеи?

СтрокаТЗ.НачДата (Тип: Дата; Состав даты: Дата и время)

Command = Вызов;
    Command.CommandType = 4;
    Command.CommandText = "DMT_Set_ClientRouteEx";
   
    Для Индекс = 0 ПО Таб.Количество()-1 Цикл
        СтрокаТЗ = Таб[Индекс];
        Command.Parameters.Refresh();
        Command.Parameters.Item(1).Value = СтрокаТЗ.АгентИД;
        Command.Parameters.Item(2).Value = СтрокаТЗ.КлиентИД;
        Command.Parameters.Item(3).Value = СтрокаТЗ.НачДата;
//Неудачный попытки
        //Command.Parameters.Item(3).Value = Формат(СтрокаТЗ.НачДата,"ДЛФ=DT");
        //Command.Parameters.Item(3).Value = Дата(Формат(СтрокаТЗ.НачДата, "ДФ=yyyymmddhhmmss"));
////////////////////////////////////
        Command.Parameters.Item(4).Value = Индекс+1;
        Command.Parameters.Item(5).Value = Null;
        Command.Parameters.Item(6).Value = 2;
        Попытка
            Result = Command.Execute();
        Исключение
            Сообщить("Не удалось выполнить запрос");
        КонецПопытки;
КонецЦикла;
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ImHunter 333 17.02.17 16:35 Сейчас в теме
У меня вот так строка для дат формируется:

Функция ДатаВремяSQL(пДатаВремя) Экспорт 
	
	лГод = Год( пДатаВремя );
	лМесяц = Месяц( пДатаВремя );
	лДень = День( пДатаВремя );
	лЧас = Час( пДатаВремя );
	лМинута = Минута( пДатаВремя );
	лСекунда = Секунда( пДатаВремя );
	
	Возврат Формат(лГод, "ЧЦ=4; ЧВН=; ЧГ=") + Формат( лМесяц, "ЧЦ=2; ЧВН=; ЧГ=" ) + Формат( лДень, "ЧЦ=2; ЧВН=; ЧГ=" ) +
		" " + Формат( лЧас, "ЧЦ=2; ЧН=00; ЧВН=; ЧГ=" ) + ":" + Формат( лМинута, "ЧЦ=2; ЧН=00; ЧВН=; ЧГ=" ) + ":" + Формат( лСекунда, "ЧЦ=2; ЧН=00; ЧВН=; ЧГ=" );
	
КонецФункции
Показать

3. Profaner 17.02.17 16:47 Сейчас в теме
(2)
лГод = Год( пДатаВремя );
лМесяц = Месяц( пДатаВремя );
лДень = День( пДатаВремя );
лЧас = Час( пДатаВремя );
лМинута = Минута( пДатаВремя );
лСекунда = Секунда( пДатаВремя );

Возврат Формат(лГод, "ЧЦ=4; ЧВН=; ЧГ=") + Формат( лМесяц, "ЧЦ=2; ЧВН=; ЧГ=" ) + Формат( лДень, "ЧЦ=2; ЧВН=; ЧГ=" ) +
" " + Формат( лЧас, "ЧЦ=2; ЧН=00; ЧВН=; ЧГ=" ) + ":" + Формат( лМинута, "ЧЦ=2; ЧН=00; ЧВН=; ЧГ=" ) + ":" + Формат( лСекунда, "ЧЦ=2; ЧН=00; ЧВН=; ЧГ=" );


Пробовал похожий способ, все равно ругается на несоответствие типов. Формируется строка, а Скуль ждет датувремя, если пробовать Дата(ФорматированнаяСтрока), то 1с ошибку выдаст :<
5. ResetAtreides 17.02.17 16:53 Сейчас в теме
(3)
Дата(ФорматированнаяСтрока)

Это ж 1С пытается получить тип "Дата" из типа "Строка", естесно он ошибку выдает на форматированную строку. Может у тебя уже в табличной части время потеряно?
4. jj_mail 17.02.17 16:51 Сейчас в теме
там формат дат зависит от кодировки базы. Нужна посмотреть, в каком формате SQL вернет например текущую дату
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот