![]() |
![]() |
![]() |
|
Еще раз тема про выгрузка из 1С в SQL(Формат даты) | ☑ | ||
---|---|---|---|---|
0
bura_limon
29.09.10
✎
16:00
|
За 31 число не попадают данные в Скул,в 1с Есть поступл.за 31.03.2010 23:59:59 в скул она не попало(форматом ММ/дд/гггг чч:сс не попагло),Поступ за 31.03.2010 16:32:52(в 1С) так же нет в Скуле и т.д...
то есть в Скуле 23:59:59 воспринимает как 11:59:59,период 01.03.2010 0:00:00 Скул выводит 01.03.2010 12:00.В связи с этим остаток неправельная. |
|||
1
bura_limon
29.09.10
✎
16:13
|
Во время выгрузи исправил время на 00-00,результат тот же
|
|||
2
nilabs
29.09.10
✎
16:40
|
мдя.... отвечать не буду устал
|
|||
3
bura_limon
29.09.10
✎
16:46
|
да уж....
|
|||
4
bura_limon
30.09.10
✎
14:25
|
Вот так пытаюсь преобразовать дату,но Скул не видит запроса:
ТекстЗапроса="INSERT INTO dbo.io_agent_debt VALUES (CAST( '" + Формат(ВыборкаРез.Dt, "ДФ=YYYYMMDDHHMMSS")+"' AS DATE)"+"'," +ВыборкаРез.type+",'" +ВыборкаРез.Agent_name+"'," +ВыборкаРез.inn+"," +ВыборкаРез.kpp+"," +Строка(Формат(ВыборкаРез.amount, "ЧДЦ=2; ЧРД=.; ЧГ=0"))+",'" +ВыборкаРез.comment+"')"; Данные Без CAST и AS DATE данные выводит нормально Дата+время,только все таки данные по Докам с 31.01.2010,31.03.2010 не попадают в Скул,может с синтексом я ошибаюсь? |
|||
5
bura_limon
30.09.10
✎
15:52
|
будут у кого какие нибудь соображения?!
|
|||
6
hhhh
30.09.10
✎
16:07
|
(5) ну ты в отладчике выведи эту переменную ТекстЗапроса, а мы посмотрим и скажем тогда.
|
|||
7
bura_limon
30.09.10
✎
16:17
|
Делаю вот так:
ТекстЗапроса="INSERT INTO dbo.io_agent_debt VALUES ('"+Формат(ВыборкаРез.Dt,"ДФ=""YYYY-MM-DD HH:MM:SS")+"'," +ВыборкаРез.type+",'" +ВыборкаРез.Agent_name+"'," +ВыборкаРез.inn+"," +ВыборкаРез.kpp+"," +Строка(Формат(ВыборкаРез.amount, "ЧДЦ=2; ЧРД=.; ЧГ=0"))+",'" +ВыборкаРез.comment+"')"; Сообщить(ТексЗапроса)= Ошибка: {Форма.Форма(161)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value. INSERT INTO dbo.io_agent_debt VALUES ('31.12.2009 23:59:59',2,'Дрейдина Т.В. ИП',616898821363,-,2025.23,'Остаток на дату ') Ошибка: {Форма.Форма(161)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Incorrect syntax near ','. INSERT INTO dbo.io_agent_debt VALUES ('31.01.2010 23:59:59',2,'Дрейдина Т.В. ИП',616898821363,-,2025.23,'Остаток на дату ') Ошибка: {Форма.Форма(161)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Incorrect syntax near ','. INSERT INTO dbo.io_agent_debt VALUES ('31.12.2009 23:59:59',2,'Август',6161052674,616101001,-600.00,'Остаток на дату ') Ошибка: {Форма.Форма(161)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value. INSERT INTO dbo.io_agent_debt VALUES ('21.01.2010 11:28:36',1,'Август',6161052674,616101001,600.00,'Платежное поручение исходящее ЭкД00000143 от 21.01.2010 11:28:36') Данные за 31 число не попадают в СКУЛ |
|||
8
hhhh
30.09.10
✎
16:27
|
ну вот это что у тебя за фиговина?
,-, |
|||
9
АНДР
30.09.10
✎
16:34
|
Это он Convert забыл написать к дате.
|
|||
10
hhhh
30.09.10
✎
16:36
|
нет, это пожоже КПП такое. Просто черточка.
|
|||
11
АНДР
30.09.10
✎
16:36
|
(8) Это он так КПП из пробелов к нулю преобразовал :(
|
|||
12
bura_limon
30.09.10
✎
16:39
|
(5)
ВЫБРАТЬ | ХозрасчетныйОбороты.Период КАК dt, | 1 КАК type, | ХозрасчетныйОбороты.Субконто1 КАК agent_name, | ЕСТЬNULL(ХозрасчетныйОбороты.Субконто1.ИНН, 0) КАК inn, | ВЫБОР | КОГДА ХозрасчетныйОбороты.Субконто1.КПП = """" | ИЛИ ХозрасчетныйОбороты.Субконто1.КПП = ""-"" | ТОГДА ""0"" | ИНАЧЕ ХозрасчетныйОбороты.Субконто1.КПП | КОНЕЦ КАК kpp, | ХозрасчетныйОбороты.СуммаОборот КАК amount, | ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОбороты.Регистратор) КАК comment |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Регистратор, Счет В ИЕРАРХИИ (&Счет), , , , ) КАК ХозрасчетныйОбороты | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | КОНЕЦПЕРИОДА(ХозрасчетныйОстаткиИОбороты.Период, МЕСЯЦ), | 2, | ХозрасчетныйОстаткиИОбороты.Субконто1, | ХозрасчетныйОстаткиИОбороты.Субконто1.ИНН, | ХозрасчетныйОстаткиИОбороты.Субконто1.КПП, | ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток, | ""Остаток на дату "" |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНачОстатки, &КонецПериода, Месяц, ДвиженияИГраницыПериода, Счет В ИЕРАРХИИ (&Счет), , ) КАК ХозрасчетныйОстаткиИОбороты | |УПОРЯДОЧИТЬ ПО | agent_name"; |
|||
13
hhhh
30.09.10
✎
16:44
|
(12) черточка - это не число. Зачем ты ее в запрос как число фигачишь?
|
|||
14
АНДР
30.09.10
✎
16:45
|
Хочет нам показать, что чёрточку он заменяет.
|
|||
15
bura_limon
30.09.10
✎
16:46
|
(13)я вывел - из Консоля запроса,у некоторых в КПП есть-,0,6 и т.д.
|
|||
16
bura_limon
30.09.10
✎
16:48
|
если уберу "-" из запроса данные на этого Контрагента не попадает в Скул
|
|||
17
МихаилМ
30.09.10
✎
16:52
|
(16)
а как "-" должен трактовать MS SQL serv ? в контексте insert(...,-,...) Ваша версия. |
|||
18
sapphire
30.09.10
✎
16:59
|
(0) Так тебе, неучу и надо !
Кабы ты делал через параметры, то ADODB преобразовало бы все как надо и остальные повросы снялись сами собой. Так ведь нет же, толку тебе объяснять, когда ты с упорством барана наступаешь на одни и те же грабли. Свободен. Учи матчасть. |
|||
19
bura_limon
30.09.10
✎
17:08
|
(17)по факту "-" из 1С данные лажатся в Скул.вопрос в том что данные за 31 число не попадают.
(18)если я только начинаю изучать скул,это не значит что меня надо обсирать........перестаньте ругатся...... |
|||
20
sapphire
30.09.10
✎
17:27
|
(19) Вам писали как надо. А учитесь или нет и так видно.
Вам уже неоднократно объясняли. И сервер вам пишет то же самое. |
|||
21
Dolter
30.09.10
✎
17:31
|
- <> '-'
|
|||
22
nilabs
30.09.10
✎
17:33
|
да он достал уже за неделю, что тут что sql.ru
|
|||
23
nilabs
30.09.10
✎
17:34
|
ему уже все писали, в том числе о форматах дат и синтаксисе
|
|||
24
sapphire
30.09.10
✎
17:57
|
Не ну, правда, во-первых так, как он делает это вообще неприемлемо.
Именно, что надо использовать параметризацию ибо выгод больше нежели ошибок. Ну ладно, один раз написали. Так ведь человек и читать-то вовсе не умеет: INSERT INTO dbo.io_agent_debt VALUES ('31.12.2009 23:59:59',2,'Дрейдина Т.В. ИП',616898821363,-,2025.23,'Остаток на дату ') Ошибка: {Форма.Форма(161)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Incorrect syntax near ','. Главное, так сложно понять, что такое {,-,} для SQL причем любого! Кабы чел использовал параметр, то преобразование сразу бы сказала, ага, ожидаетс число, а передан символ. |
|||
25
nilabs
30.09.10
✎
18:11
|
кстати формат "ДФ=YYYYMMDDHHMMSS" неправилен это и есть ответ что у него
даты последнего дня месяца после 11:59 не пишутся в базу |
|||
26
sapphire
30.09.10
✎
18:29
|
(25) Ты ему еще про SET DATEFORMAT расскажи :D
-- Set date format to day/month/year. SET DATEFORMAT dmy; GO DECLARE @datevar datetime2 = '31/12/2008 09:01:01.1234567'; SELECT @datevar; GO -- Result: 2008-12-31 09:01:01.123 SET DATEFORMAT dmy; GO DECLARE @datevar datetime2 = '12/31/2008 09:01:01.1234567'; SELECT @datevar; GO -- Result: Msg 241: Conversion failed when converting date and/or time -- from character string. GO |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |