|
Расширения. Реквизиты и элементы формы. | ☑ | ||
---|---|---|---|---|
0
LavSug
23.01.20
✎
13:02
|
Ткните носом, что-то туплю.
1. Перенес справочник в расширение. 2. Добавил реквизит справочника. 3. Перенес форму элемента в расширение. 4. Добавил на форму в расширении поле ввода и указал путь к новому реквизиту. 5. Повесил на форму в расширении событие ПриСозданииНаСервере_После. Не могу обратиться через ЭтаФорма ни к своему элементу, ни к своему реквизиту. 6. Повесил на форму в расширении событие ПриОткрытии_После. Не могу обратиться через ЭтаФорма ни к своему элементу, ни к своему реквизиту. Где я туплю? Как мне использовать на форме необходимое мне поле. ПыСы: программно тоже добавлял, не видит и все тут... |
|||
1
LavSug
23.01.20
✎
17:27
|
1. Поставил последнюю платформу 8.3.16.1148
2. Добавил реквизит Объект для заимствованной формы. Не получается обратиться к добавленному элементу.... Что не так-то?!?! |
|||
2
pechkin
23.01.20
✎
17:28
|
что значит "не могу" ?
|
|||
3
LavSug
23.01.20
✎
17:30
|
(2) В обработчике событий формы не могу обратиться к Элементы.МоеПолеРеквизита...
|
|||
4
LavSug
23.01.20
✎
17:30
|
(2) Моего поля нет в списке элементов формы:(
|
|||
5
LavSug
23.01.20
✎
17:32
|
В обработчике ПриОткрытииПеред нет элемента формы Элементы.МоеПолеРеквизита...
|
|||
6
LavSug
23.01.20
✎
17:33
|
Явно где-то я туплю... Режим совместимости конфигурации и расширения 8.3.12...
|
|||
7
LavSug
23.01.20
✎
17:45
|
Если программно пытаюсь добавить 2 раза Элемент с одинаковым именем, оно дает ошибку...
|
|||
8
pechkin
23.01.20
✎
17:47
|
реквизит добавил, а элемент добавил?
|
|||
9
pechkin
23.01.20
✎
17:47
|
имя элемента совпадает с именем реквизита?
|
|||
10
LavSug
23.01.20
✎
17:50
|
(8) да (9) пробовал и так, и так...
В какой момент формируется список элементов? |
|||
11
LavSug
23.01.20
✎
17:51
|
Он видит все элементы конфигурации и не видит элементы расширения (только поля ввода), группы полей расширения видит...
|
|||
12
Фрэнки
23.01.20
✎
18:38
|
(11) имхо, первая ошибка - режим совместимости блокирует тебе возможности более продвинутых платформ.
Но, принципиальная ошибка в том, что реквизит непосредственно добавляется к элементу! Не надо так делать. Создай свой объект. Свяжи свой объект по ссылке с типовым объектом и делай с ним всякую фигню. А разбираться, что там не там расширилось, где какая форма не перешла в форму - оно можно, конечно, только бесперспективно. имхо. |
|||
13
Сияющий в темноте
23.01.20
✎
18:46
|
проще или программно добавлять при создании или использовать доп.реквтзиты.
|
|||
14
LavSug
23.01.20
✎
21:44
|
(13) В какой процедуре? ПриСозданииНаСервере?
|
|||
15
LavSug
23.01.20
✎
22:22
|
(11) Декорации тоже показывает
|
|||
16
LavSug
23.01.20
✎
22:27
|
Если реквизит добавить к форме в расширении и привязать к нему элемент, то обращение проходит. Не работает когда путькданным вида "Объект.Реквизит"... из-за чего это может быть?
|
|||
17
KoZuB
24.01.20
✎
02:27
|
(1) Что значит "добавил реквизит Объект"? Вручную ввел? Или заимствовал?
|
|||
18
Сергиус
24.01.20
✎
02:52
|
(0)В структуре реквизитов формы в Объект, если раскрыть его состав, твой реквизит присутствует?
|
|||
19
Сергиус
24.01.20
✎
02:53
|
+(18) Скорее всего его там нет, судя по (16). Попробуй тогда на Объект, правой клавишей мыши, Добавить в расширение.
|
|||
20
LavSug
24.01.20
✎
08:56
|
(18) Есть... Более того, в отладчике к реквизиту обратиться можно. А к элементу нельзя...
|
|||
21
Фрэнки
24.01.20
✎
09:02
|
(20) то, что в отладчике можно - это ни разу не показательно. Отладчик работает в контексте исполнения.
А тебя работа просто в толстом клиенте в конфигураторе, средствами конфигуратора и конструкторами конфигуратора - что-то эти конструкторы видят, что-то не видят. Что там выше о режимах совместимости установленных для основной базы и для расширения было? 8.3.12 - вроде нормально. Может оно в своих версиях формы запуталось. Если совсем ничего не понятно, то воспроизвести можно всю нужную последовательность в чистой базе "с нуля". Т.е. чтоб ошибку диагностировать, нужно ее попытаться воспроизвести. Зачастую в этом воспроизведении выявляются какие-то глюки или фичи неочевидные |
|||
22
LavSug
24.01.20
✎
09:11
|
(21) Не, ну к моим добавленным элементам формы и в отладчике обратиться не дает... А к реквизитам моим же дает...
Пока диагностировал, что проблема проявляется, когда ПутьКДанным содержит обращение к реквизитам объекта, которые добавлены в расширении... То есть с добавленными реквизитами самой формы проблем нет... А вот как только ПутьКДанным = "Объект.НовыйРеквизит", так сразу мимо... Объект добавлял через "Добавить в расширение". Форму удалял, добавлял заново, потом объект... Не помогает... Оно контекст объекта при заполнении элементов расширенной формы похоже берет оригинальный, а не из расширения... |
|||
23
LavSug
24.01.20
✎
09:13
|
(22) Единственное, что не пробовал, так это полностью удалить справочник из расширения и заново добавить... Так как изначально добавлял на платформе 8.3.13, а потом перешел на 8.3.16. Может какие связи не дописались.
|
|||
24
Фрэнки
24.01.20
✎
09:17
|
(23) А ты вообще наслышан о ситуации, что если на такую базу, в которой есть Расширение с добавленными к типовыми объектам реквизитам, натравить ТИИ, то она похерит всю внесенную в реквизитах инфу?
|
|||
25
LavSug
24.01.20
✎
09:18
|
(24) Наслышан... Сам не пробовал пока. Но при желании...
|
|||
26
Фрэнки
24.01.20
✎
09:27
|
(25) Вот я про себя так скажу - использую Расширения в разработке в приоритете. Но при необходимости внесения в базу новой информации, даже к уже существующим объектам, либо использую типовые возможности (допсведения и допреквизиты (которые в табчастях справочников сидят)), либо новые объекты в расширении делаю со ссылками на существующие типовые объекты базы. Состав реквизитов у типовых объектов непосредственно не расширяю.
|
|||
27
LavSug
24.01.20
✎
09:48
|
(26) То есть делаешь типа РасшСправочник... У него реквизит РасшСправочник.ОригинальныйСправочникСсылка ? И на форме ОригинальныйСправочник.ФормаЭлемента, например, в расширении обыгрываешь это все?
|
|||
28
LavSug
24.01.20
✎
11:33
|
Продолжение истории...
В расширении формы ПриСозданииНаСервере программно добавил реквизиты и элементы. Назначил им обработчик действия. Они появились на форме. Но когда срабатывает обработчик, то в элементах опять нет моих элементов... |
|||
29
LavSug
24.01.20
✎
11:37
|
(28) Смущает то, что элементы формы я добавляю на сервере, а не видно их на клиенте...
|
|||
30
PowerBoy
24.01.20
✎
12:23
|
(0)Права на справочник дал по роли расширения?
|
|||
31
Фрэнки
24.01.20
✎
12:32
|
(27) как-то так. Или не справочник, а регистр сведений в расширении. Но это при условии, что у него нет готовой таб части Дополнительные реквизиты.
У самых нужных в разработке справочников подобные табчасти в типовых уже указаны. |
|||
32
LavSug
24.01.20
✎
12:41
|
(30) Права дал...
|
|||
33
LavSug
24.01.20
✎
12:42
|
(31) Дополнительные реквизиты использую... А как их в нужные места формы доставать? Как раз в расширении?
|
|||
34
Жан Пердежон
24.01.20
✎
12:50
|
через ЭтотОбъект тоже не катит?
|
|||
35
LavSug
24.01.20
✎
13:16
|
(34) В каком смысле? Не понял... ЭтотОбъект.Форма?
|
|||
36
LavSug
24.01.20
✎
13:34
|
Еще раз убедился... Элемент создается в заимствованной форме расширения только если он не ссылается на добавленный в расширении реквизит объекта...
То есть, если ПутьКДанным = "МойРеквизит", то элемент создается автоматически. Если ПутьКДанным = "Объект.МойРеквизит", то элемент НЕ создается автоматически. Этому есть какое-нибудь логическое объяснение? |
|||
37
LavSug
24.01.20
✎
13:35
|
(34) (35) ЭтотОбъект.Элементы тоже не содержит требуемого элемента...
|
|||
38
LavSug
24.01.20
✎
14:24
|
(31) Пойду по этому пути...
|
|||
39
LavSug
27.01.20
✎
18:56
|
Все-таки не понимаю... Почему в расширениях даже при программном добавлении элементов на заимствованную форму в серверной процедуре ПриОткрытииНаСервере эти элементы не попадают в список элементов формы в процедуре ПриОткрытии?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |