5. Технология разработки
#46

Готовишься к экзамену?

Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.

Перейти в бота

В конфигураторе 1С есть команды «Глобальный поиск» и «Глобальная замена». Помимо того, что в режиме поиска недоступны поля/кнопки замены, чем ещё отличается «Глобальная замена» от «Глобального поиска» (если смотреть на доступные области, где можно искать/менять текст)?

В режиме глобальной замены нельзя выполнять операции по конфигурации базы данных.
Неправильно: это верное ограничение, но оно описывает лишь часть различий. Помимо конфигурации базы данных, в глобальной замене также недоступны области расширений, сохранённых в базе данных.
В режиме глобальной замены нельзя выполнять операции по расширениям конфигурации, которые сохранены в базе данных.
Неправильно: ограничение верное, но неполное. В глобальной замене также нельзя работать с конфигурацией базы данных (основной конфигурацией базы).
В режиме глобальной замены нельзя работать с внешними файлами (например, .epf/.erf/.cf/.cfe и т.п.).
Неправильно: внешние файлы могут участвовать в поиске и в операциях замены, если они выбраны как область поиска (например, файлы каталога или открытые файлы). Ограничения «только из-за режима замены» на внешние файлы не являются общим правилом.
Верно, что в глобальной замене недоступны: конфигурация базы данных и расширения конфигурации, сохранённые в базе данных.
Правильно: в отличие от глобального поиска, режим глобальной замены не позволяет выбирать для обработки конфигурацию базы данных и конфигурации расширений, сохранённые в базе данных; это ключевые ограничения по областям поиска/замены, кроме отключённых реквизитов замены в режиме поиска.
Верно, что в глобальной замене недоступны: расширения, сохранённые в базе данных, и внешние файлы.
Неправильно: расширения, сохранённые в базе данных, действительно недоступны для глобальной замены, но внешние файлы могут участвовать в поиске/замене, если их явно выбрать как область.
Верны все утверждения: в глобальной замене нельзя работать ни с конфигурацией базы данных, ни с расширениями, сохранёнными в базе данных, ни с внешними файлами.
Неправильно: первые два ограничения относятся к глобальной замене, но запрет на внешние файлы как общее правило неверен - их можно использовать как область поиска/замены.

Пояснение

Как запомнить разницу и применить это на практике (в том числе при разборе автозаполнения «Ведомости в кассу») 1) Где реальная «фишка» отличий «Глобальный поиск» и «Глобальная замена» открывают похожее окно, но у глобальной замены есть важные ограничения по областям: - нельзя выполнять операции по конфигурации базы данных; - нельзя выполнять операции по конфигурациям расширений, сохранённых в базе данных. То есть глобальная замена работает по редактируемым источникам (основная конфигурация и открытые расширения), а снимки «конфигурации базы данных» и «расширений в базе данных» в режиме замены не используются. 2) Внешние файлы - почему это не ключевое отличие Внешние файлы можно подключать как область поиска (и при необходимости менять текст), если вы явно выбираете каталог/набор файлов или работаете с открытыми файлами. Поэтому «внешние файлы недоступны в глобальной замене» - плохая универсальная формулировка. 3) Практика для разработки: когда что выбирать - Если нужно просто найти все упоминания (например, строки, процедуры, имена реквизитов) - используйте глобальный поиск, потому что он шире по областям и помогает увидеть совпадения даже в конфигурации базы данных. - Если нужно безопасно и массово переименовать/подправить текст в исходниках - используйте глобальную замену, но помните про ограничения: она не пойдёт по конфигурации базы данных и по сохранённым в базе расширениям. 4) Пример, связанный с «Ведомостью в кассу» Когда «Ведомость в кассу» не заполняется по кнопке «Заполнить» после доработок, разработчик обычно делает так: - Глобальным поиском находит обработчики заполнения, команды формы, условия отбора сотрудников/начислений (по ключевым словам и именам объектов), чтобы понять, где формируется список к выплате. - Если нужно заменить устаревшее имя реквизита или параметра в модулях/формах, применяет глобальную замену (по исходной конфигурации/открытому расширению), но не ожидает, что замена «пройдёт» по конфигурации базы данных. 5) Лучшие практики проверки автозаполнения «Ведомости в кассу» (контекст) Если пользователи жалуются на пустую ведомость или «не все попали», чаще всего проверяют: - есть ли начисления за нужный период (если нет начислений - ведомость нечем заполнить); - соответствует ли способ выплаты сотрудника типу ведомости (касса/банк); - правильно ли выбран вид выплаты и месяц (период) в ведомости; - нет ли у сотрудника условий, из-за которых он исключается из заполнения (например, нет суммы к выплате, есть удержания/задолженность и т.п., в зависимости от настроек). Итог: правильная комбинация отличий по областям - «нельзя конфигурацию базы данных» и «нельзя расширения, сохранённые в базе данных», поэтому выбирается вариант 4.