Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Зависания при отмене проведения и проведении документов (период date/datetime)  [new]
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]     Ответить | Цитировать Сообщить модератору
 Re: Зависания при отмене проведения и проведении документов (период date/datetime)  [new]
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]     Ответить | Цитировать Сообщить модератору
 Re: Зависания при отмене проведения и проведении документов (период date/datetime)  [new]
yarikis
Member

Откуда:
Сообщений: 4
aleks222,

Так ранее на 2005м и 2000 работало ведь.... Или это особенность 2012го?
10 окт 17, 17:44    [20858485]     Ответить | Цитировать Сообщить модератору
 Re: Зависания при отмене проведения и проведении документов (период date/datetime)  [new]
aleks222
Guest
yarikis
aleks222,

Так ранее на 2005м и 2000 работало ведь.... Или это особенность 2012го?


Это "особенность" дефолтных опций подключения для логина.
В частности Язык.

На ВСЕХ версиях MS SQL.
10 окт 17, 17:54    [20858516]     Ответить | Цитировать Сообщить модератору
 Re: Зависания при отмене проведения и проведении документов (период date/datetime)  [new]
yarikis
Member

Откуда:
Сообщений: 4
aleks222,
а поменять их где-то можно?
11 окт 17, 17:08    [20861655]     Ответить | Цитировать Сообщить модератору
 Re: Зависания при отмене проведения и проведении документов (период date/datetime)  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7746
yarikis,

в строке подключения к серверу или в конфигурации имени входа на сервере.
11 окт 17, 17:33    [20861755]     Ответить | Цитировать Сообщить модератору
 Re: Зависания при отмене проведения и проведении документов (период date/datetime)  [new]
yarikis
Member

Откуда:
Сообщений: 4
Владислав Колосов,

спасибо
11 окт 17, 23:46    [20862503]     Ответить | Цитировать Сообщить модератору
 Re: Зависания при отмене проведения и проведении документов (период date/datetime)  [new]
skafandr
Member

Откуда:
Сообщений: 1
Владислав Колосов,а можно Вас попросить расшифровать поподробнее для не сильно подкованных.Наткнулся на такую же ситуацию по зависанию при отмене проведения.Спасибо
25 окт 17, 10:37    [20897783]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить