|
Программная модификация формы (способы) | ☑ | ||
---|---|---|---|---|
0
live in sky dreams
29.05.17
✎
16:26
|
Есть потребность кое что в стандартной форме поступления товаров услуг (Бух 3.0) дополнить "реквизитом". Ну и, соответственно, подправить проведение документа в зависимости от значения этого "реквизита".
И, если проведение можно подправить (дополнить движениями) через подписку, то как нарисовать на форме нужные элементы не затрагивая стандартных элементов поставки - не ясно. Работа ведется как в толстом, так и в тонком клиенте, по этому модифицировать форму через ОбработкаПолученияФормы(..) не всегда удастся, просто в режиме тонкого клиента я ее в этой процедуре не получу никак в силу невозможности интерактива. Править стандартные механизмы очень не хотелось бы, как запасной вариант - можно создать свою форму и подсовывать ее вместо стандартной, но... при обновлении придется таскать изменения из поставки в свою форму ручками. Есть ли возможность при работе и в тонком и в толстом клиенте "рисовать на форме"? |
|||
1
Ц_У
29.05.17
✎
16:28
|
(0) УФ - обрисуйся, везде где есть интерфейс.
|
|||
2
aleks_default
29.05.17
✎
16:30
|
Расширения?
|
|||
3
live in sky dreams
29.05.17
✎
17:19
|
(1)я не понял... это что? объешься везде где есть еда, обкупайся везде где есть вода?
Я понимаю, что имея контекст формы можно на ней "рисовать". Но подписки "ПриСозданииФормыНаСервере" я не нахожу в системе, как например ОбработкаПолученияФормы которая отрабатывает на сервере и внутри нее в режиме тонкого клиента с формой ничего не сделать. Прежде чем стандартную поставку корявкать, я хочу попытаться обойтись без правки оной дополнениями\подпиской. (2)можно подробнее? Буду благодарен, если ткнете в пример |
|||
4
Dmitrii
гуру
29.05.17
✎
17:22
|
(3) Расширение конфигурации
https://its.1c.ru/db/v838doc#bookmark:dev:TI000001513 |
|||
5
live in sky dreams
29.05.17
✎
17:28
|
(2)(4) спасибо! Пошел изучать
|
|||
6
aleks_default
29.05.17
✎
17:35
|
Возникнет проблема с передачей значения доп. реквизита из формы в модуль объекта - обращайся.
|
|||
7
Ц_У
29.05.17
✎
17:35
|
(3) ПриСозданииНаСервере у модуля формы чем не устраивает?
|
|||
8
live in sky dreams
29.05.17
✎
17:43
|
(6) замётано!
(7) Тем, что изменения вносятся в основную конфигурацию. Её (конфигурацию), я так смотрю, тут итак жизнь побила... Я хотел бы переписать некоторые доработки предшественников. Было бы странно с моей стороны с такими планами еще более модифицировать конфу :) На фирме 16 баз, везде доработки разнятся, весь этот зоопарк вручную крыжить\обновлять ночами не улыбается :) |
|||
9
Вафель
29.05.17
✎
17:45
|
я предпочитаю юзать
СобытияФорм.ПриСозданииНаСервере() |
|||
10
h-sp
29.05.17
✎
17:52
|
(8) но ведь это дебилизм программно изменять управляемую форму. Программно изменяли обычные формы. Чтобы они как бы стали похожи на управляемые.
|
|||
11
aleks_default
29.05.17
✎
17:55
|
(10)Значит большинство типовых писали дебилы? Ну в чем-то согласен...
|
|||
12
DSSS
29.05.17
✎
17:58
|
в БП 3.0 если много форм меняется типовых можно добавить единственный вызов в ВерсионированиеОбъектов.ПриСозданииНаСервере() и мменять уже тут. Без замочка будет только один объект вместо многих.
|
|||
13
DSSS
29.05.17
✎
17:59
|
а вообще правильный ответ в (4)
|
|||
14
live in sky dreams
29.05.17
✎
17:59
|
(9)к сожалению, в БП 3.0 из коробки этого нет..
(10) присоединюсь к (11), но пока другого способа реализовать хотелки пользователей и не превратить свою работу в ад и недосыпы в текущей задаче не знаю. Вот сейчас буду познавать неизведанное (расширения). Есть надежда, что они облегчат задачу. |
|||
15
Ц_У
29.05.17
✎
17:59
|
(10) не согласен, удобно создавать реквизит когда не знаешь какого типа прилетит значение, а тут налету создал нужный реквизит и все.
|
|||
16
DSSS
29.05.17
✎
18:02
|
(10)>> но ведь это дебилизм программно изменять управляемую форму
в основном так говорят люди, не очень знакомые с регулярными обновлениями переписанных конфигураций. |
|||
17
h-sp
29.05.17
✎
18:05
|
(16) переписывать программные нагромождения при минимальных обновлениях типовой формы каждый раз легко?
|
|||
18
Мыш
29.05.17
✎
18:06
|
(14) > Есть надежда, что они облегчат задачу
Надежды юношей питают ) Текущую задачу они облегчат, да. Но при следующих обновлениях будет как и в (0) > при обновлении придется таскать изменения из поставки в свою форму ручками. Только таскать изменения придется в свою форму из расширения. |
|||
19
live in sky dreams
29.05.17
✎
18:11
|
(12) Круто, работает... Спасибо!!!
(18) ээээ.. не понял.. То есть работа с расширениями по трудозатратам на обновления ничем не отличается от варианта с правкой основной конфы? В чем тогда упрощение? |
|||
20
DSSS
29.05.17
✎
18:13
|
(17) зачем их переписывать? в 99% случаев - это новый код, который легко переносится при объединении.
|
|||
21
Мыш
29.05.17
✎
18:18
|
(19) На мой взгляд трудозатрат больше при варианте с расширением. Обновили основную конфигурацию, затем начинаем анализировать ручками, какие изменения затронули формы, поправленные в расширение. Заново заимствуем формы, проводим ревизию кода. И всё ручками, ручками. )
Упрощение - в процессе доработки без оглядки на последующие обновления. |
|||
22
live in sky dreams
29.05.17
✎
18:27
|
(19) Я чет как то иначе себе это представил.
Вот тут: После того, как форма добавлена в расширение, визуально она выглядит точно так, как эта же форма выглядит в расширяемой конфигурации в момент добавления ее в расширение. При этом модуль расширяющей формы пустой. В момент добавления конфигуратор «запоминает» добавляемую форму в расширении. В дальнейшем такая форма будет называться сохраненной. Расширяемая форма автоматически не синхронизируется с расширением. Как следствие, изменение расширяемой формы никак не отражается в расширяющей форме (в режиме Конфигуратора). В том случае, если прикладному разработчику необходимо обновить форму в расширении, ему следует использовать команду Расширения – Обновить расширение формы редактора формы. Обновление может потребоваться в том случае, если необходимо перенести в расширения изменения и дополнения, которые выполнены в расширяемой конфигурации после создания расширения формы. как мне показалось, написано: - псс, парень, если гуя "перерисована" разрабами - просто подлей эти изменения во взаимствованую форму, а в модуле формы, где ты рисуешь свои элементы, ниче менять не придется, если родительские контейнеры элементов не "испарились". После последней итерации обновления глянь чтобы твои рисовашки не покосили ничего нового из конфы поставщика и ложись спатки. Разве нет? Это же проще, чем крыжить и таскать все модифицированные\добавленные элементы при каждой итерации обновления... |
|||
23
Ц_У
29.05.17
✎
18:31
|
(22) не тащи реквизиты, форма будет лысая, а тебе, по факту, только модуль интересен
|
|||
24
Мыш
29.05.17
✎
18:32
|
(22) > если гуя "перерисована" разрабами - просто
И после слова "просто" длинное перечисление действий ) Я лучше "просто" в отдельном общем модуле проверю свои "рисовашки" ))) |
|||
25
live in sky dreams
29.05.17
✎
18:35
|
(23) а, и так можно? В итоге у меня не будет только лысая форма? или там по принципу слияния все происходит? не дочитал еще до конца...
(24)по сравнению с тем, через какие круги ада я прохожу сейчас, поверь, это ПРОСТО!!! ))))) |
|||
26
Мыш
29.05.17
✎
18:38
|
(25) Меняешь шило на мыло, имхо )
|
|||
27
live in sky dreams
31.05.17
✎
09:39
|
(23) так не получается.. в расширение тащится все, что касается формы. Ее реквизиты, связи с ней и с самим объектом. Если снесу элементы формы - будет ошибка компиляции, так как удаленный элемент формы - это изменение по сравнению с расширяемым элементом, если так можно выразиться. И, соответственно, это изменение при слиянии имеет бОльший приоритет. В итоге я получу форму без элементов но с кучей ссылок на них из формы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |