§ 2.5. Запуск в Предприятии: видим то, что собрали

Открываем карточку — и не находим ни одного отличия. Те же поля, в том же порядке, те же кнопки. Первое чувство обманчиво: кажется, что работа пропала зря. На самом деле мы получили доказательство, ради которого стоило пройти весь путь.

1. Совпадение — это результат

Конструктор собрал форму из того же описания объекта, по которому платформа строит автоформу, и теми же правилами. Потому и результат тот же: будь карточка заметно другой, это значило бы, что где-то по дороге что-то потерялось или прибавилось.

что увиделичто это значит
окно не изменилоськонструктор собрал ровно то же
поля в том же порядкепорядок берётся из дерева, а не из вкуса
кнопки те жестандартные команды пришли от объекта

Первая своя форма и должна выглядеть как автоформа. Отличия начнутся там, где мы их сделаем сами.

2. Что всё-таки изменилось

Изменилось не окно, а то, откуда оно берётся, — и из этого следуют два разных последствия. Одно приятное, другое нет.

было:  объект ──► платформа строит ──► окно
стало: объект ──► наша форма       ──► окно
                  (лежит в дереве)

Приятное: теперь окно можно менять. Убрать поле, собрать поля в группу, поменять заголовок — всё это стало возможным ровно в ту минуту, когда форма появилась в дереве.

Неприятное: окно больше не следует за объектом. Добавите справочнику реквизит — в карточке он сам не появится, потому что карточка теперь берётся из нашей формы. А список, своей формы не имеющий, платформа построит заново при следующем открытии, и новый реквизит там будет. Разница не между карточкой и списком: она между формой заданной и формой, которую строят каждый раз.

3. Как отличить назначенную форму от автоформы

Это вопрос читателя чужих конфигураций, и честный ответ неожиданный: глядя на одно окно — почти никак. Пока форму не трогали, она выглядит как автоформа, потому что ею и была.

признак на экранео чём говорит
поля идут не в порядке дереваформу правил человек
поля собраны в группы или страницыформу правил человек
есть кнопка, которой нет у соседейформу правил человек
ничего необычногоне говорит ни о чём

Последняя строка и есть главная. Отсутствие странностей не означает, что формы нет: она может быть и нетронутой. Точный ответ даёт строка основных форм объекта — там видно, какая форма открывается для каждого вида. Одна лишь ветка «Формы» не ответ: форма может в ней лежать и не быть назначенной ни на что.

На экране видно, что форму правили. Открывается ли она — видно в строке основных форм, и больше нигде.

4. Круг, который придётся пройти много раз

Путь правки до пользователя мы уже знаем: описание меняют в Конфигураторе, а работает пользователь с базой. Теперь он становится рабочим кругом, и ходить по нему предстоит столько раз, сколько будет правок.

редактор формы ──► обновить конфигурацию
                   базы данных ──► Предприятие

Пропускают в нём всегда одно и то же — средний шаг, и выглядит это одинаково: «я же поменял, а ничего не изменилось». Привыкать стоит сейчас, пока правки маленькие и проверять их легко.

5. В режиме Предприятия и обратно

Сделаем маленькую правку и проведём её до экрана — весь цикл целиком.

  1. Откройте карточку товара в Предприятии и запомните порядок полей.
Здесь будет снимок экранакарточка товара в Предприятии, открытая назначенной формой
  1. Вернитесь в Конфигуратор, откройте нашу форму и поменяйте местами два поля в структуре элементов.

  2. Обновите конфигурацию базы данных.

  3. Откройте карточку снова: порядок изменился. Это первая правка формы, которая дошла до пользователя.

  4. Откройте список товаров и убедитесь, что в нём ничего не менялось: он по-прежнему строится платформой.

Верните порядок полей обратно, когда посмотрите: дальше книга исходит из того, что форма осталась такой, какой её собрал конструктор.

Главное в одном абзаце

Назначенная форма открывается неотличимо от автоформы, и это не осечка, а доказательство: конструктор снял с объекта точный снимок. Изменилось не окно, а его источник — и отсюда два следствия: окно теперь можно менять, но оно больше не следует за объектом, так что новый реквизит в нём сам не появится. Отличить назначенную форму от автоформы по одному экрану почти невозможно: странности в раскладке говорят, что форму правили, но их отсутствие не говорит ни о чём — точный ответ даёт дерево. И у каждой правки формы один и тот же путь: редактор, обновление конфигурации базы данных, Предприятие; пропущенный средний шаг выглядит как «ничего не изменилось».


Свою форму мы собрали, назначили и научились править. Но чаще приходится не собирать, а читать — открывать чужую форму и понимать, что в ней происходит. С чего начинать такой разбор?

Контрольные вопросы

  1. Почему совпадение нашей формы с автоформой — правильный результат?
  2. Что изменилось после назначения, если окно осталось прежним?
  3. Какое следствие у того, что форма хранится, а не строится заново?
  4. Можно ли, глядя на окно, сказать, что у объекта есть своя форма?
  5. О чём говорит необычный порядок полей в чужой форме?
  6. Какой путь проходит правка формы до пользователя?
  7. Мы поменяли порядок полей в форме элемента. Что произойдёт со списком?

Упражнения

По образцу. Проведите весь цикл на «Контрагентах»: правка в редакторе, обновление конфигурации базы данных, проверка в Предприятии.

Своё: предскажите последствие. Справочнику «Товары» добавили реквизит «Вес». Опишите, что увидит пользователь в карточке товара и что — в списке. Объясните разницу.

Ловушка: «форма сломалась». Коллега говорит: «после того как я добавил реквизит, форма сломалась — поля нет». Что на самом деле произошло и что нужно сделать?

Обратный ход. В чужой конфигурации карточка справочника выглядит ровно так, как выглядела бы автоформа. Что из этого следует и как проверить наверняка?

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

Ответы — в конце части.