Skip to content

Функция запуска проверки конфигурации #137

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

Golovanoff
Copy link

Имена проверок сделал такие же, как их видно в конфигураторе при ручном запуске, но без пробелов и скобочек.
Работает аналогично процедуре ВыполнитьСинтаксическийКонтроль, но можно указать все доступные ключи проверки конфигурации.

Пример вызова проверки:

Конфигуратор = Новый УправлениеКонфигуратором;
Конфигуратор.УстановитьКонтекст(СтрокаСоединения, Пользователь, Пароль);

Проверки = Новый Массив();
Проверки.Добавить("Сервер");
Проверки.Добавить("ТолстыйКлиентОбычноеПриложение");
Проверки.Добавить("ПроверкаСуществованияНазначенныхОбработчиков");
Проверки.Добавить("ПоискПустыхОбработчиков");
Проверки.Добавить("РасширеннаяПроверка");

Конфигуратор.ПроверкаКонфигурации(Проверки);

ДопустимыеКлючи.Вставить("ПоискИспользованияМодальности", "-CheckUseModality");
ДопустимыеКлючи.Вставить("ПоискИспользованияСинхронныхВызовов", "-CheckUseSynchronousCalls");
ДопустимыеКлючи.Вставить("ПоискНеподдерживаемойФункциональности", "-UnsupportedFunctional");
ДопустимыеКлючи.Вставить("ВыполнитьЗаданныеПроверкиДляВсехРасширений", "-AllExtensions");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может покороче назвать как-то? ПроверкаВсехРасширений/ПроверкаРасширений?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

можно наделать в соответствии сколько угодно записей. я добавил так, как это в конфигураторе у меня называется.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну а зачем нам неиспользуемые ключи и синонимы?

@@ -1459,6 +1459,50 @@

КонецПроцедуры

Функция ПроверкаКонфигурации(Проверки, ИмяРасширения = "") Экспорт
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Мне кажется, было бы удобнее, чтобы пользователь метода не запоминал все возможные настройки и получал приемлемый результат. Например, есть какой-то метод, который возвращает предзаполненные "Проверки" наиболее употребимым составом проверок.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ну а какие предзаполненные? у меня, например, тослтый клиент, у меня свои предзаполненные. у остальных - тонкие клиенты и там свои. ну и есть же старая ВыполнитьСинтаксическийКонтроль, там как раз предзаполненность для всех.

да и мы же не для пользователей пишем, а для суровых бородатых прогеров.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

можно, наверное, при пустом массиве ставить проверки такие же, как в конфигураторе по умолчанию ставятся - проверку лог. целостности, поиск некорректных ссылок, тонкий клиент, сервер и расширенную проверку.
но это будет долгая проверка - у меня при установленной расширенной проверке джоба работает около часа.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

я также хотел предложить, чтобы был публичный метод, возвращающий соответствие с возможными ключами

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

исправлено. @EvilBeaver закрываем обсуждение?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Как именно исправлено? где?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Как именно исправлено? где?

@EvilBeaver исправлено в c268631

Copy link
Member

@artbear artbear left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

еще немного замечаний

Возврат Истина;
КонецФункции

Функция КлючиПроверкиКонфигурации() Экспорт
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

а где описание публичной функции? )

КлючПроверки = ДопустимыеКлючи.Получить(СокрЛП(Проверка));

Если КлючПроверки <> Неопределено Тогда
КлючЗапуска = ?(НРег(КлючПроверки) = "-extension", СтрШаблон("%1 %2", КлючПроверки, ИмяРасширения), КлючПроверки);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сонара на тебя нет )
тернарные операторы не юзаем.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2.1 регистр важен ИМХО

1С-ка в каких-то версиях ругалась, если ключ в другом регистре.
могли и исправить, конечно.

2 предлагаю явно написать СтрШаблон("-Extension %1", ИмяРасширения)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Артур, чего это мы ?() вдруг не юзаем? Вложенные - да, а тут обычный

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

сонар бсл и на обычный тернарник ругается. и я с ним согласен, код гораздо менее читабелен.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Запрет тернарника по умолчанию выключен.

@@ -1459,6 +1459,102 @@

КонецПроцедуры

Функция ПроверкаКонфигурации(Проверки, ИмяРасширения = "") Экспорт
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

нет описания публичной функции

@EvilBeaver EvilBeaver merged commit 3e5e1fc into oscript-library:master Feb 22, 2022
@artbear
Copy link
Member

artbear commented Mar 6, 2022

Эх, ну почему в мастер-то?? теперь девелоп отстал от мастера (

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants