Обработка 1С собралась, но форма падает: что проверить
Иван Недомолков · Dərc edilib:
Успешная сборка внешней обработки подтверждает далеко не все сценарии её формы. Ошибка может возникнуть при первом нажатии кнопки, при отмене диалога или после загрузки пустого файла. Такие ветки нужно выполнять в той последовательности, которая доступна пользователю.
Начните с пустого состояния
Откройте обработку в новом сеансе и нажмите доступные команды до выбора файла и заполнения настроек. Если команда требует подготовленных данных, форма должна либо не давать её запустить, либо объяснять, что заполнить. Путь, флаг готовности или результат предыдущего шага не должны существовать только по предположению автора.
Проверьте начальные значения модульных переменных. В частности, условие с ещё не заполненным значением может упасть во время выполнения, хотя текст модуля проходит проверку. Затем повторите сценарий после отмены подготовки: отменённая операция не должна оставлять состояние “готово”.
Проверьте имена в контексте формы
Имя, удобное для собственной переменной, может совпасть со свойством управляемой формы. Например, попытка присвоить новое значение свойству Параметры приводит к ошибке доступа на запись. Давайте своим структурам имена по назначению и проверяйте свойства объекта формы в синтакс-помощнике своей платформы.
Текстовый поиск присваиваний помогает отобрать подозрительные места, но не заменяет выполнение. Правило должно учитывать контекст: одинаковое слово в другом модуле или строковом литерале не обязательно является дефектом.
Сверьте описание формы с загруженными элементами
При сборке из исходников наличие элемента в XML не гарантирует, что он появился в итоговой форме. Проверьте точность имён и допустимую структуру описания, затем откройте собранный файл и выполните команду, обращающуюся к элементу.
Если возникает “Поле объекта не обнаружено”, установите, отсутствует ли элемент вообще или код обращается к нему раньше нужного этапа. Исправление только текста обращения без проверки собранного артефакта может скрыть причину и оставить другую неработающую команду.
Выполните клиентские ветки
Автоматический прогон серверного расчёта ничего не говорит об открытии сохранённого файла на клиенте. Проверьте завершение расчёта, сохранение, отмену выбора каталога и повторный запуск. Отдельно проверьте сообщение об ошибке, если файл занят или путь недоступен.
Для обработки, формирующей XLSX, используйте проверку готовой книги и запуска по расписанию. Открытие файла пользователем и создание файла на сервере проверяются разными сценариями.
Составьте короткую таблицу приёмки
Для каждой видимой команды запишите исходное состояние, действие и ожидаемый результат. Начните с основного сценария, затем добавьте пустые данные и отмену. Не нужно проверять все сочетания полей перебором, если они не влияют на поведение. Нужны те ветки, где меняется состояние или выполняется внешнее действие.
Результат прогоняйте на том собранном файле, который передаётся пользователю, с зафиксированной версией платформы. Разбор исходников с помощью анализатора кода 1С дополняет приёмку, но не подтверждает работоспособность формы. Для заказной разработки обработки таблица сценариев должна входить в передачу вместе с файлом.