Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> SQL запрос, сравнение типа ДАТА          
Vond Подменю пользователя
сообщение 19.07.09, 19:39
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 310
Из: Киев
Спасибо сказали: 148 раз
Рейтинг: 0

Мир вам. Вот использую запрос чтоб найти нужные данные:
SELECT     *
FROM         Ukraine_RP
WHERE     (Date > '19.05.2009 0:00:00')


а ничего не віходит, ругается СКЛ... Что не так пишу?


Signature
Платформа: 1С:Предприятие 8.3 (8.3.9)
Конфигурация: УПП (1.3.48)

zetovich Подменю пользователя
сообщение 20.07.09, 7:31
Сообщение #2

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

попробуйте ,что то типа

SELECT     *
FROM         Ukraine_RP
WHERE     Date > '19/05/2009'



[необходимо зарегистрироваться для просмотра ссылки]

Vond Подменю пользователя
сообщение 20.07.09, 8:44
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 310
Из: Киев
Спасибо сказали: 148 раз
Рейтинг: 0

Хорошая ссылка почитаю, вариант такой подошел
UPDATE      Ukraine_RP
SET         Sale = 4488.123
WHERE       (Date = '2009-05-24')


WHERE (Date = '2009-05-24') SQL требует формат 'yyyy-mm-dd'


Signature
Платформа: 1С:Предприятие 8.3 (8.3.9)
Конфигурация: УПП (1.3.48)

zetovich Подменю пользователя
сообщение 20.07.09, 9:08
Сообщение #4

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

возможно берет настройки утсановленніе в системе....

Valerka Подменю пользователя
сообщение 21.07.09, 8:31
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 65
Из: Каменец-Подольский
Спасибо сказали: 4 раз
Рейтинг: 0

В таких случаях проще посмотреть в самой таблице, как скуль пишет дату smile.gif


Signature
Разум, не имеющий цели, всегда блуждает в потёмках.

Vond Подменю пользователя
сообщение 21.07.09, 18:33
Сообщение #6

Оратор
Иконка группы
Группа: Местный
Сообщений: 310
Из: Киев
Спасибо сказали: 148 раз
Рейтинг: 0

Цитата(Valerka @ 21.07.09, 10:31) *
В таких случаях проще посмотреть в самой таблице, как скуль пишет дату smile.gif


так как она отображается в таблицах вовсе не катит. Формат отображения поля типа ДАТА наверное зависит от настроек сиквела, а вот сравнение это уже как правило. Вот его и уточнял. В ответе выше видно как решается вопрос


Signature
Платформа: 1С:Предприятие 8.3 (8.3.9)
Конфигурация: УПП (1.3.48)

Fynjy Подменю пользователя
сообщение 21.07.09, 19:01
Сообщение #7

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0

Все бегом в MSDN ...
Например сюда ... [необходимо зарегистрироваться для просмотра ссылки]


Signature

Valerka Подменю пользователя
сообщение 21.07.09, 19:20
Сообщение #8

Говорящий
***
Группа: Пользователи
Сообщений: 65
Из: Каменец-Подольский
Спасибо сказали: 4 раз
Рейтинг: 0

Цитата(Vond @ 21.07.09, 20:33) *
так как она отображается в таблицах вовсе не катит. Формат отображения поля типа ДАТА наверное зависит от настроек сиквела, а вот сравнение это уже как правило.

та это предположение или практикой проверено? smile.gif


Signature
Разум, не имеющий цели, всегда блуждает в потёмках.

Vond Подменю пользователя
сообщение 22.07.09, 21:27
Сообщение #9

Оратор
Иконка группы
Группа: Местный
Сообщений: 310
Из: Киев
Спасибо сказали: 148 раз
Рейтинг: 0

практика


Signature
Платформа: 1С:Предприятие 8.3 (8.3.9)
Конфигурация: УПП (1.3.48)

assa62 Подменю пользователя
сообщение 31.07.09, 20:27
Сообщение #10

Молчаливый
*
Группа: Пользователи
Сообщений: 9
Спасибо сказали: 1 раз
Рейтинг: 0

В 1С:
//==========================================
Функция ВремяНачТрека()
Результат = Формат(начЧЧ,"Ч(0)2.0")+":"+Формат(начММ,"Ч(0)2.0")+":"+Формат(начСС,"Ч(0)2.0");
Возврат Результат;
КонецФункции // ВремяКонТрека()

//==========================================
Функция ВремяКонТрека()
Результат = Формат(конЧЧ,"Ч(0)2.0")+":"+Формат(конММ,"Ч(0)2.0")+":"+Формат(конСС,"Ч(0)2.0");
Возврат Результат;
КонецФункции // ВремяКонТрека()

//==========================================
Функция ПолучитьДатуSQL(ДатаД)
Возврат ""+ДатаГод(ДатаД)+"-"+Сред(ДатаД,4,2)+"-"+Лев(ДатаД,2);
КонецФункции // ПолучитьДатуSQL

//==========================================
Процедура ....
СтрокаЗапроса = " MS_get_Doc_GPSTrack ";
ДобавитьПоле(СтрокаЗапроса,СокрЛП(ВыбАгент.ИмяПокет), 0); // код агента. Если пустое значение, тогда смотрим треки от всех агентов.
ДобавитьПоле(СтрокаЗапроса,ПолучитьДатуSQL(ДатаТрека)+" "+ВремяНачТрека(), 0); // дата и время начала трека
ДобавитьПоле(СтрокаЗапроса,ПолучитьДатуSQL(ДатаТрека)+" "+ВремяКонТрека(), 0); // дата и время конца трека
СтрокаЗапроса = Лев(СтрокаЗапроса, СтрДлина(СтрокаЗапроса) - 1);
tCommand.CommandText = СтрокаЗапроса;
tRecordSet = tCommand.Execute; // запускаем хр. процедуру на выполнение
.....
КонецПроцедуры

в SQL хранимая процедура:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Серебряков Алексей>
-- Create date: <23 июля 2008>
-- Description: <Возвращает GPS координаты за указанный период>
-- =============================================
ALTER procedure [dbo].[MS_get_Doc_GPSTrack](
-- Add the parameters for the stored procedure here
@DeviceId varchar(50), -- имя агента
@StartDate datetime, -- начало периода
@EndDate datetime -- конец периода
)
as begin
select AgentId, DeviceId, CONVERT(varchar(50), DateTimeValue, 127) + 'Z', Latitude, Longitude, dt from dbo.Doc_GPSTrack where DeviceId = @DeviceId and DateTimeValue >= @StartDate and DateTimeValue <= @EndDate order by DateTimeValue
end

mastervut Подменю пользователя
сообщение 09.08.09, 1:22
Сообщение #11

Общительный
**
Группа: Пользователи
Сообщений: 21
Спасибо сказали: 11 раз
Рейтинг: 0

В зависимости от настроек СКЛ (делаем константу, например, как я обычно делаю):

Функция глДатаОДБЦ(Дата1С=,ФормДаты) Экспорт
Перем д,в,т;
в=""; д=""; т=""; д=Дата(Дата1С);
д=Формат(д,"ДГГГГММДД");
Если ФормДаты=Перечисление.ФорматыДатыСКЛ.ГодМесяцДень Тогда
д=Лев(д,4)+"-"+Сред(д,5,2)+"-"+Прав(д,2);
ИначеЕсли ФормДаты=Перечисление.ФорматыДатыСКЛ.ГодДеньМесяц Тогда
д=Лев(д,4)+"-"+Прав(д,2)+"-"+Сред(д,5,2);
КонецЕсли;
Возврат Строка(д);
КонецФункции

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 05.05.24, 21:31
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!