|
Переход с платформы 8.3.12 на 8.3.16 | ☑ | ||
---|---|---|---|---|
0
mzelensky
20.05.20
✎
15:47
|
Доброго времени суток!
Анализирую планируемый переход с платформы 8.3.12 на 8.3.16. Клиент-серверный вариант. Работа через тонкий клиент и веб-клиент. Конфигурация самописная, объемная, частично с применением БСП. Без режима совместимости. Задача - найти критические моменты, которые могут вылезти после смены платформы. Сейчас читаю официальные источники по описанию версий платформ и изменениям в них. Но некоторые формулировки в описании прям в тупик ставят, а как это все на практике будет работать вообще не понятно. Вопрос - может кто-то уже делал аналогичные переходы на 8.3.16, были ли какие-то серьезные траблы\грабли\фичи (ведь у разработчиков 1С багов нет, есть только фичи) и т.д. |
|||
1
H A D G E H O G s
20.05.20
✎
15:52
|
Да, есть фичи с формированием отчетов.
Некоторые параметры СКД в плане пользовательских представлений стали недоступными. Лечиться за 15 минут заглушками. |
|||
2
H A D G E H O G s
20.05.20
✎
15:53
|
Индекс полнотекстового поиска может не обновляться и его придется укантропупить.
|
|||
3
H A D G E H O G s
20.05.20
✎
15:54
|
Тоже конфа самописка, с применением БСП, переводили с 8.3.12 на 8.3.15 без совместимости. Сомневаюсь, что в 8.3.16 много наверчено в сравнении с 8.3.15
|
|||
4
mzelensky
20.05.20
✎
15:55
|
(1) Пример "заглушки" можно?
(3) Пока по моему анализу больше всего критичных моментов на 8.3.13 |
|||
5
H A D G E H O G s
20.05.20
✎
16:02
|
УТ11.4
ОМ ОтчетыСервер СинхронизируемыеСвойства = Новый Соответствие; СинхронизируемыеСвойства.Вставить(Тип("ЭлементОтбораКомпоновкиДанных"), "ЛевоеЗначение, Представление"); СинхронизируемыеСвойства.Вставить(Тип("ЭлементУсловногоОформленияКомпоновкиДанных"), "Представление"); #Вставка СинхронизируемыеСвойства = Новый Соответствие; СинхронизируемыеСвойства.Вставить(Тип("ЭлементОтбораКомпоновкиДанных"), Неопределено); СинхронизируемыеСвойства.Вставить(Тип("ЭлементУсловногоОформленияКомпоновкиДанных"), Неопределено); #КонецВставки #КонецОбласти |
|||
6
mzelensky
20.05.20
✎
16:10
|
(5) я вроде нашел описание этой "фичи":
" При обращении к не используемым свойствам объектов системы компоновки данных, находящихся в пользовательских настройках, генерируется исключение: Свойство ПредставлениеПользовательскойНастройки объектов ОтборКомпоновкиДанных, ВыбранныеПоляКомпоновкиДанных, УсловноеОформлениеКомпоновкиДанных. Свойства ПредставлениеПользовательскойНастройки, Представление, ЛевоеЗначение, Применение, Родитель объекта ЭлементОтбораКомпоновкиДанных. " Вот только я уже раз 20 прочел этот текст, но так и не понял в какой момент генерится исключение. |
|||
7
H A D G E H O G s
20.05.20
✎
16:57
|
Сформируешь любой типовой отчёт и сгенерится.
|
|||
8
Комрад1
20.05.20
✎
17:21
|
Был недавно такой проект перехода, месяца 2 один человек занимался, много мелких косячков вылавливал. Сейчас всё работает как часы.
|
|||
9
mzelensky
20.05.20
✎
17:25
|
(8) А список косячков случайно не остался?
|
|||
10
mzelensky
20.05.20
✎
18:45
|
Блин, переведите мне, что ОНИ ИМЕЛИ ВВИДУ:
" Система компоновки данных. При добавлении отбора в запрос набора данных схемы компоновки данных, содержащего объединения, отбор обязательно добавляется во все части объединения, если отбор удалось поместить хотя бы в одну часть объединения. При этом, в тех частях объединения, в которых отбор применить не удается из-за отсутствия в них полей, использующихся в отборе, в добавляемые условия вместо отсутствующего поля проставляется выражение NULL. В режиме совместимости с версией 8.3.12 поведение не изменилось. При добавлении отбора в запрос набора данных схемы компоновки данных, содержащего объединения, отбор помещался только в те части объединения, в которых было доступно поле, к которому применяется отбор. Унифицировано применение отборов в системе компоновки данных между набором данных-объединение и набором данных-запрос с объединением в запросе. " |
|||
11
mistеr
20.05.20
✎
19:41
|
(10) Насколько я понял, если есть запрос вида
ВЫБРАТЬ Документ1.Ссылка КАК Документ ИЗ Документ.Документ1 КАК Документ1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Документ2.Ссылка ИЗ Документ.Документ2 КАК Документ2 и пользователь ставит отбор на Документ.Контрагент. В одном документе он есть, а в другом нет. |
|||
12
mzelensky
22.05.20
✎
16:26
|
(11) И что будет в этом случае?
Вот это "в добавляемые условия вместо отсутствующего поля проставляется выражение NULL" к чему в итоге приведет? |
|||
13
lodger
22.05.20
✎
16:36
|
(12) как минимум к тому, что результат работы отбора будет неожиданным.
|
|||
14
mistеr
22.05.20
✎
16:37
|
(12) ХЗ, "NULL = NULL" наверное.
|
|||
15
mzelensky
22.05.20
✎
16:52
|
(12) Во-во...полная неожиданность. Какой дебил в 1С отвечает за составление этих описаний?!?!? (риторический вопрос)
(14) NULL никогда не равен NULL |
|||
16
lubitelxml
22.05.20
✎
16:52
|
(14) нет, NULL <> NULL
|
|||
17
mzelensky
22.05.20
✎
17:05
|
(16) Логически верно, но использовать любой оператор сравнения, применительно к NULL, нельзя. Проверять можно исключительно "Есть Null"
|
|||
18
lubitelxml
22.05.20
✎
17:06
|
(17) именно так и есть
|
|||
19
mzelensky
22.05.20
✎
17:11
|
Еще один шедевр:
" В том случае, если оператор языка запросов ЕСТЬ NULL применяется к выражению, в котором используется комбинация нескольких виртуальных полей или комбинация виртуального поля и выражения, не содержащего виртуальных полей, то результатом работы функции будет значение ИСТИНА, если результат выражения равен NULL и ЛОЖЬ в противном случае. " Как будет выглядеть применение "ЕСТЬ NULL" к "комбинация виртуального поля и выражения, не содержащего виртуальных полей" ?! ЧТО ЭТО ЗНАЧИТ? |
|||
20
mistеr
22.05.20
✎
18:50
|
(19) Если так интересно, возьми консоль компоновки из ИР и проверь.
Заодно нам расскажешь. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |