|
Открытие формы из поля табличной части документа с выпадающего списка
Хряк, Доминошник, dnab, RVN, ЕRPe, BlottoYolo, Gennady, maxab72, Волшебник, orakool, DemonShinji2, LienXo, Syroega, Fedor-1971, youalex, CepeLLlka, formista2000, Ненавижу 1С, arsik, sansys, Мультук, Prog_man, yurikmellon2, программистище, okmail, Михаил Козлов, Климов Сергей, mikecool, АгентБезопаснойНацио
| ☑ |
0
Syroega
06.12.24
✎
09:16
|
УТ 10.3. Обычные формы.
У документа Реализация товаров услуг, в табличной части Товары есть не типовое поле. У этого поля есть 1 обработчик события ТоварыРазмерыПорезкиНачалоВыбораИзСписка(), где в одной из процедур заполняется СписокВыбора. Там открываются 2 значения. При выборе верхнего, первого значения, открывается форма калькулятора, рассчитанное значение строкового типа в которой потом возвращается в поле табличной части документа Товары.
Вопрос в том что не понятно каким образом открывается эта форма, если для этого нет никаких обработчиков. И в коде я ничего найти не смог.
Как определить как открывается эта форма? Что бы посмотреть в ней все пересчеты в отладчике.
Форма открывается сразу, и не понятно где можно отловить ее открытие после выбора первого пункта в списке выбора в отладчике.
Подобную форму я нашел только в режиме предприятия, в справочнике внешние обработки. И то она там открывается со скрытыми элементами. Сохранив же ее на диск, я увидел что она подобна той что открывается при выборе первого пункта списка выбора в поле табличной части товары.
Как такое может быть что нет никаких инструкций что открывается и как. Может ли это быть формой внешней обработки, из справочника внешние обработки? Если так то как все же она открывается в коде?
|
|
1
mikecool
06.12.24
✎
09:20
|
ОткрытьЗначение() , а значение - число
мб
|
|
2
maxab72
06.12.24
✎
09:23
|
Смотреть отладчик. Я бы проверил событие "ПриАктивизацииЯчейки" табличного поля.
|
|
3
Syroega
06.12.24
✎
09:33
|
(1) Как понимаю это должно быть в модуле формы документа Реализация товаров услуг. Поиском я не нашел там такой инструкции. Получается не оно.
(2) Данная процедура не задействована (.
Не понимаю, что мне смотреть дальше и как найти выход, решение этого вопроса. Что бы не было ничего и открывалась какая то форма сама по себе, такого же не может быть. Тем не менее я не могу найти код, того что это открывает. Так же как и не пойму что именно за форма открывается. Если это внешняя обработка из справочника внешние обработки, как она может открываться то, из поля документа при выборе первого значения из раскрывающегося списка выбора?
|
|
4
maxab72
06.12.24
✎
09:44
|
(3) Отладчик и стек вызовов функций/процедур.
|
|
5
Ненавижу 1С
06.12.24
✎
09:46
|
(0) возможно программная подписка на событие поля. Посмотри какие есть события через отладчик
|
|
6
CepeLLlka
06.12.24
✎
09:50
|
(0)ПоказатьВводЧисла()?
|
|
7
Syroega
06.12.24
✎
10:07
|
(4) Так я все пробовал, ничего не нашел. В отладчике и смотрю. Стек вызовов наверное не затрагивал ещё.
(5) Так я это и пересмотрел все. У табличной части, и у самого поля, все события перебрал ничего не нашел.
Подписки так же смотрел, тоже ничего не нашел.
(6) Там же форма открывается, сделанная в конфигураторе. С табличными полями и надписями из номенклатуры. При заполнении строк тч, срабатывает калькулятор пересчета, и форматированное значение возвращается в поле табличной части.
Что это за форма, с которой это делается, для меня по прежнему загадка.
|
|
8
CepeLLlka
06.12.24
✎
10:23
|
(7)Когда запущена отладка, то в режиме предприятия, в нужной вам форме справа сверху, по нажатию на 3 точки можно выбрать пункт меню - "Открыть в конфигураторе", попробуйте воспользоваться этой кнопкой.
|
|
9
Syroega
06.12.24
✎
10:36
|
(8) Это в управляемом приложении, в управляемых формах.
УТ 10.3, это обычное приложение, обычные формы. Там нет таких возможностей.
|
|
10
maxab72
06.12.24
✎
10:38
|
(9) искать форму можно разными способами, например по характерному тексту на форме.
|
|
11
Syroega
06.12.24
✎
15:07
|
Выяснил. Это та обработка из справочника «Внешние обработки».
И есть, где она вызывается в коде.
Не понял с начала всё это.
Получается, чтобы ее тестировать, нужно сохранить ее как внешнюю и отлаживать по принципу отладки внешних печатных форм.
Так же? Из документа при вызове из поля строки табличной части, если я нашел, как это вызывается, тестировать ее не получится, так же? Она сохраняется куда-то во временные файлы, что ли.
|
|
12
RVN
06.12.24
✎
12:26
|
(9)
1. Открыть документ в предприятии.
2. В отладчике запустить замер производительности
3. В предприятии, в открытом документе, открыть эту форму и потупить там минутку
4. Остановить замер производительности и посмотреть там по длительности вызова процедур.
|
|
13
RVN
06.12.24
✎
12:29
|
(11) >Из документа, при вызове из поля строки табличной части, если я нашел как это вызывается, тестировать ее не получится, так же? Она сохраняется куда то во временные файлы что ли.
1. Сохрани ее в нужное место.
2. в коде, где обработка сохраняется во врем. файл временно пропиши открытие из нужного места п1.
и тогда вроде вполне можно нормально отлаживать
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший