gifts2017

Универсальное тестирование конфигурации (обычные и управляемые формы и такси)

Опубликовал Максим Жохов (ZhokhovM) в раздел Администрирование - Тестирование и исправление

Вам нужно срочно подать заявку в отдел сертификации 1С-Совместимо? Не успеваете сдать на проверку в срок? Стараетесь с первой попытки...максимум со второй попытки пройти проверку? Приходится доплачивать в 1С деньги за непройденные попытки? Хотите быстрее оформить план передачи новой версии и отправить материалы в отдел совместных решений? Есть решение!

Данная обработка позволит Вам найти любые ошибки (от свойств объектов до имен методов) в любых конфигурациях, поддерживающих БСП. Если обнаруживается, что в правах доступа, бизнес-процессах, печатных формах, отчетах или формах допущены ошибки, обработка отобразит их в логе тестирования. Весь исходный код обработки открыт!

Примечание:

  • Если конфигурация "самописная", то некоторые функции проверки будут недоступны.

Важно:

  • Делайте резервную копию базы на всякий пожарный случай.

Что нового за текущий год:

  1. Добавлены объекты "Справочники", "Планы видов характеристик" и "Планы обмена" в закладке "Нумерация объектов".

  2. Добавлена проверка фоновых/регламентных заданий (пример, при запуске любого регламентного задания ошибка, пользователь пытается найти эту ошибку в журнале регистрации, но ошибки в ней не полные, да и копать времени нет)

  3. Добавлена проверка объектов конфигурации (ограничение в ролях) (пример, в шаблоне ограничений любой роли есть объект, который отсутствует в конфигурации)

  4. Исправлены некоторые ошибки для будущей версии БСП (закладка "Текущие дела пользователя (рабочий стол)").

  5. Добавлена проверка имен методов (функции/процедуры) (пример, в модуле имеется процедура "Процедура йцукен(Пи, ДополнительныеПараметры) Экспорт")

  6. Добавлены еще несколько проверок форм: "ФормаГруппы" и "ФормаВыбора" в закладке "Формы".

  7. Добавлена проверка сравнения ролей(пример, различаются значения прав по ролям)

  8. Доработана проверка объектов конфигурации (ограничение в ролях) (считывание файлов в формате XML и нахождение шаблонов Restriction (

    //Объекты - Права - Ограничения доступа к данным
    //<object> - <right> - <restrictionByCondition> - <condition>
    //Шаблоны ограничений
    //<restrictionTemplate> - <condition>

    )

  9. Возможность выяснить, какие функциональные опции нужно включить для конкретного регламентного задания, пример, для задания "Слияние индекса ППД" нужно включить опцию "Использовать полнотекстовый поиск" и т.д.

  10. Пропуск строки между объектами метаданных при выводе в лог-файл и прочие исправления

  11. Добавлена проверка прав на интерактивное удаление объектов, в том числе и предопределенных данных.

  12. Добавлена проверка неиспользуемых объектов (в свойстве "Синоним" у объекта, например, "ГМО_УдалитьСтранаПроизводитель", необходимо добавить "(не используется)" или "(не использовать)"). Запускается во всех режимах.

  13. Добавлена проверка лишних прав (было: старая закладка "Интерактивное удаление"; стало: новая закладка "Интерактивные и лишние права"). Запускается во всех режимах.

  14. Объединены закладки "Право доступа команд" и "Право доступа объектов" в закладку "Право на "Просмотр" объектов" (было: объекты и команды проверялись в отдельных логах; стало: объекты с командами проверяются в одном логе). См. скрин "LOG (Право на "Просмотр" объектов)".

  15. Упрощен вывод в лог битых ссылок (было: построение ТЗ битых ссылок - преобразование ТЗ в ДЗ битых ссылок - вывод в лог-файл из ДЗ; стало: построение ТЗ битых ссылок - вывод в лог-файл из ТЗ). См. скрин "LOG (Битые ссылки)".

  16. Пропуск строки между объектами метаданных при выводе в лог-файл(закладки "Помеченные на удаление объекты", "Бизнес-процессы", "Ввод на основании").

  17. Добавлена проверка пропусков в нумерации документов.

  18. Упорядочен список проверяемых объектов и упрощен вывод ошибок в лог в закладке "Сравнение ролей".

  19. Ввод объекта на основании документа только в том случае, если проведен документ.

В разработке/плане:

  • Пока нету.

Мои идеи/трудности:

  • Возможность развертывания типов в виде дерева

  • Разработка обычного приложения (отчеты, п/ф и т.д.)

  • Проверка расшифровки отчетов

  • Проверка неуникальных и некорретных номеров/кодов объектов

  • Проверка доп процедуры обработки данных, а так же при обновлении БД

  • Проверка повторяющихся печатей/вводов на основании во всех объектах("ФормаСоздатьНаОсновании", "ПодменюСоздатьНаОсновании", "<Command>Document.ИмяДокумента.StandardCommand.CreateBasedOn</Command>")

  • Проверка ролей и объектов с префиксом "Удалить" или "_Удалить", пример, если у роли Роль1 нет префикса "Удалить", а у объекта данного роля Объект1 есть префикс и нет других объектов

  • Проверка обмена с сайтом(выгрузка данных)

  • Проверка обмена с подключаемым оборудованием Offline(выгрузка данных)

  • Поиск битых ссылок в формах отчета/обработки (в некоторых полях остались битые ссылки)

  • При выгрузке конфигурации в файлы есть возможность искать элементы, не привязанные к реквизиту, пример, в элементе "ИспользоватьОтборы" не заполнены значения полей "Вид" и "Данные", где "Данные" в xml это <DataPath></DataPath>.<ChildItems> - Button - заполнено как <CommandName>0</CommandName>
    <ChildItems> - InputField, CheckBoxField - отсутствуют атрибуты <DataPath> и </DataPath>
    <ChildItems> - Table - ....

  • Проверка орфографий текста(объекты метаданных, имя процедуры/функции, элементы форм и справки) (будет дополнена обработкой http://infostart.ru/public/21645/)

  • Отсутствует команда "Изменить форму" через "Все действия" в формах списка некоторых объектов.

  • Невозможно вывести дополнительные реквизиты "от ссылки" в формах списка некоторых объектов.

  • Колонка "(не используется) ..." отображена в формах списка некоторых объектов.

Обработка умеет/позволяет:

  1. Проверять свойства объектов
    Обработка с данной проверкой выявляет незаполненные значения свойств у объектов (в объектах метаданных/в элементах управления). Очень помогает в требовании "1С: Совместимо", например, искать объекты, свойства которых совпадают со свойствами "Синонимы" и "Подсказки".

  2. Проверять ввод на основании
    Обработка с данной проверкой выявляет ошибки при вводе объектов на основании других объектов, например, ошибка при создании документоборота "Документооборот: Процесс" или "Документооборот: Письмо" на основании любого документа и т.д. т.п.

  3. Проверять формы
    Обработка с данной проверкой выявляет ошибки при открытии форм. Проверяет следующие виды форм: форма документа, форма элемента, форма группы, форма записи, форма выбора, форма группы и форма списка.

  4. Проверять отчеты
    Обработка с данной проверкой выявляет ошибки при формировании отчетов.

  5. Проверять печатные формы
    Обработка с данной проверкой выявляет ошибки при формировании любых печатных форм. Желательно указать минимальное количество проверяемых объектов, чем больше объектов, тем дольше они проверяются. Если проверка выполнялась в первый раз, можно смело ставить 0.

  6. Проверять справки
    Обработка с данной проверкой выявляет объекты, у которых отсутствует справочная информация. Очень помогает в требовании "1С: Совместимо".

  7. Проверять записи объектов
    Выбираем нужные флажки в списке записей объектов, далее выполнить проверку. В процессе тестирования проверяется наличие пометки на удаление объектов метаданных, заполнение для реквизитов, у которых при конфигурировании свойство "Проверка заполнения" установлено в значение "Показывать ошибку" и реквизит не заполнен, а так же перезапись/перепроведение/пометка на удаление/снятие пометки/отмена проведения объектов.

  8. Проверять записи регистров
    Выбираем нужные флажки в списке записей регистров, далее выполнить проверку. В процессе тестирования проверяется заполнение для реквизитов, у которых при конфигурировании свойство "Проверка заполнения" установлено в значение "Показывать ошибку" и реквизит не заполнен, а так же перезапись регистров.

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

  10. Проверять битые ссылки
    Обработка с данной проверкой выявляет ссылки, у которых вместо значения ссылочных данных в полях встречается "Объект не найден".

  11. Проверять табличные части
    Обработка с данной проверкой выявляет объекты, у которых не содержит табличная часть.

  12. Проверять права на "Просмотр" объектов
    Обработка с данной проверкой выявляет объекты/команды, которые доступны на "Просмотр" только полноправному пользователю и к которым нет доступа у полноправного пользователя. Допустим справочник "Настройка веб сервиса" доступен лишь пользователю с полными правами.

  13. Проверять нумерацию объектов
    Обработка с данной проверкой выявляет объекты, у которых ограничено количество в переприсвоении номеров, допустим, документ "Поступление товаров и услуг". На событие "ПриУстановкеНовогоНомера" могут подписаны разные подписки "УстановитьПрефиксБазыИОрганизацииНомеруДокумента", "УстановитьПрефиксБазыНомеруДокумента" и т.д. т.п. В результате, номер документа имеет вид: "ПП-ПППП-ННН". В итоге, более 999 документов оформить не представляется возможным.

  14. Проверять бизнес-процессы
    Обработка с данной проверкой выявляет объекты, у которых не выполнены задачи, допустим, бизнес-процесс "Задание". Этот бизнес-процесс стартовал ранее под каким-то пользователем и он не выполнил все необходимые условия завершения бизнес-процесса, например, не согласовал документ или не установил скидку по счету, или полностью отказался от выполнения бизнес-процесса, то данный метод позволяет найти невыполненные задачи по этому бизнес-процессу.

  15. Проверять последовательности проведения документов
    Обработка с данной проверкой выявляет объекты, у которых выявлены нарушения последовательности.

  16. Проверять помеченные на удаление объекты
    Обработка с данной проверкой выявляет объекты, помеченные на удаление.

  17. Проверять ссылки на объекты метаданных
    Обработка с данной проверкой выявляет объекты метаданных, имеющих ссылки на данный объект.

  18. Проверять пропущенные предопределенные элементы
    Обработка с данной проверкой выявляет наличие отсутствующих элементов(предопределенные элементы, которым не сопоставлены элементы ИБ).

  19. Проверять задублированные предопределенные элементы
    Обработка с данной проверкой выявляет наличие задублированных элементов(нескольких элементов ИБ, привязанных к одному предопределенному элементу).

  20. Проверять объекты конфигурации (текст запроса)
    Обработка с данной проверкой выявляет несуществующие объекты конфигурации, которые описаны, например, в тексте запроса: "ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Браки.СрезПоследних КАК". Обработка найдет, что регистр сведений "Браки" не существует в конфигурации.

  21. Проверять подключения печати
    Обработка с данной проверкой выявляет ошибки при подключении печати. Например, для документа "СписаниеИзЭксплуатации" не предусмотрено подключение внешней печатной формы. Обработка найдет, что в модуле менеджера отсутствует экспортируемая процедура "ДобавитьКомандыПечати(КомандыПечати)" для объектов, которые могут быть назначением для внешних обработок.

  22. Проверять планы обмена
    Выбираем нужные флажки в списке планов обмена, далее выполнить проверку. В процессе тестирования проверяется выгрузка данных через каталог/универсальный формат, а так же после выгрузки данных в файл.  При выгрузке данных возникает ошибки выполнения обработчика ПриОтправкеДанных и другие ошибки. Например, если открыть элементы этих объектов, дозаполнить их и сохранить, то при выгрузке уже сообщений об ошибках не будет. Вероятно, проблема в наполнении демобазы.

  23. Проверять текущие дела пользователя
    Обработка с данной проверкой выявляет корректность получения форм "Текущие дела". На рабочем столе есть форма "Текущие дела". Некоторые кнопки на ней не работают, например, при клике по кнопке "Распоряжения на оформление в работе" появляется ошибка: "Неизвестное имя формы. Имя: "ОбщаяФорма.СписокДокументовПродажи"".

  24. Проверять права доступа пользователей
    Обработка с данной проверкой выявляет право доступа всех пользователей. Ошибка при входе в базу под пользователем с ограниченными правами.

  25. Проверять отсутствующие комментарии
    Обработка с данной проверкой выявляет комментарии с неправильной расстановкой знаков (например, введенные вами комментарии "//МРО- начало" и "///МРО-конец").

  26. Проверять объекты подсистем
    Обработка с данной проверкой выявляет отсутствие принадлежности к подсистемам. Если объект нужно включить в подсистему, то делается это через конфигуратор. Для этого открываем состав объектов нужной подсистемы и убедимся, что подсистема включает в себя хотя бы один объект конфигурации.

  27. Проверять фоновые/регламентные задания
    Обработка с данной проверкой выявляет ошибки при выполнении любого регламентного задания, при этом текст ошибки выявляется на лету и причем имеется подробный текст ошибки, программисту больше не придется лезть в журнал регистрации и искать любые ошибки, связанные с этими заданиями).

  28. Проверять объекты конфигурации (ограничение в ролях)
    Обработка с данной проверкой выявляет роли, у которых отсутствуют объекты в текстах шаблона ограничений прав доступа RLS.

  29. Проверять имена методов (функции/процедуры)
    Используется метод НРег(), при этом выявляется все подстрочные символы в имени процедуры или функции(например, Процедура йцуйцуйцу(Параметр)).

  30. Проверять сравнения ролей
    Какие объекты присутствуют в новом поставщике по сравнению старым(например, при объединении ролей значения не меняются, значения отличаются ложь от истины). Обработка с данной проверкой выявляет местонахождение этих объектов с требованием изменить право в новом поставщике.

  31. Проверять неиспользуемые объекты
    Обработка с данной проверкой выявляет объекты, у которых не заполнено значение синонима "(не используется)" или "(не использовать)" в свойстве "Синоним" с отбором по объектам метаданных с именем префикса "Удалить"(в форме можно ввести префикс по желанию).

  32. Проверять отключенные опции регламентного задания
    Обработка с данной проверкой выявляет, какие функциональные опции отключены у любого регламентного задания.

  33. Проверять интерактивные и лишние права
    Ни в одной роли не должно быть установлено следующих прав: Право интерактивного удаления, Интерактивное удаление предопределенных данных, Интерактивная пометка удаления предопределенных данных, Интерактивное снятие пометки удаления предопределенных данных, Интерактивное удаление помеченных предопределенных данных. А так же неправильно настроены общие права работы с информационной базой. Другими словами, у каких-то ролей есть лишние права в корне конфигурации. Может подпортить жизнь при сертификации 1С-Совместимо наследуемых конфигураций!

  34. Проверять пропуски в нумерации
    Обработка с данной проверкой выявляет пропуски в нумерации, найденные в текущих документах.

P.S.

Здесь можно поддержать развитие публикации

InnocentЯндекс.Кошелек: 410012743280614Innocent

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ZhokhovM_UTC
.epf 125,90Kb
05.10.16
6
.epf 125,90Kb 6 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей Галюк (dj_serega) 23.06.15 17:26
В закладки добавлю но пока воздержусь.

А если БСП вообще не использовалось, отработает проверка?
2. Максим Жохов (ZhokhovM) 23.06.15 17:59
(1) dj_serega, да, отработает, все кроме выгрузки данных, текущих дел пользователя, печатных форм и т.д.
3. Андрей Карпов (karpik666) 24.06.15 04:33
Вы публикацию что ли удалили, вроде она у меня была в закладках?
4. Максим Жохов (ZhokhovM) 24.06.15 09:02
(3) karpik666, нет, не удалил, я ее в черновик поместил, потом удалю ее.
5. Maximilian Alekseevich (1cmax) 24.06.15 21:37
6. Maxim Kolkin (the1) 24.06.15 22:40
Функционал выглядит внушительно, плюсую. А картинка да, супер
7. Максим Жохов (ZhokhovM) 26.06.15 19:18
(5) 1cmax, (6) the1, спасибо за ваши отзывы!
8. Максим Жохов (ZhokhovM) 01.07.15 17:56
В обработке снята защита и пароль. Скачивайте и смотрите код из модуля объекта.
9. Максим Жохов (ZhokhovM) 25.07.15 12:30
Вышло новое обновление:
  • Добавлены несколько проверок.
  • Исправлены выявленные ошибки.
10. Максим Жохов (ZhokhovM) 12.10.15 14:30
Вышло еще обновление. Какие изменения внесены, смотрите выше!
11. Максим Жохов (ZhokhovM) 01.03.16 17:27
01.03.2016 вышло обновление:
  • Добавлены несколько проверок.
  • Исправлены выявленные ошибки.
Касательно других конфигураций, тестируйте, пробуйте, отписывайтесь о результатах!
Спасибо.
12. Cthutq Иванов (ewqewqewq) 01.03.16 18:26
13. Максим Жохов (ZhokhovM) 02.03.16 00:12
(12) ewqewqewq, какая публикация? Поясни
14. Максим Жохов (ZhokhovM) 03.03.16 10:06
03.03.2016:
Добавлены несколько проверок форм(ФормаГруппы и ФормаВыбора). Данная проверка выявляет ошибки моментально.
15. Максим Жохов (ZhokhovM) 29.03.16 14:42
29.03.2016:
Добавлена проверка сравнения ролей. В данной проверке нужно указать 2 каталога(типовая конфигурация и доработанная конфигурация на поддержке типовой). Пример был взят отсюда: Обработка для сравнения-объединения ролей
16. Андрей Карпов (karpik666) 29.03.16 16:21
(15) ZhokhovM, эх не хватает видео инструкции, пример использования такого чуда.
17. Максим Жохов (ZhokhovM) 29.03.16 17:49
18. Андрей Карпов (karpik666) 29.03.16 18:47
(17) ZhokhovM, было бы прикольно, делал в snagit видео, а затем в фотошопе обрабатывал в gif.
19. Максим Жохов (ZhokhovM) 15.04.16 12:12
15.04.2016:
Доработана проверка объектов конфигурации (ограничение в ролях):
  • считывание файла в формате XML вместо TXT
  • нахождение шаблонов Restriction и выявление ошибок "на лету"
  • Временно снижена sm.
Успейте скачать!
20. Максим Жохов (ZhokhovM) 20.05.16 15:03
20.05.2016:
Добавлены 2 новые проверки и много других исправлений и улучшений:
  • проверка неиспользуемых объектов
  • проверка отключенных опций регламентного задания
  • пропуск строки между объектами метаданных при выводе в лог-файл
  • прочие исправления
21. Максим Жохов (ZhokhovM) 16.06.16 12:32
16.06.2016:
Добавлена новая проверка и много других изменений:
  • проверка прав на интерактивное удаление объектов и предопределенных данных
  • прочие исправления
Пробуйте!
22. Максим Жохов (ZhokhovM) 24.06.16 17:45
24.06.2016:
Улучшены следующие проверки:
  • Проверка форм. Список проверяемых форм расширен. Проверяет конкретные виды форм (см. "Описание").
  • Проверка прав на интерактивное удаление. В требовании к конфигурациям, разработанным в среде "1С:Предприятие 8.3" ни в одной роли не должно быть установлено интерактивных прав (см. "Описание").
23. Максим Жохов (ZhokhovM) 18.07.16 15:24
18.07.2016:
Улучшены и добавлены следующие проверки:
  • Проверка неиспользуемых объектов. Запускается во всех режимах.
  • Проверка интерактивных и лишних прав. Неправильно настроены общие права работы с информационной базой (см. "Описание"). Запускается во всех режимах.
24. pallid *** (white_sochi) 26.07.16 23:01
{ВнешняяОбработка.ZhokhovM_UniversalTestingConfiguration.Форма.ФормаУправляемая.Форма(541)}: Ошибка при вызове метода контекста (Выбрать)
Если л_Диалог.Выбрать() Тогда
по причине:
Использование синхронных методов на клиенте запрещено!

8.3.8.1784
25. Максим Жохов (ZhokhovM) 27.07.16 10:22
26. Алексей Ко (Жолтокнижниг) 27.07.16 19:51
(0) На вид мощно, надо пощупать
27. Максим Жохов (ZhokhovM) 29.07.16 09:31
(26) Жолтокнижниг, спасибо, и как ощущения?
28. Максим Жохов (ZhokhovM) 07.09.16 15:25
07.09.2016:
Упрощены следующие проверки:
  • Объединены закладки "Право доступа команд" и "Право доступа объектов" в одну закладку "Право на "Просмотр" объектов". Запускается во всех режимах.
29. Максим Жохов (ZhokhovM) 15.09.16 12:52
15.09.2016:
Упрощены следующие проверки:
  • пропуск строки между объектами метаданных при выводе в лог-файл (закладки "Право на "Просмотр" объектов" и "Битые ссылки")
  • прочие исправления(не все типы ссылок было в проверке битых ссылок в обычном приложении)
  • временно снижена стартмань
30. Максим Жохов (ZhokhovM) 22.09.16 15:46
22.09.2016:
Что изменилось:
  • пропуск строки между объектами метаданных при выводе в лог-файл (закладки "Помеченные на удаление объекты", "Бизнес-процессы", "Ввод на основании")
  • временно снижена стартмань
31. Максим Жохов (ZhokhovM) 27.09.16 16:31
27.09.2016:
Что изменилось:
  • добавлена проверка пропуска в нумерации документов. См. скрин "LOG (Пропуски в нумерации)".
  • временно снижена стартмань вплоть до 4 sm до следующего месяца
  • прочие исправления
32. Алина Раджабова (alinarad) 04.10.16 10:19
В обычном приложении не работает, ругается на "Схему запроса". Что я не так делаю?
33. Максим Жохов (ZhokhovM) 04.10.16 11:23
(32) alinarad, при открытии внешней обработки вылезает эта ошибка? Или какой проверкой пользуетесь? Если конфигурации на БСП, то ошибок не должно быть вообще.
34. Алина Раджабова (alinarad) 05.10.16 02:25
(33) ZhokhovM, При открытии обработки вылезает ошибка. Тип данных "Схема запроса" появился в 8.3.5", поэтому в 8.2 не открывается.
Прикрепленные файлы:
35. Максим Жохов (ZhokhovM) 05.10.16 09:52
(34) alinarad, исправил и выложил кодом "Вычислить":
п_СхемаЗапроса = Вычислить("Новый СхемаЗапроса");
36. Максим Жохов (ZhokhovM) 19.10.16 10:36
19.10.2016:
Что изменилось:
  • Упорядочен список проверяемых объектов и упрощен вывод ошибок в лог в закладке "Сравнение ролей".
  • Ввод объекта на основании документа только в том случае, если проведен документ.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа