Имя: Пароль:
1C
 
1С вылетает при раскрытии группировки в форме списка
, , , , ,
0 Meldir
 
01.10.18
22:12
Прошу накидать идей, как справится с проблемой «вылетания» 1С.
Что имеем:
- 1С:Предприятие 8.3 (8.3.13.1458)
- рабочая СУБД:
  Microsoft SQL Server 2014 (SP2-CU1) (KB3178925) - 12.0.5511.0 (X64)
  Aug 19 2016 14:32:30
  Copyright (coffee) Microsoft Corporation
  Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

- тестовая СУБД:
  Microsoft SQL Server 2008 R2 (SP3-GDR) (KB4057113) - 10.50.6560.0 (X64)
  Dec 28 2017 15:03:48
  Copyright (coffee) Microsoft Corporation
  Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

- Форма списка документа с группировкой по году и стройке.
- Запрос динамического списка содержит левое соединение с табличной частью документа (суммируются деньги).

Суть проблемы:
В тестовой конфе форма отрабатывает "на ура", все группировки открываются/снимаются/устанавливаются.
В рабочей - при попытке раскрыть/установить группировки система вылетает с ошибкой:

Платформа: 1С:Предприятие 8.3 (8.3.13.1458)
Конфигурация: Капитальное строительство и реконструкция (КСиР) (2018.03.14.1)
Режим: Серверный (сжатие: усиленное)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Вариант интерфейса: Версия 8.2
Ошибки:
--------------------------------------------------------------------------------
01.10.2018 16:43:52
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/dlist:
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: ORDER BY items must appear in the select list if SELECT DISTINCT is specified.
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=145, line=1

Если убрать левое соединение в запросе, ошибка пропадает, но мне-то надо с деньгами(((

Где искать, что править?
1 yzimin
 
01.10.18
22:17
>>Где искать, что править?

8.3.13.1458 понизить версию до 8.3.12, а лучше до 8.3.10
2 Йохохо
 
01.10.18
22:17
ты собрал всю эту диагностику но не перевел ошибку?
3 ILM
 
гуру
02.10.18
05:02
Упорядочить добавь в запрос.
4 Meldir
 
02.10.18
05:37
(1) До этого стояла вообще 8.3.5. Решения об обновлении принимаю не я((((
5 Meldir
 
02.10.18
05:39
(2) мало того, что перевела. Я сравнила запросы в обеих формах, посмотрела, что прилетает в базу. Запросы идентичны до знака. На тестовой срабатывает, на рабочей нет.
6 Meldir
 
02.10.18
05:54
(3) при формировании запроса только группировка вписывалась.
Решение проблемы, аналогичной моей, описано здесь
http://www.gilev.ru/order-by-items-must-appear-in-the-select-list-if-select-distinct-is-specifed-hresult80040e14/
Но оба варианта мимо. Список полей перепроверен, автоупорядочивания (даже галки в конструкторе) нет.
7 Йохохо
 
02.10.18
07:19
(6) в динамическом списке всегда есть упорядочивание, т.к. данные читаются порциями
8 Nikoss
 
02.10.18
07:23
(0) [В тестовой конфе форма отрабатывает "на ура", все группировки открываются/снимаются/устанавливаются.
В рабочей - при попытке раскрыть/установить группировки система вылетает с ошибкой]

Тестовая и рабочая база в идентичных условиях работают? (платформа, режим работы, тип подключения к базе и т.д.)
9 catena
 
02.10.18
07:59
(8)Там же конфигурации указаны, скулем различаются.
10 Meldir
 
02.10.18
09:28
(7) в конструкторе запроса в раздел сгруппировать по загнаны все поля, упорядочивание в настройках (порядок) не помогает.
11 Meldir
 
02.10.18
09:40
Рабочее место одно.
Добавление: При раскрытии пользователем группировки списка на стороне субд формируется запрос, в котором в GROUP BY есть следующая строка

ISNULL(CAST(T4._Fld1411 AS NVARCHAR(300)),N’’’’)

При 10 версии СУБД всё отлично, в 12 вылетает. При этом поле T4._Fld1411 изначально прописано NOT NULL. Если убрать проверку на ISNULL, в 12 тоже всё отрабатывает.
Есть мысли, как от этого избавиться?
12 Йохохо
 
02.10.18
10:16
(11) уберите его из группировки и добавьте еще соединение, мб
13 Meldir
 
02.10.18
11:15
(12) вы знаете, помогло... Огромное вам спасибо. Переписала запрос: те поля, что получала по ссылке через точку, получаю теперь по левому соединению с этим самым справочником. Заработало, но я всё равно не понимаю изначальных причин такого поведения((( это получается, мне все запросы переписывать на явное соединение надо, даже если я хочу получить данные по родителю.
Всем спасибо за участие, пошла постигать дзен.
14 Йохохо
 
02.10.18
11:29
(13) это скд, скд думает так, 2014 думает сяк, 2008 еще кое как, Вам на партнерку думаю за дзеном
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн