|
Занятная переписка с ИТС | ☑ | ||||||
---|---|---|---|---|---|---|---|---|
0
Zhuravlik
29.05.24
✎
14:01
|
Всем привет. Состоялся "интереснейший" диалог по поводу реализации метода в БСП. Интересно узнать мнение разрабов по этому поводу.
Суть проблемы - в файловой базе программно запускаю отчет по внедрению БСП. При этом есть подключенное активное расширение. Мне его не надо тестировать, просто оно есть. Отчет упорно запускается в фоне, и т.к. формирование программное - я фоновый запуск не хочу, и подредактировал параметры запуска метода отчета: ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(ИдентификаторФормы); ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Проверка внедрения БСП'"); ПараметрыВыполнения.БезРасширений = Истина; ПараметрыВыполнения.СРасширениямиБазыДанных = Ложь; ПараметрыВыполнения.ЗапуститьНеВФоне = Истина; // ... РезультатВыполнения = ДлительныеОперации.ВыполнитьФункциюВНесколькоПотоков(ИмяФункции, ПараметрыВыполнения, ПараметрыМетода); Он все-равно запускается в фоне. Базу с параметром "РежимОтладки" запускать смысла нет, т.к. если раскопать модуль длительных операций, то вызов уходит в ДлительныеОперации.ВыполнитьВФоне. А там такое условие: //.. ВыполнитьБезФоновогоЗадания = Не ПараметрыВыполнения.БезРасширений И Не ПараметрыВыполнения.СРасширениямиБазыДанных И (ОбщегоНазначения.РежимОтладки() Или ПараметрыВыполнения.ЗапуститьНеВФоне Или (ЕстьФоновыеЗаданияВФайловойИБ() И Не ПараметрыВыполнения.ЗапуститьВФоне) Или Не ВозможноВыполнитьВФоне(ИмяПроцедуры)); //.. Мое последнее сообщшение в поддержку было таким: ...Меня смутило условие: Не ПараметрыВыполнения.БезРасширений И Не ПараметрыВыполнения.СРасширениямиБазыДанных Не ПараметрыВыполнения.БезРасширений = с расширениями Не ПараметрыВыполнения.СРасширениямиБазыДанных = без расширений Т.е. получается что Истина ожидается если "с расширениями" и "без расширений". Вы тут ничего странного не видите? ... Ответ: ...чтобы ВыполнитьБезФоновогоЗадания было Истина, нужно чтобы ПараметрыВыполнения.БезРасширений было ЛОЖЬ и ПараметрыВыполнения.СРасширениямиБазыДанных было ЛОЖЬ, а не как вы пишите, чтобы это было ИСТИНА. При этом не важно есть режим отладки или нет, есть признак ЗапуститьНеВФоне или нет, т.к. БезРасширений и СРасширениямиБазыДанных имеют над ними приоритет в силу технических возможностей платформы. У меня что-то разрыв шаблона. Это я чего-то не понимаю, или все таки тупит поддержка? |
|||||||
1
Zhuravlik
29.05.24
✎
14:03
|
+ Версия БСП 3.1.9.238
|
|||||||
2
Garykom
29.05.24
✎
14:07
|
|
|||||||
3
Garykom
29.05.24
✎
14:29
|
wiki:Булева_алгебра
раскрытие скобок ВыполнитьБезФоновогоЗадания = Не ПараметрыВыполнения.БезРасширений И Не ПараметрыВыполнения.СРасширениямиБазыДанных И ...= ВыполнитьБезФоновогоЗадания = НЕ(ПараметрыВыполнения.БезРасширений ИЛИ ПараметрыВыполнения.СРасширениямиБазыДанных) И ... |
|||||||
4
PLUT
29.05.24
✎
14:11
|
(0) ну надо это просто принять как должное и "двигаться дальше в направлении намеченной цели"
"сол/фасол пишется с мягким знаком, а вилька/тарелька - без мягкого" я тоже искренне обескуражен был, что некоторые методы платформы не работают в жЫрном толстом режиме клиента. а уж как компоновку данных (СКД) корёжит в толстом.... |
|||||||
5
Lama12
29.05.24
✎
14:18
|
(0) Они тебя не поняли. По мне, так и оба утверждения верны. ☺ Но полагаю, что и мое утверждение имеет неоднозначное трактование.
|
|||||||
6
Garykom
29.05.24
✎
14:32
|
(4) пофиг на СКД в толстом
программные лицензии и проверку лицензионности конфы в толстом клиенте корежит в т.ч. для лицензии для разработчиков |
|||||||
7
Мультук
29.05.24
✎
14:32
|
(0)
Обратите внимание, что в документации описано поведение флагов ТОЛЬКО при ИСТИНА. А вот поведение флагов при ложь не описано. В данном случае ложь это что-то вроде "неопределено". А вы исходя из булевой логики, считаете что флаг при "ЛОЖЬ" делает обратное действие, но имхо по замыслу разработчиков флаг при "ЛОЖЬ" ничего не делает. P.S. Без понятия как и зачем так было сделано. Скорее всего "так исторически сложилось, переделывать не стали" |
|||||||
8
Zhuravlik
29.05.24
✎
15:08
|
(3) от перестановки слагаемых сумма не меняется..
(7) действительно, спасибо |
|||||||
9
Garykom
29.05.24
✎
15:20
|
(8)
от перестановки слагаемых сумма не меняется..
Не понял что не нравится Как в документации написано так и работает Почему так задачу поставили разработчикам - это вопрос другой Если не нравится - ну так сделай как тебе надо, обычно такое расширением правят Например для отладки внешних обработок там тоже идиотизм в типовых на БСП |
|||||||
10
bird
04.06.24
✎
21:35
|
(0)
> При этом есть подключенное активное расширение. Мне его не надо тестировать, просто оно есть. И отчету "Проверка внедрения БСП" не нужно его тестировать, поэтому он и запускается с признаком БезРасширений = Истина. > Отчет упорно запускается в фоне, и т.к. формирование программное - я фоновый запуск не хочу Если запустится не в фоне, то будет тестировать расширение, но выгружать в файлы только конфигурацию - итого у результата проверки может случиться "разрыв шаблона" Хочется не в фоне, но нужно в фоне запускать (с признаком БезРасширений = Истина), чтобы конфигурацию тестировал без влияния расширений, иначе можно получить ошибки каких нет или отсутствие ошибок, которые есть. Поддержка все правильно говорит |
|||||||
11
bird
04.06.24
✎
21:56
|
(7) Для сведения:
1. Флаги БезРасширений и СРасширениямиБазыДанных технологические (по умолчанию не используются). Они логически не имеют никакого отношения к операции, которая может быть выполнена, как прямо в сеансе, так и в фоне (как длительная операция), так их применение меняет состав метаданных, а такое изменение в текущем сеансе невозможно (метаданные постоянны от начала сеанса до его конца). 2. Поэтому говорить про "БезРасширений" в текущем сеансе или "СРасширениямиБазыДаннных" в текущем сеансе нет никакого смысла. Применение этих флагов возможно только для запуска нового сеанса, а значит: а) либо в фоне с помощью методов платформы: РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеБезРасширений РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных б) либо в новом сеансе (но для варианта, аналогичного "ВыполнитьФоновоеЗаданиеБезРасширений", перед запуском нового сеанса все расширения нужно отключить). Понятно, что вариант (а) программно проще применить, чем вариант (б). Поддержка все правильно говорит |
|||||||
12
breezee
05.06.24
✎
06:13
|
Зачем файловая?
|
|||||||
13
DJ Anthon
05.06.24
✎
06:37
|
не понимаю, какой смысл разговаривать с поддержкой, это ж как с кописпастой разговаривать. кинул им баг, поправили - хорошо, не поправили, ну и хсним. я думаю, что проблемы, решаемые изменением кода, перестали быть проблемами с момента изобретения расширений.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |