Реквизиты в расширении и изменение формы.

1. Rois 22.05.18 00:51 Сейчас в теме
Кто работал (добавлял) реквизиты формы или объекта? Или же изменял форму? Я так понимаю, с формой возиться смысла нет, тк при обновлении всё равно лезть туда придётся - обновлять расширение формы и всё добавлять снова. Т.е при добавлении реквизитов или добавлении новых полей формы - отображать это лучше программно. Может, я неправильно понял принцип, если не сложно, поясните?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. noprogrammer 237 22.05.18 07:04 Сейчас в теме
(1) Реквизиты объекта (по крайней мере на текущий момент 8.3.12) лучше вообще не добавлять (мало того, что отключить такое расширение будет проблематично так еще и удалить невозможно). Если нужны свои реквизиты объекта то лучше реализовать это через регистр сведений (а учитывая, что хотите програмно рисовать их на форме то лучше вообще использовать механизм доп.реквизитов). Все зависит от решаемой Вами задачи.
3. Rois 22.05.18 08:54 Сейчас в теме
(2) Ну программно на форме - это только потому, что форма всё равно автоматом не обновится при последующих обновлениях. А с реквизитами конечно печально. Регистр сведений, доп реквизиты.. хотелось упростить задачу, а не усложнять, видимо, пока лучше по старинке.
8. x2z7yy 22.05.18 14:57 Сейчас в теме
(2)
мало того, что отключить такое расширение будет проблематично так еще и удалить невозможно


А что, там все так печально сейчас? Расширения же еще с бородатых 8.3.6 (а может и раньше) платформ ввели
4. VmvLer 22.05.18 09:28 Сейчас в теме
в расширении относительно формы есть кнопочка "обновить расширение формы", которая "приводит" форму к актуальному виду типовой, сохраняя ваши доработки формы, если они не противоречат логике расположения элементов формы. Свои группы и элементы лучше именовать с префиксом расширения.

Иными словами - это умная кнопка и все сделает по уму, если вы тоже поступили с формой разумно.
5. Rois 22.05.18 10:28 Сейчас в теме
(4) Про логику формы если можно расскажите, не в курсе. Про "обновить расширение формы" я в курсе, но если к примеру я разместил 20 групп и 10 элементов на форме как мне угодно, что будет при обновлении? Они то не потеряются полностью, это и понятно (ещё бы), но надо ли мне будет заново их размещать? Насколько я понимаю - да.
6. VmvLer 22.05.18 10:35 Сейчас в теме
С ИТС

В режиме 1С:Предприятие происходит формирование результирующего объекта объединением расширяемого и всех расширяющих объектов. Процесс объединения работает следующим образом:

1. Выполняется объединение расширяемой конфигурации и первого (по порядку регистрации) расширения.

2. Объединение повторяется для каждого следующего зарегистрированного расширения, при этом в качестве расширяемой конфигурации выступает результат предыдущего объединения. С точки зрения каждого следующего объединения, результат предыдущего объединения будет считаться расширяемым объектом.

В процессе объединения каждой компоненты (элемент, реквизит, параметр или команда) управляемой формы анализируются изменения в расширяемой и расширяющей формах относительно сохраненной. По результатам анализа принимается решение, какая компонента будет отображаться в результирующей форме:

1. Если изменений нет ‑ компонента берется из расширяемого объекта;

2. Если изменение есть только в расширяемой форме ‑ компонента берется из расширяемой формы;

3. Если изменение есть только в расширяющей форме ‑ компонента берется из расширяющей формы;

4. Если изменение есть и в расширяемой форме и в расширяющих формах ‑ компонента берется из расширяющей формы.

Сопоставление компонентов управляемой формы выполняется по имени соответствующего элемента.

Вышеописанный режим не действует:

1. Для условного оформления. В этом случае происходит объединение элементов условного оформления из расширяемой формы и всех расширяющих форм аналогично тому, как это происходит при объединении конфигураций.

2. Командный интерфейс результирующий формы формируется путем добавления элементов командного интерфейса из расширяющей формы к командному интерфейсу расширяемой формы. При этом возможна ситуация, когда на форме будут несколько команд с одинаковым представлением, т. к. они образованы командами из разных расширений, но с одинаковым представлением.

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

● Элементы формы, добавленные в начало списка (не важно, в расширении или в расширяемой конфигурации), останутся в начале списка независимо от изменения порядка остальных элементов. Сначала будут идти элементы формы из расширений (в порядке следования), а потом из расширяемой конфигурации.

● Элементы формы, добавленные в конец списка (не важно, в расширении или в расширяемой конфигурации), останутся в конце списка независимо от изменения порядка остальных элементов. Сначала будут идти элементы формы из расширяемой конфигурации, потом из расширений (в порядке следования).

● Также существует возможность располагать рядом с элементом расширяемой формы другие элементы формы. Для этого следует создать в расширении группу, в которую поместить элемент расширяемой формы, и те элементы, которые необходимо рядом. Тогда при смене местоположения оригинального элемента в расширяемой форме, в результирующей форме на новом месте окажется и вся группа, в которую был помещен этот элемент.

Если без конфликтов порядок определить нельзя, используется следующий алгоритм:

● Исходным выступает список элементов расширения в порядке, который установлен в расширении.

● Для определения положения элемента, добавленного в основной конфигурации, находится элемент, существующий в сохраненной конфигурации и расположенный перед добавленным элементом (в порядке основной конфигурации):

● В соответствии с порядком элементов в расширении, определяется, какой элемент является следующим ‑ существовавший или добавленный в расширении:

● Если существовавший, то элемент основной конфигурации добавляется после найденного элемента.

● Если элемент или элементы, добавленные в расширении, то элемент основной конфигурации добавляется после них.

● Если в основной конфигурации было добавлено несколько элементов, то последующие элементы добавляются после предшествующих добавленных, даже если предшествующие уже были добавлены расширением.

● Если элемент, после которого элементы были добавлены, не найден в расширении (например, удален), то ищется предыдущий существующий в порядке основной конфигурации. Если при поиске достигнуто начало списка элементов, то новый элемент (или группа новых элементов) добавляется в начало результирующего списка, но после новых элементов расширения добавленных в начало списка.

● Новые элементы основной конфигурации, добавленные в начало списка, добавляются сразу после новых элементов расширения, добавленных в начало списка.

● Новые элементы основной конфигурации, добавленные в конец списка, добавляются перед новыми элементами расширения, добавленными в конец списка.

● Если при добавлении оказывается, что элемент уже был добавлен расширением, то такой элемент пропускается.

● Удаляются элементы, которые были удалены в основной конфигурации по сравнению с сохраненной версией.
Показать
Socradt; Rois; +2 Ответить
7. Rois 22.05.18 14:46 Сейчас в теме
(6) Ясно в общем, наука целая. Посмотрю что будет на деле.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот