То ли мой природный перфекционизм, то ли ещё что то не дало мне пройти мимо одного сообщения в группе по подготовке к экзамену на 1С Специалиста, где при создании связи между справочником и пользователями Информационной базы предлагалось искать элемент справочника по наименованию.
Т.е. вместо кода, который описан в статье выше:
- ФизЛицо = Справочники.ФизическиеЛица.НайтиПоКоду(ТекущийПользователь);
Предлагается использование:
- ФизЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(ТекущийПользователь, Истина);
Да, на экзамене, скорее всего и тот и другой код примут без проблем и обращать на него внимания не будут, но обучаясь программированию (неважно на каком языке программирования) нужно помнить одно:
Если необходимо получить только одну запись из базы данных, то искать всегда нужно только по полям, где система сама контролирует уникальность значений. Иначе получится ситуация, что поиск необходимой записи будет неверен, когда по каким то причинам появится 2 и более записей с одинаково заполненным полем, и в данном случае — это наименование.
И, кстати не зря разработчики Каркасной конфигурации для решения задач экзамена 1С Специалист по Платформе 8.3 сделали так, что наименование и код элемента справочника Физические лица одинаковые. Сделано это для того, что бы сдающему было проще связать справочник Физических лиц и пользователей Информационной базы.
