Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
yarikis Member Откуда: Сообщений: 4 |
Знатоки mssql подскажите Имею базу 1с 7.7 на ms SQL 2012-11-0-6020 (server 2016 datacenter) релиз 1С от https://infostart.ru/public/82018/ - Секретный релиз После переезда с SQL 2005 (server 2008) база встает колом при попытке отмены или проведения документов из любых старых периодов. После "вскрытия" выяснилось, что при процедурах вычисления следующего периода есть такая строка: @NewDate=DATEADD(mm, DATEDIFF(mm, '1753-01-01', @BeginOfPeriod), '1753-02-01') (@BeginOfPeriod - datetime) которая срабатывает для дат больше 15го числа месяца. Для моего случая имею: DATEADD(mm, DATEDIFF(mm, '1753-01-01', '2017-09-16T00:00:00'), '1753-02-01') По логике код должен выдать дату начала следующего периода (у меня разбивка по 15 дней). НО! выдает сен 2 2017 12:00AM, хотя должен выдать 01/10/2017 а вот если сделать так: DATEADD(mm, DATEDIFF(mm, '1753-01-01', '2017-09-16T00:00:00'), '1753-02-01T00:00:00')- то норма 01/10/2017 В чем дело то? п.с. В хранимых процедурах поправил дату на датавремя, проблема с проведением и отменой проведения решилась |
10 окт 17, 02:24 [20856304] Ответить | Цитировать Сообщить модератору |
aleks222
Guest |
Дык, стандартные грабли злобных неучей, пишущих даты "яко мине удобнее".select cast('1753-02-01' as datetime) select cast('17530201' as datetime) ----------------------- 1753-01-02 00:00:00.000 (1 row(s) affected) ----------------------- 1753-02-01 00:00:00.000 (1 row(s) affected) |
10 окт 17, 05:26 [20856333] Ответить | Цитировать Сообщить модератору |
yarikis Member Откуда: Сообщений: 4 |
aleks222, Так ранее на 2005м и 2000 работало ведь.... Или это особенность 2012го? |
10 окт 17, 17:44 [20858485] Ответить | Цитировать Сообщить модератору |
aleks222
Guest |
Это "особенность" дефолтных опций подключения для логина. В частности Язык. На ВСЕХ версиях MS SQL. |
||
10 окт 17, 17:54 [20858516] Ответить | Цитировать Сообщить модератору |
yarikis Member Откуда: Сообщений: 4 |
aleks222, а поменять их где-то можно? |
11 окт 17, 17:08 [20861655] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8485 |
yarikis, в строке подключения к серверу или в конфигурации имени входа на сервере. |
11 окт 17, 17:33 [20861755] Ответить | Цитировать Сообщить модератору |
yarikis Member Откуда: Сообщений: 4 |
Владислав Колосов, спасибо |
11 окт 17, 23:46 [20862503] Ответить | Цитировать Сообщить модератору |
skafandr Member Откуда: Сообщений: 1 |
Владислав Колосов,а можно Вас попросить расшифровать поподробнее для не сильно подкованных.Наткнулся на такую же ситуацию по зависанию при отмене проведения.Спасибо |
25 окт 17, 10:37 [20897783] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |