|
Ошибка выполнения запроса на новой платформе | ☑ | ||
---|---|---|---|---|
0
rema85
06.12.19
✎
10:17
|
Добрый день. При переходе с платформы 8.3.10 на 8.3.16 при выполнении различных запросов появилась ошибка приводящая к закрытию базы.
Ошибка следующая: Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Недопустимый аргумент масштаба. Допустимыми выражениями для аргумента масштаба типа данных datetime2 являются целочисленные константы и выражения с целочисленными константами. HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=1, Severity=10, native=10760, line=1 Также были испробованы платформы 8.3.15 и 8.3.14. Результат тот же. Опытным путем установлено, что база крошится если в условиях связи двух таблиц написать конструкцию соединения типа НачалоПериода(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, Месяц). Точно такая же конструкция, но в поле выполняется без проблем. Также без проблем выполняется конструкция КонецПериода(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, Месяц). Валится только в условиях связи и только при использовании НачалоПериода. Кстати ошибка возникает на 2 базах (сильно доработанная УПП и абсолютно переработанная CRM). Базы на mssql. Уже даже sql переустановили. Стоял 2014, а поставили 2017. Может кто-то сможет натолкнуть на мысль куда дальше копать. |
|||
1
FIXXXL
06.12.19
✎
10:22
|
НачалоПериода(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, Месяц)
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря - заполнено? |
|||
2
rema85
06.12.19
✎
10:24
|
Да. Пустых дат в регистре нет.
Валится вот такой запрос с заполненными параметрами дат: ВЫБРАТЬ &Дата1 КАК Дата1 ПОМЕСТИТЬ вр1 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ &Дата2 КАК Дата2 ПОМЕСТИТЬ вр2 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ вр1.Дата1 КАК Дата1, вр2.Дата2 КАК Дата2 ИЗ вр1 КАК вр1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ вр2 КАК вр2 ПО вр1.Дата1 = НачалоПериода(вр2.Дата2, Месяц) |
|||
3
dka80
06.12.19
✎
10:25
|
Собрать дамп и отправить в 1С?
|
|||
4
shuhard
06.12.19
✎
10:28
|
(0)[Может кто-то сможет натолкнуть на мысль куда дальше копать.]
если код типовой - в саппорт 1С иначе - переписать запрос |
|||
5
Ёпрст
06.12.19
✎
10:28
|
||||
6
Ёпрст
06.12.19
✎
10:32
|
Ну и ..
ПО вр1.Дата1 = НачалоПериода(ДОБАВИТЬКДАТЕ(вр2.Дата2, день, 0), Месяц) пробуй. |
|||
7
rema85
06.12.19
✎
10:36
|
(5) Там эта проблема решена в стиле "не делай так и все будет ок".
Такой вариант конечно же хорош, но базы огромные и переписать кучу запросов накопленных за годы будет проблематично. |
|||
8
Ёпрст
06.12.19
✎
10:37
|
(7) ну, тогда оставайся на старой платформе
|
|||
9
rema85
06.12.19
✎
10:38
|
(6) Если так переписать, то на ошибку не сваливается. Но хотелось бы обойтись без переписки запросов
|
|||
10
rema85
06.12.19
✎
10:38
|
(8) Хотелось бы двигаться вперед хоть чуть-чуть...
|
|||
11
Ёпрст
06.12.19
✎
10:40
|
(10) пиши в саппорт в 1с- может, поправят, или используй Конецпериода, он не дает ошибки
|
|||
12
Ёпрст
06.12.19
✎
10:41
|
И..на 2008 скуле, тоже, такой ошибки нема
|
|||
13
rema85
06.12.19
✎
10:43
|
(12) хм... это интересно. может и попробуем.
|
|||
14
rema85
06.12.19
✎
10:43
|
огромное спасибо за кучу идей
|
|||
15
kumena
06.12.19
✎
11:20
|
1С:Предприятие 8.3 (8.3.14.1779) + Microsoft SQL Server 2012 - 11.0.5532.0 (X64) Jul 14 2014 15:00:27 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)
ваш запрос на этой связке работает. |
|||
16
shuhard
06.12.19
✎
11:24
|
(15)Service Pack 1, возможно дело в нём
|
|||
17
rema85
06.12.19
✎
11:49
|
(15) ставили разные платформы 1С (8.3.14, 8.3.15, 8.3.16) и меняли sql с 2014 на 2017. Не помогает.
|
|||
18
SSSSS_AAAAA
06.12.19
✎
11:51
|
(17) Еще не пробовали разные драйверы доступа.
"Microsoft SQL Server Native Client 11.0: Недопустимый аргумент масштаба" ни о чем не говорит? |
|||
19
rema85
06.12.19
✎
12:36
|
(18) нативный клиент поставился автоматом при установке новой версии sql. Отдельно не переустанавливали.
1С:Предприятие 8.3 (8.3.12.1924) - на этой платформе ошибки нет (последняя 12-я). Еще один интересный факт. На 14-й платформе (где ошибка возникает). Был проведен эксперимент. Создана новая пустая база. Выполнен тот же эталонный запрос. ошибка не возникает. Как это вообще работает.... |
|||
20
rema85
18.12.19
✎
17:53
|
На той же 14-й платформе была создана новая БД. В нее загружен сильно порезанный dt-шник из рабочей базы. И о чудо! Ошибка не возникает. По всей видимости на sql есть некие таблички принадлежащие платформе. И когда делаем заливку sql бэкапа, то эти таблички тянутся с старой платформы, которые потом и приводят к ошибке на новой платформе. Заливка копии через dt по всей видимости эти таблички не тащит. Теперь только остался вопрос возможности выгрузки базы на 250гиг в dt...
|
|||
21
hhhh
18.12.19
✎
17:57
|
(20) ну может тии решит вопрос. реиндексация и реструктуризация
|
|||
22
Cyberhawk
18.12.19
✎
18:05
|
"была создана новая БД" // Может в смещении дат, указываемом при создании БД, дело?
|
|||
23
rema85
18.12.19
✎
18:23
|
(22) Нет. Смещение одинаковое. Найти бы ту подлую табличку... и подменить ее средствами sql.
|
|||
24
peeton
20.01.20
✎
15:04
|
данная ошибка была и на типовой конфе Бух после обновления, после танцев с бубном решено:
1 выгрузил в архив(средствами 1С) 2. Создал новую пустую базу на сервере 3. залил из архива. Вывод: Проблема в кэше сервера 1С. (не буду описывать почему именно в нем, могут читать и дети, с учетом того, что до сдачи НДС остается кропаль времени, и именно там у меня не хотело работать - иначе как матом описать мои танцы с бубном не выйдет) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |