§ 2.5. Запуск в Предприятии: видим то, что собрали
Открываем карточку — и не находим ни одного отличия. Те же поля, в том же порядке, те же кнопки. Первое чувство обманчиво: кажется, что работа пропала зря. На самом деле мы получили доказательство, ради которого стоило пройти весь путь.
1. Совпадение — это результат
Конструктор собрал форму из того же описания объекта, по которому платформа строит автоформу, и теми же правилами. Потому и результат тот же: будь карточка заметно другой, это значило бы, что где-то по дороге что-то потерялось или прибавилось.
| что увидели | что это значит |
|---|---|
| окно не изменилось | конструктор собрал ровно то же |
| поля в том же порядке | порядок берётся из дерева, а не из вкуса |
| кнопки те же | стандартные команды пришли от объекта |
Первая своя форма и должна выглядеть как автоформа. Отличия начнутся там, где мы их сделаем сами.
2. Что всё-таки изменилось
Изменилось не окно, а то, откуда оно берётся, — и из этого следуют два разных последствия. Одно приятное, другое нет.
было: объект ──► платформа строит ──► окно
стало: объект ──► наша форма ──► окно
(лежит в дереве)
Приятное: теперь окно можно менять. Убрать поле, собрать поля в группу, поменять заголовок — всё это стало возможным ровно в ту минуту, когда форма появилась в дереве.
Неприятное: окно больше не следует за объектом. Добавите справочнику реквизит — в карточке он сам не появится, потому что карточка теперь берётся из нашей формы. А список, своей формы не имеющий, платформа построит заново при следующем открытии, и новый реквизит там будет. Разница не между карточкой и списком: она между формой заданной и формой, которую строят каждый раз.
3. Как отличить назначенную форму от автоформы
Это вопрос читателя чужих конфигураций, и честный ответ неожиданный: глядя на одно окно — почти никак. Пока форму не трогали, она выглядит как автоформа, потому что ею и была.
| признак на экране | о чём говорит |
|---|---|
| поля идут не в порядке дерева | форму правил человек |
| поля собраны в группы или страницы | форму правил человек |
| есть кнопка, которой нет у соседей | форму правил человек |
| ничего необычного | не говорит ни о чём |
Последняя строка и есть главная. Отсутствие странностей не означает, что формы нет: она может быть и нетронутой. Точный ответ даёт строка основных форм объекта — там видно, какая форма открывается для каждого вида. Одна лишь ветка «Формы» не ответ: форма может в ней лежать и не быть назначенной ни на что.
На экране видно, что форму правили. Открывается ли она — видно в строке основных форм, и больше нигде.
4. Круг, который придётся пройти много раз
Путь правки до пользователя мы уже знаем: описание меняют в Конфигураторе, а работает пользователь с базой. Теперь он становится рабочим кругом, и ходить по нему предстоит столько раз, сколько будет правок.
редактор формы ──► обновить конфигурацию
базы данных ──► Предприятие
Пропускают в нём всегда одно и то же — средний шаг, и выглядит это одинаково: «я же поменял, а ничего не изменилось». Привыкать стоит сейчас, пока правки маленькие и проверять их легко.
5. В режиме Предприятия и обратно
Сделаем маленькую правку и проведём её до экрана — весь цикл целиком.
- Откройте карточку товара в Предприятии и запомните порядок полей.
-
Вернитесь в Конфигуратор, откройте нашу форму и поменяйте местами два поля в структуре элементов.
-
Обновите конфигурацию базы данных.
-
Откройте карточку снова: порядок изменился. Это первая правка формы, которая дошла до пользователя.
-
Откройте список товаров и убедитесь, что в нём ничего не менялось: он по-прежнему строится платформой.
Верните порядок полей обратно, когда посмотрите: дальше книга исходит из того, что форма осталась такой, какой её собрал конструктор.
Главное в одном абзаце
Назначенная форма открывается неотличимо от автоформы, и это не осечка, а доказательство: конструктор снял с объекта точный снимок. Изменилось не окно, а его источник — и отсюда два следствия: окно теперь можно менять, но оно больше не следует за объектом, так что новый реквизит в нём сам не появится. Отличить назначенную форму от автоформы по одному экрану почти невозможно: странности в раскладке говорят, что форму правили, но их отсутствие не говорит ни о чём — точный ответ даёт дерево. И у каждой правки формы один и тот же путь: редактор, обновление конфигурации базы данных, Предприятие; пропущенный средний шаг выглядит как «ничего не изменилось».
Свою форму мы собрали, назначили и научились править. Но чаще приходится не собирать, а читать — открывать чужую форму и понимать, что в ней происходит. С чего начинать такой разбор?
Контрольные вопросы
- Почему совпадение нашей формы с автоформой — правильный результат?
- Что изменилось после назначения, если окно осталось прежним?
- Какое следствие у того, что форма хранится, а не строится заново?
- Можно ли, глядя на окно, сказать, что у объекта есть своя форма?
- О чём говорит необычный порядок полей в чужой форме?
- Какой путь проходит правка формы до пользователя?
- Мы поменяли порядок полей в форме элемента. Что произойдёт со списком?
Упражнения
По образцу. Проведите весь цикл на «Контрагентах»: правка в редакторе, обновление конфигурации базы данных, проверка в Предприятии.
Своё: предскажите последствие. Справочнику «Товары» добавили реквизит «Вес». Опишите, что увидит пользователь в карточке товара и что — в списке. Объясните разницу.
Ловушка: «форма сломалась». Коллега говорит: «после того как я добавил реквизит, форма сломалась — поля нет». Что на самом деле произошло и что нужно сделать?
Обратный ход. В чужой конфигурации карточка справочника выглядит ровно так, как выглядела бы автоформа. Что из этого следует и как проверить наверняка?
На чтение. В одной конфигурации у справочника поля собраны в две группы, а у соседнего справочника идут подряд. Что можно сказать о каждой из двух форм?
Ответы — в конце части.