После обновления конфигурации запускаются обработчики обновления. И в обработчике обновления регистра сведений “РасчетНалогаНаИмущество” есть запрос содержащий следующее:
|// Дата сведений - первый ненулевой месяц.
|ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ДатаСведений = ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0101 <> 0
| ТОГДА втРасчетПоСреднегодовой.ГодРасчета
| ИНАЧЕ ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0102 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 1)
| ИНАЧЕ ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0103 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 2)
| ИНАЧЕ ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0104 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 3)
| ИНАЧЕ ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0105 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 4)
| ИНАЧЕ ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0106 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 5)
| ИНАЧЕ ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0107 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 6)
| ИНАЧЕ ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0108 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 7)
| ИНАЧЕ ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0109 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 8)
| ИНАЧЕ ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0110 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 9)
| ИНАЧЕ ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0111 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 10)
| ИНАЧЕ ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0112 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 11)
| ИНАЧЕ ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа3112 <> 0
| ТОГДА КОНЕЦПЕРИОДА(втРасчетПоСреднегодовой.ГодРасчета, ГОД)
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| ИНАЧЕ втРасчетПоСреднегодовой.ДатаСведений
|КОНЕЦ КАК ДатаСведений,
Это бред, обработчик валится с ошибкой:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Выражения Case могут быть вложенными только до уровня 10.
MS SQL такие конструкции не поддерживает в режиме распараллеливания работы по нескольким ядрам.
Следующая установка не помогла справится с ошибкой на боевом сервере:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'max degree of parallelism', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
Почему сделали вложенные условия??? Уровень разработчиков в самой 1с уже дошел до такого дна, что они не знают, что можно просто писать:
ВЫБОР КОГДА Условие ТОГДА х
КОГДА Условие ТОГДА х
КОГДА Условие ТОГДА х
ИНАЧЕ х
КОНЕЦ
Следовательно меняем запрос на такой:
|// Дата сведений - первый ненулевой месяц.
|ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ДатаСведений = ДАТАВРЕМЯ(1, 1, 1)
| ТОГДА ВЫБОР
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0101 <> 0
| ТОГДА втРасчетПоСреднегодовой.ГодРасчета
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0102 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 1)
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0103 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 2)
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0104 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 3)
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0105 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 4)
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0106 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 5)
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0107 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 6)
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0108 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 7)
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0109 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 8)
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0110 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 9)
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0111 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 10)
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа0112 <> 0
| ТОГДА ДОБАВИТЬКДАТЕ(втРасчетПоСреднегодовой.ГодРасчета, МЕСЯЦ, 11)
| КОГДА втРасчетПоСреднегодовой.ОстаточнаяСтоимостьНа3112 <> 0
| ТОГДА КОНЕЦПЕРИОДА(втРасчетПоСреднегодовой.ГодРасчета, ГОД)
| КОНЕЦ
| ИНАЧЕ втРасчетПоСреднегодовой.ДатаСведений
| КОНЕЦ КАК ДатаСведений,
Если раньше ошибки выявлялись в процессе эксплуатации ПО, то сейчас уже даже обновится нормально нельзя.